@social-mail/social-mail-client 1.9.10 → 1.9.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/AdminAppIndex.pack.global.css +1 -1
- package/dist/admin/AdminAppIndex.pack.global.css.map +1 -1
- package/dist/admin/AdminAppIndex.pack.js +8 -14
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/common/controls/file-preview/FilePreview.global.css +1 -1
- package/dist/public/channel/ChannelApp.pack.global.css +1 -1
- package/dist/public/channel/ChannelApp.pack.global.css.map +1 -1
- package/dist/public/channel/ChannelApp.pack.js +8 -14
- package/dist/public/channel/ChannelApp.pack.js.map +1 -1
- package/dist/public/channel/ChannelApp.pack.min.js +1 -1
- package/dist/public/channel/ChannelApp.pack.min.js.map +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.global.css +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.global.css.map +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.js +8 -14
- package/dist/site-editor-app/SiteEditorApp.pack.js.map +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.min.js +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.min.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.global.css +1 -1
- package/dist/web/AppIndex.pack.global.css.map +1 -1
- package/dist/web/AppIndex.pack.js +8 -14
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +1 -1
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/dist/web/page/mails/service/ConversationService.d.ts.map +1 -1
- package/dist/web/page/mails/service/ConversationService.js +8 -14
- package/dist/web/page/mails/service/ConversationService.js.map +1 -1
- package/dist/web/page/mails/service/MsgStyle.global.css +1 -1
- package/dist/web/page/mails/service/MsgStyle.global.css.map +1 -1
- package/package.json +1 -1
- package/src/common/controls/file-preview/FilePreview.global.css +2 -2
- package/src/web/page/mails/service/ConversationService.tsx +5 -10
- package/src/web/page/mails/service/MsgStyle.global.css +2 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};function setupTSLib(){var __extends;var __assign;var __rest;var __decorate;var __param;var __esDecorate;var __runInitializers;var __propKey;var __setFunctionName;var __metadata;var __awaiter;var __generator;var __exportStar;var __values;var __read;var __spread;var __spreadArrays;var __spreadArray;var __await;var __asyncGenerator;var __asyncDelegator;var __asyncValues;var __makeTemplateObject;var __importStar;var __importDefault;var __classPrivateFieldGet;var __classPrivateFieldSet;var __classPrivateFieldIn;var __createBinding;var __addDisposableResource;var __disposeResources;var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};__extends=function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)};__assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};__rest=function(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t};__decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__esDecorate=function(ctor,descriptorIn,decorators,contextIn,initializers,extraInitializers){function accept(f){if(f!==void 0&&typeof f!=="function")throw new TypeError("Function expected");return f}var kind=contextIn.kind,key=kind==="getter"?"get":kind==="setter"?"set":"value";var target=!descriptorIn&&ctor?contextIn["static"]?ctor:ctor.prototype:null;var descriptor=descriptorIn||(target?Object.getOwnPropertyDescriptor(target,contextIn.name):{});var _,done=false;for(var i=decorators.length-1;i>=0;i--){var context={};for(var p in contextIn)context[p]=p==="access"?{}:contextIn[p];for(var p in contextIn.access)context.access[p]=contextIn.access[p];context.addInitializer=function(f){if(done)throw new TypeError("Cannot add initializers after decoration has completed");extraInitializers.push(accept(f||null))};var result=(0,decorators[i])(kind==="accessor"?{get:descriptor.get,set:descriptor.set}:descriptor[key],context);if(kind==="accessor"){if(result===void 0)continue;if(result===null||typeof result!=="object")throw new TypeError("Object expected");if(_=accept(result.get))descriptor.get=_;if(_=accept(result.set))descriptor.set=_;if(_=accept(result.init))initializers.unshift(_)}else if(_=accept(result)){if(kind==="field")initializers.unshift(_);else descriptor[key]=_}}if(target)Object.defineProperty(target,contextIn.name,descriptor);done=true};__runInitializers=function(thisArg,initializers,value){var useValue=arguments.length>2;for(var i=0;i<initializers.length;i++){value=useValue?initializers[i].call(thisArg,value):initializers[i].call(thisArg)}return useValue?value:void 0};__propKey=function(x){return typeof x==="symbol"?x:"".concat(x)};__setFunctionName=function(f,name,prefix){if(typeof name==="symbol")name=name.description?"[".concat(name.description,"]"):"";return Object.defineProperty(f,"name",{configurable:true,value:prefix?"".concat(prefix," ",name):name})};__metadata=function(metadataKey,metadataValue){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(metadataKey,metadataValue)};__awaiter=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};__generator=function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}};__exportStar=function(m,o){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(o,p))__createBinding(o,m,p)};__createBinding=Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]};__values=function(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")};__read=function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};__spread=function(){for(var ar=[],i=0;i<arguments.length;i++)ar=ar.concat(__read(arguments[i]));return ar};__spreadArrays=function(){for(var s=0,i=0,il=arguments.length;i<il;i++)s+=arguments[i].length;for(var r=Array(s),k=0,i=0;i<il;i++)for(var a=arguments[i],j=0,jl=a.length;j<jl;j++,k++)r[k]=a[j];return r};__spreadArray=function(to,from,pack){if(pack||arguments.length===2)for(var i=0,l=from.length,ar;i<l;i++){if(ar||!(i in from)){if(!ar)ar=Array.prototype.slice.call(from,0,i);ar[i]=from[i]}}return to.concat(ar||Array.prototype.slice.call(from))};__await=function(v){return this instanceof __await?(this.v=v,this):new __await(v)};__asyncGenerator=function(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var g=generator.apply(thisArg,_arguments||[]),i,q=[];return i={},verb("next"),verb("throw"),verb("return",awaitReturn),i[Symbol.asyncIterator]=function(){return this},i;function awaitReturn(f){return function(v){return Promise.resolve(v).then(f,reject)}}function verb(n,f){if(g[n]){i[n]=function(v){return new Promise((function(a,b){q.push([n,v,a,b])>1||resume(n,v)}))};if(f)i[n]=f(i[n])}}function resume(n,v){try{step(g[n](v))}catch(e){settle(q[0][3],e)}}function step(r){r.value instanceof __await?Promise.resolve(r.value.v).then(fulfill,reject):settle(q[0][2],r)}function fulfill(value){resume("next",value)}function reject(value){resume("throw",value)}function settle(f,v){if(f(v),q.shift(),q.length)resume(q[0][0],q[0][1])}};__asyncDelegator=function(o){var i,p;return i={},verb("next"),verb("throw",(function(e){throw e})),verb("return"),i[Symbol.iterator]=function(){return this},i;function verb(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:__await(o[n](v)),done:false}:f?f(v):v}:f}};__asyncValues=function(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values==="function"?__values(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise((function(resolve,reject){v=o[n](v),settle(resolve,reject,v.done,v.value)}))}}function settle(resolve,reject,d,v){Promise.resolve(v).then((function(v){resolve({value:v,done:d})}),reject)}};__makeTemplateObject=function(cooked,raw){if(Object.defineProperty){Object.defineProperty(cooked,"raw",{value:raw})}else{cooked.raw=raw}return cooked};var __setModuleDefault=Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v};__importStar=function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result};__importDefault=function(mod){return mod&&mod.__esModule?mod:{default:mod}};__classPrivateFieldGet=function(receiver,state,kind,f){if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a getter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot read private member from an object whose class did not declare it");return kind==="m"?f:kind==="a"?f.call(receiver):f?f.value:state.get(receiver)};__classPrivateFieldSet=function(receiver,state,value,kind,f){if(kind==="m")throw new TypeError("Private method is not writable");if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a setter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot write private member to an object whose class did not declare it");return kind==="a"?f.call(receiver,value):f?f.value=value:state.set(receiver,value),value};__classPrivateFieldIn=function(state,receiver){if(receiver===null||typeof receiver!=="object"&&typeof receiver!=="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof state==="function"?receiver===state:state.has(receiver)};__addDisposableResource=function(env,value,async){if(value!==null&&value!==void 0){if(typeof value!=="object"&&typeof value!=="function")throw new TypeError("Object expected.");var dispose;if(async){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");dispose=value[Symbol.asyncDispose]}if(dispose===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");dispose=value[Symbol.dispose]}if(typeof dispose!=="function")throw new TypeError("Object not disposable.");env.stack.push({value,dispose,async})}else if(async){env.stack.push({async:true})}return value};var _SuppressedError=typeof SuppressedError==="function"?SuppressedError:function(error,suppressed,message){var e=new Error(message);return e.name="SuppressedError",e.error=error,e.suppressed=suppressed,e};__disposeResources=function(env){function fail(e){env.error=env.hasError?new _SuppressedError(e,env.error,"An error was suppressed during disposal."):e;env.hasError=true}function next(){while(env.stack.length){var rec=env.stack.pop();try{var result=rec.dispose&&rec.dispose.call(rec.value);if(rec.async)return Promise.resolve(result).then(next,(function(e){fail(e);return next()}))}catch(e){fail(e)}}if(env.hasError)throw env.error}return next()};return{__extends,__assign,__rest,__decorate,__param,__esDecorate,__runInitializers,__propKey,__setFunctionName,__metadata,__awaiter,__generator,__exportStar,__values,__read,__spread,__spreadArrays,__spreadArray,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet,__classPrivateFieldSet,__classPrivateFieldIn,__createBinding,__addDisposableResource,__disposeResources}}var Reflect;(function(Reflect){(function(factory){const root=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:Function("return this;")();let exporter=makeExporter(Reflect);if(typeof root.Reflect==="undefined"){root.Reflect=Reflect}else{exporter=makeExporter(root.Reflect,exporter)}factory(exporter);function makeExporter(target,previous){return(key,value)=>{if(typeof target[key]!=="function"){Object.defineProperty(target,key,{configurable:true,writable:true,value})}if(previous)previous(key,value)}}})((function(exporter){const hasOwn=Object.prototype.hasOwnProperty;const supportsSymbol=typeof Symbol==="function";const toPrimitiveSymbol=supportsSymbol&&typeof Symbol.toPrimitive!=="undefined"?Symbol.toPrimitive:"@@toPrimitive";const iteratorSymbol=supportsSymbol&&typeof Symbol.iterator!=="undefined"?Symbol.iterator:"@@iterator";const supportsCreate=typeof Object.create==="function";const supportsProto={__proto__:[]}instanceof Array;const downLevel=!supportsCreate&&!supportsProto;const HashMap={create:supportsCreate?()=>MakeDictionary(Object.create(null)):supportsProto?()=>MakeDictionary({__proto__:null}):()=>MakeDictionary({}),has:downLevel?(map,key)=>hasOwn.call(map,key):(map,key)=>key in map,get:downLevel?(map,key)=>hasOwn.call(map,key)?map[key]:undefined:(map,key)=>map[key]};const functionPrototype=Object.getPrototypeOf(Function);const usePolyfill=typeof process==="object"&&process.env&&process.env["REFLECT_METADATA_USE_MAP_POLYFILL"]==="true";const _Map=!usePolyfill&&typeof Map==="function"&&typeof Map.prototype.entries==="function"?Map:CreateMapPolyfill();const _Set=!usePolyfill&&typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:CreateSetPolyfill();const _WeakMap=!usePolyfill&&typeof WeakMap==="function"?WeakMap:CreateWeakMapPolyfill();const Metadata=new _WeakMap;function decorate(decorators,target,propertyKey,attributes){if(!IsUndefined(propertyKey)){if(!IsArray(decorators))throw new TypeError;if(!IsObject(target))throw new TypeError;if(!IsObject(attributes)&&!IsUndefined(attributes)&&!IsNull(attributes))throw new TypeError;if(IsNull(attributes))attributes=undefined;propertyKey=ToPropertyKey(propertyKey);return DecorateProperty(decorators,target,propertyKey,attributes)}else{if(!IsArray(decorators))throw new TypeError;if(!IsConstructor(target))throw new TypeError;return DecorateConstructor(decorators,target)}}exporter("decorate",decorate);function metadata(metadataKey,metadataValue){function decorator(target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey)&&!IsPropertyKey(propertyKey))throw new TypeError;OrdinaryDefineOwnMetadata(metadataKey,metadataValue,target,propertyKey)}return decorator}exporter("metadata",metadata);function defineMetadata(metadataKey,metadataValue,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryDefineOwnMetadata(metadataKey,metadataValue,target,propertyKey)}exporter("defineMetadata",defineMetadata);function hasMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryHasMetadata(metadataKey,target,propertyKey)}exporter("hasMetadata",hasMetadata);function hasOwnMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryHasOwnMetadata(metadataKey,target,propertyKey)}exporter("hasOwnMetadata",hasOwnMetadata);function getMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryGetMetadata(metadataKey,target,propertyKey)}exporter("getMetadata",getMetadata);function getOwnMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryGetOwnMetadata(metadataKey,target,propertyKey)}exporter("getOwnMetadata",getOwnMetadata);function getMetadataKeys(target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryMetadataKeys(target,propertyKey)}exporter("getMetadataKeys",getMetadataKeys);function getOwnMetadataKeys(target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryOwnMetadataKeys(target,propertyKey)}exporter("getOwnMetadataKeys",getOwnMetadataKeys);function deleteMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);const metadataMap=GetOrCreateMetadataMap(target,propertyKey,false);if(IsUndefined(metadataMap))return false;if(!metadataMap.delete(metadataKey))return false;if(metadataMap.size>0)return true;const targetMetadata=Metadata.get(target);targetMetadata.delete(propertyKey);if(targetMetadata.size>0)return true;Metadata.delete(target);return true}exporter("deleteMetadata",deleteMetadata);function DecorateConstructor(decorators,target){for(let i=decorators.length-1;i>=0;--i){const decorator=decorators[i];const decorated=decorator(target);if(!IsUndefined(decorated)&&!IsNull(decorated)){if(!IsConstructor(decorated))throw new TypeError;target=decorated}}return target}function DecorateProperty(decorators,target,propertyKey,descriptor){for(let i=decorators.length-1;i>=0;--i){const decorator=decorators[i];const decorated=decorator(target,propertyKey,descriptor);if(!IsUndefined(decorated)&&!IsNull(decorated)){if(!IsObject(decorated))throw new TypeError;descriptor=decorated}}return descriptor}function GetOrCreateMetadataMap(O,P,Create){let targetMetadata=Metadata.get(O);if(IsUndefined(targetMetadata)){if(!Create)return undefined;targetMetadata=new _Map;Metadata.set(O,targetMetadata)}let metadataMap=targetMetadata.get(P);if(IsUndefined(metadataMap)){if(!Create)return undefined;metadataMap=new _Map;targetMetadata.set(P,metadataMap)}return metadataMap}function OrdinaryHasMetadata(MetadataKey,O,P){const hasOwn=OrdinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return true;const parent=OrdinaryGetPrototypeOf(O);if(!IsNull(parent))return OrdinaryHasMetadata(MetadataKey,parent,P);return false}function OrdinaryHasOwnMetadata(MetadataKey,O,P){const metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return false;return ToBoolean(metadataMap.has(MetadataKey))}function OrdinaryGetMetadata(MetadataKey,O,P){const hasOwn=OrdinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return OrdinaryGetOwnMetadata(MetadataKey,O,P);const parent=OrdinaryGetPrototypeOf(O);if(!IsNull(parent))return OrdinaryGetMetadata(MetadataKey,parent,P);return undefined}function OrdinaryGetOwnMetadata(MetadataKey,O,P){const metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return undefined;return metadataMap.get(MetadataKey)}function OrdinaryDefineOwnMetadata(MetadataKey,MetadataValue,O,P){const metadataMap=GetOrCreateMetadataMap(O,P,true);metadataMap.set(MetadataKey,MetadataValue)}function OrdinaryMetadataKeys(O,P){const ownKeys=OrdinaryOwnMetadataKeys(O,P);const parent=OrdinaryGetPrototypeOf(O);if(parent===null)return ownKeys;const parentKeys=OrdinaryMetadataKeys(parent,P);if(parentKeys.length<=0)return ownKeys;if(ownKeys.length<=0)return parentKeys;const set=new _Set;const keys=[];for(const key of ownKeys){const hasKey=set.has(key);if(!hasKey){set.add(key);keys.push(key)}}for(const key of parentKeys){const hasKey=set.has(key);if(!hasKey){set.add(key);keys.push(key)}}return keys}function OrdinaryOwnMetadataKeys(O,P){const keys=[];const metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return keys;const keysObj=metadataMap.keys();const iterator=GetIterator(keysObj);let k=0;while(true){const next=IteratorStep(iterator);if(!next){keys.length=k;return keys}const nextValue=IteratorValue(next);try{keys[k]=nextValue}catch(e){try{IteratorClose(iterator)}finally{throw e}}k++}}function Type(x){if(x===null)return 1;switch(typeof x){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return x===null?1:6;default:return 6}}function IsUndefined(x){return x===undefined}function IsNull(x){return x===null}function IsSymbol(x){return typeof x==="symbol"}function IsObject(x){return typeof x==="object"?x!==null:typeof x==="function"}function ToPrimitive(input,PreferredType){switch(Type(input)){case 0:return input;case 1:return input;case 2:return input;case 3:return input;case 4:return input;case 5:return input}const hint=PreferredType===3?"string":PreferredType===5?"number":"default";const exoticToPrim=GetMethod(input,toPrimitiveSymbol);if(exoticToPrim!==undefined){const result=exoticToPrim.call(input,hint);if(IsObject(result))throw new TypeError;return result}return OrdinaryToPrimitive(input,hint==="default"?"number":hint)}function OrdinaryToPrimitive(O,hint){if(hint==="string"){const toString=O.toString;if(IsCallable(toString)){const result=toString.call(O);if(!IsObject(result))return result}const valueOf=O.valueOf;if(IsCallable(valueOf)){const result=valueOf.call(O);if(!IsObject(result))return result}}else{const valueOf=O.valueOf;if(IsCallable(valueOf)){const result=valueOf.call(O);if(!IsObject(result))return result}const toString=O.toString;if(IsCallable(toString)){const result=toString.call(O);if(!IsObject(result))return result}}throw new TypeError}function ToBoolean(argument){return!!argument}function ToString(argument){return""+argument}function ToPropertyKey(argument){const key=ToPrimitive(argument,3);if(IsSymbol(key))return key;return ToString(key)}function IsArray(argument){return Array.isArray?Array.isArray(argument):argument instanceof Object?argument instanceof Array:Object.prototype.toString.call(argument)==="[object Array]"}function IsCallable(argument){return typeof argument==="function"}function IsConstructor(argument){return typeof argument==="function"}function IsPropertyKey(argument){switch(Type(argument)){case 3:return true;case 4:return true;default:return false}}function GetMethod(V,P){const func=V[P];if(func===undefined||func===null)return undefined;if(!IsCallable(func))throw new TypeError;return func}function GetIterator(obj){const method=GetMethod(obj,iteratorSymbol);if(!IsCallable(method))throw new TypeError;const iterator=method.call(obj);if(!IsObject(iterator))throw new TypeError;return iterator}function IteratorValue(iterResult){return iterResult.value}function IteratorStep(iterator){const result=iterator.next();return result.done?false:result}function IteratorClose(iterator){const f=iterator["return"];if(f)f.call(iterator)}function OrdinaryGetPrototypeOf(O){const proto=Object.getPrototypeOf(O);if(typeof O!=="function"||O===functionPrototype)return proto;if(proto!==functionPrototype)return proto;const prototype=O.prototype;const prototypeProto=prototype&&Object.getPrototypeOf(prototype);if(prototypeProto==null||prototypeProto===Object.prototype)return proto;const constructor=prototypeProto.constructor;if(typeof constructor!=="function")return proto;if(constructor===O)return proto;return constructor}function CreateMapPolyfill(){const cacheSentinel={};const arraySentinel=[];class MapIterator{constructor(keys,values,selector){this._index=0;this._keys=keys;this._values=values;this._selector=selector}"@@iterator"(){return this}[iteratorSymbol](){return this}next(){const index=this._index;if(index>=0&&index<this._keys.length){const result=this._selector(this._keys[index],this._values[index]);if(index+1>=this._keys.length){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}else{this._index++}return{value:result,done:false}}return{value:undefined,done:true}}throw(error){if(this._index>=0){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}throw error}return(value){if(this._index>=0){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}return{value,done:true}}}return class Map{constructor(){this._keys=[];this._values=[];this._cacheKey=cacheSentinel;this._cacheIndex=-2}get size(){return this._keys.length}has(key){return this._find(key,false)>=0}get(key){const index=this._find(key,false);return index>=0?this._values[index]:undefined}set(key,value){const index=this._find(key,true);this._values[index]=value;return this}delete(key){const index=this._find(key,false);if(index>=0){const size=this._keys.length;for(let i=index+1;i<size;i++){this._keys[i-1]=this._keys[i];this._values[i-1]=this._values[i]}this._keys.length--;this._values.length--;if(key===this._cacheKey){this._cacheKey=cacheSentinel;this._cacheIndex=-2}return true}return false}clear(){this._keys.length=0;this._values.length=0;this._cacheKey=cacheSentinel;this._cacheIndex=-2}keys(){return new MapIterator(this._keys,this._values,getKey)}values(){return new MapIterator(this._keys,this._values,getValue)}entries(){return new MapIterator(this._keys,this._values,getEntry)}"@@iterator"(){return this.entries()}[iteratorSymbol](){return this.entries()}_find(key,insert){if(this._cacheKey!==key){this._cacheIndex=this._keys.indexOf(this._cacheKey=key)}if(this._cacheIndex<0&&insert){this._cacheIndex=this._keys.length;this._keys.push(key);this._values.push(undefined)}return this._cacheIndex}};function getKey(key,_){return key}function getValue(_,value){return value}function getEntry(key,value){return[key,value]}}function CreateSetPolyfill(){return class Set{constructor(){this._map=new _Map}get size(){return this._map.size}has(value){return this._map.has(value)}add(value){return this._map.set(value,value),this}delete(value){return this._map.delete(value)}clear(){this._map.clear()}keys(){return this._map.keys()}values(){return this._map.values()}entries(){return this._map.entries()}"@@iterator"(){return this.keys()}[iteratorSymbol](){return this.keys()}}}function CreateWeakMapPolyfill(){const UUID_SIZE=16;const keys=HashMap.create();const rootKey=CreateUniqueKey();return class WeakMap{constructor(){this._key=CreateUniqueKey()}has(target){const table=GetOrCreateWeakMapTable(target,false);return table!==undefined?HashMap.has(table,this._key):false}get(target){const table=GetOrCreateWeakMapTable(target,false);return table!==undefined?HashMap.get(table,this._key):undefined}set(target,value){const table=GetOrCreateWeakMapTable(target,true);table[this._key]=value;return this}delete(target){const table=GetOrCreateWeakMapTable(target,false);return table!==undefined?delete table[this._key]:false}clear(){this._key=CreateUniqueKey()}};function CreateUniqueKey(){let key;do{key="@@WeakMap@@"+CreateUUID()}while(HashMap.has(keys,key));keys[key]=true;return key}function GetOrCreateWeakMapTable(target,create){if(!hasOwn.call(target,rootKey)){if(!create)return undefined;Object.defineProperty(target,rootKey,{value:HashMap.create()})}return target[rootKey]}function FillRandomBytes(buffer,size){for(let i=0;i<size;++i)buffer[i]=Math.random()*255|0;return buffer}function GenRandomBytes(size){if(typeof Uint8Array==="function"){if(typeof crypto!=="undefined")return crypto.getRandomValues(new Uint8Array(size));if(typeof msCrypto!=="undefined")return msCrypto.getRandomValues(new Uint8Array(size));return FillRandomBytes(new Uint8Array(size),size)}return FillRandomBytes(new Array(size),size)}function CreateUUID(){const data=GenRandomBytes(UUID_SIZE);data[6]=data[6]&79|64;data[8]=data[8]&191|128;let result="";for(let offset=0;offset<UUID_SIZE;++offset){const byte=data[offset];if(offset===4||offset===6||offset===8)result+="-";if(byte<16)result+="0";result+=byte.toString(16).toLowerCase()}return result}}function MakeDictionary(obj){obj.__=undefined;delete obj.__;return obj}}))})(Reflect||(Reflect={}));if(!Array.prototype.find){Array.prototype.find=function(predicate,thisArg){for(let i=0;i<this.length;i++){const item=this[i];if(predicate(item,i,this)){return item}}}}if(!Array.prototype.findIndex){Array.prototype.findIndex=function(predicate,thisArg){for(let i=0;i<this.length;i++){const item=this[i];if(predicate(item,i,this)){return i}}return-1}}if(!Array.prototype.map){Array.prototype.map=function(callbackfn,thisArg){const a=[];for(let i=0;i<this.length;i++){const r=callbackfn(this[i],i,this);if(r!==undefined){a.push(r)}}return a}}if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,endPosition){const index=this.indexOf(searchString,endPosition);return index===0}}if(!String.prototype.endsWith){String.prototype.endsWith=function(searchString,endPosition){const index=this.lastIndexOf(searchString,endPosition);if(index===-1){return false}const l=this.length-index;return l===searchString.length}}if(!Number.parseInt){Number.parseInt=function(n){return Math.floor(parseFloat(n))}}if(!Number.parseFloat){Number.parseFloat=function(n){return parseFloat(n)}}if(typeof Element!=="undefined"){if(!("remove"in Element.prototype)){Element.prototype["remove"]=function(){if(this.parentNode){this.parentNode.removeChild(this)}}}}const currentModuleSymbol=Symbol("currentModule");class Module{get url(){const u=AmdLoader.instance.resolveSource(this.name);Object.defineProperty(this,"url",{value:u,enumerable:true});return u}get meta(){return{url:this.url,resolve:this.require.resolve}}get filename(){return this.name}constructor(name,folder){this.name=name;this.folder=folder;this.emptyExports={};this.packed=false;this.isLoaded=false;this.isResolved=false;this.dependencies=[];this.rID=null;const index=name.lastIndexOf("/");if(index===-1){this.folder=""}else{this.folder=name.substring(0,index)}this.exports=this.emptyExports}import(name){const resolvedName=this.require.resolve(name);return AmdLoader.instance.import(resolvedName)}addDependency(d){this.dependencies.push(d);if(UMD.debug){if(d.isDependentOn(this)){console.warn(`${d.name} already depends on ${this.name}`)}}}getExports(){if(this.factory){try{const factory=this.factory;this.factory=null;delete this.factory;AmdLoader.instance.currentStack.push(this);const result=factory(this.require,this.exports);if(result){if(typeof result==="object"||typeof result==="function"){this.exports=result;if(typeof result.default==="undefined"){result.default=result}}else if(!this.exports.default){this.exports.default=result}}AmdLoader.instance.currentStack.pop();delete this.factory;const def=this.exports.default;if(typeof def==="function"||typeof def==="object"){def[UMD.nameSymbol]=this.name}}catch(e){const em=e.stack?`${e}\n${e.stack}`:e;const s=[];console.error(e);for(const iterator of AmdLoader.instance.currentStack){s.push(iterator.name);console.error(iterator.name)}const ne=new Error(`Failed loading module ${this.name} with error ${em}\nDependents: ${s.join("\n\t")}`);console.error(ne);throw ne}}return this.exports}isDependentOn(m,visited){visited!==null&&visited!==void 0?visited:visited=new Set;visited.add(this);for(const iterator of this.dependencies){if(iterator===m){return true}if(visited.has(iterator)){continue}if(iterator.isDependentOn(m,visited)){return true}}return false}}Module.nextID=1;var _a,_b,_c;var _d,_e;if(typeof require!=="undefined"){md=require("module").Module}const promiseDone=Promise.resolve(0);(_a=(_d=Symbol).dispose)!==null&&_a!==void 0?_a:_d.dispose=Symbol("dispose");(_b=(_e=Symbol).asyncDispose)!==null&&_b!==void 0?_b:_e.asyncDispose=Symbol("asyncDispose");class AmdLoader{constructor(){this.root=null;this.defaultUrl=null;this.currentStack=[];this.nodeModules=[];this.modules=new Map;this.pathMap=new Map;this.mockTypes=[]}register(packages,modules){for(const iterator of packages){if(!this.pathMap.has(iterator)){this.map(iterator,"/")}}for(const iterator of modules){this.get(iterator)}}setupRoot(root,url){if(url.endsWith("/")){url=url.substring(0,url.length-1)}for(const key of this.pathMap.keys()){const moduleUrl=key===root?url:`${url}/node_modules/${key}`;this.map(key,moduleUrl)}this.defaultUrl=`${url}/node_modules/`}registerModule(name,moduleExports){const m=this.get(name);m.package.url="/";m.exports=Object.assign({__esModule:true},moduleExports);m.loader=promiseDone;m.resolver=()=>Promise.resolve(m.exports);m.isLoaded=true;m.isResolved=true}setup(name){const jsModule=this.get(name);jsModule.packed=true;AmdLoader.current=jsModule}replace(type,name,mock){if(mock&&!this.enableMock){return}const peek=this.currentStack.length?this.currentStack[this.currentStack.length-1]:undefined;name=this.resolveRelativePath(name,peek.name);const rt=new MockType(peek,type,name,mock);rt.replacedModule=this.get(rt.moduleName);rt.replacedModule.postExports=()=>{rt.replaced=rt.replacedModule.getExports()[rt.exportName]};(peek.dynamicImports=peek.dynamicImports||[]).push(rt);this.mockTypes.push(rt)}resolveType(type){const t=this.mockTypes.find((tx=>tx.type===type));return t?t.replaced:type}map(packageName,packageUrl,type="amd",exportVar){let existing=this.pathMap.get(packageName);if(existing){existing.url=packageUrl;existing.exportVar=exportVar;existing.type=type;return existing}existing={name:packageName,url:packageUrl,type,exportVar,version:""};if(packageName==="reflect-metadata"){type="global"}this.pathMap.set(packageName,existing);return existing}resolveSource(name,defExt=".js"){try{if(/^((\/)|((http|https)\:\/\/))/i.test(name)){return name}let path=null;for(const key of this.pathMap.keys()){const packageName=key;if(name.startsWith(packageName)){path=this.pathMap.get(key).url;if(name.length!==packageName.length){if(name[packageName.length]!=="/"){continue}name=name.substring(packageName.length+1)}else{return path}if(path.endsWith("/")){path=path.substring(0,path.length-1)}path=path+"/"+name;const i=name.lastIndexOf("/");const fileName=name.substring(i+1);if(!/\.(js|mjs|jpg|jpeg|gif|png|mp4|mp3|css|less|scss|html|svg|webp|webm|json)$/i.test(fileName)){path=path+defExt}return path}}return name}catch(e){console.error(`Failed to resolve ${name} with error ${JSON.stringify(e)}`);console.error(e)}}resolveRelativePath(name,currentPackage){if(name.charAt(0)!=="."){return name}const tokens=name.split("/");const currentTokens=currentPackage.split("/");currentTokens.pop();while(tokens.length){const first=tokens[0];if(first===".."){currentTokens.pop();tokens.splice(0,1);continue}if(first==="."){tokens.splice(0,1)}break}return`${currentTokens.join("/")}/${tokens.join("/")}`}getPackageVersion(name){let[scope,packageName]=name.split("/",3);let version="";if(scope[0]!=="@"){packageName=scope;scope=""}else{scope+="/"}const versionTokens=packageName.split("@");if(versionTokens.length>1){version=versionTokens[1];name=name.replace("@"+version,"")}packageName=scope+packageName;return{packageName,version,name}}get(name1){let module=this.modules.get(name1);if(!module){const{packageName,version,name}=this.getPackageVersion(name1);module=new Module(name);this.modules.set(name1,module);let pp=this.pathMap.get(packageName);if(!pp){pp={type:"amd",name:packageName,version,url:this.defaultUrl?this.defaultUrl+packageName:undefined};this.pathMap.set(packageName,pp)}module.package=pp;module.require=(n,resolve,reject)=>{let isAsync=false;if(typeof n!=="string"){n=n[0];isAsync=true}const an=this.resolveRelativePath(n,module.name);const resolvedModule=this.get(an);if(isAsync){return this.import(resolvedModule).then(resolve,reject)}const m=resolvedModule.getExports();return m};module.require.resolve=n=>this.resolveRelativePath(n,module.name);this.modules.set(name,module)}return module}import(name){var _a;const module=typeof name==="object"?name:this.get(name);if(module.importPromise){return module.importPromise}const m=this.importNodeModule(module);if(m){return m}return(_a=module.importPromise)!==null&&_a!==void 0?_a:module.importPromise=module.isResolved?Promise.resolve(module.getExports()):this.importAsync(module)}importNodeModule(module){if(typeof require!=="undefined"){const name=module.url;const moduleCode=require("fs").readFileSync(require.resolve(name),"utf8").trim();if(!/^System\.Register/.test(moduleCode)){return Promise.resolve(require(name))}}}importAsync(module){return __awaiter(this,void 0,void 0,(function*(){yield this.load(module);if(module.resolver){return yield module.resolver()}return yield this.resolve(module)}))}resolve(module){return __awaiter(this,void 0,void 0,(function*(){const ds=[];if(UMD.debug){const waiting=module.waiting=[];for(const iterator of module.dependencies){if(iterator.isResolved||iterator.importPromise&&iterator.isDependentOn(module)){continue}waiting.push(iterator);ds.push(this.import(iterator))}}else{for(const iterator of module.dependencies){if(iterator.isResolved||iterator.importPromise&&iterator.isDependentOn(module)){continue}ds.push(this.import(iterator))}}yield Promise.all(ds);const exports=module.getExports();module.isResolved=true;if(module.postExports){module.postExports()}if(module.dynamicImports){for(const iterator of module.dynamicImports){if(iterator.replacedModule.importPromise){continue}yield this.import(iterator.replacedModule)}}return exports}))}load(module){if(module.loader){return module.loader}if(AmdLoader.isJson.test(module.url)){const mUrl=module.url.startsWith(module.package.url)?module.url:module.package.url+module.url;module.loader=new Promise(((resolve,reject)=>{try{AmdLoader.httpTextLoader(mUrl,(r=>{try{module.exports=JSON.parse(r);module.exports.default=module.exports;module.emptyExports=module.exports;module.isLoaded=true;resolve()}catch(e){reject(e)}}),reject)}catch(e1){reject(e1)}}));return module.loader}if(AmdLoader.isCss.test(module.url)){const m={get url(){var _a;let mUrl=!module.url.startsWith(module.package.url)?module.package.url+module.url:module.url;const[_,g1]=(_a=/\.((global|local)[^\.]{0,10})\.(css|less|scss)$/i.exec(mUrl))!==null&&_a!==void 0?_a:[];let segment=g1!==null&&g1!==void 0?g1:"local-high";if(!/^(global|local)/.test(segment)){segment="local-high"}if(!/\.css$/i.test(mUrl)){mUrl+=".css"}if(!module.packed){window.installStyleSheet(mUrl)}return mUrl},toString(){return this.url}};const e={__esModule:true,default:m.url};module.exports=e;module.emptyExports=e;module.loader=promiseDone;module.isLoaded=true;return module.loader}if(AmdLoader.isMedia.test(module.url)){const m={get url(){const mUrl=!module.url.startsWith(module.package.url)?module.package.url+module.url:module.url;Object.defineProperty(m,"url",{value:mUrl,enumerable:true});return mUrl},toString(){return this.url}};const e={__esModule:true,default:m};module.exports=e;module.emptyExports=e;module.loader=promiseDone;module.isLoaded=true;return module.loader}module.loader=new Promise(((resolve,reject)=>{const script=AmdLoader.moduleLoader(module.name,module.url,(()=>{try{AmdLoader.current=module;if(AmdLoader.instance.define){AmdLoader.instance.define();AmdLoader.instance.define=null}if(module.exportVar){module.exports=AmdLoader.globalVar[module.exportVar]}if(AmdLoader.moduleProgress){AmdLoader.moduleProgress(module.name,this.modules,"loading")}module.isLoaded=true;resolve()}catch(e){console.error(e);reject(e)}}),(error=>{reject(error)}));script[currentModuleSymbol]=module}));return module.loader}}AmdLoader.isMedia=/\.(jpg|jpeg|gif|png|mp4|mp3|css|less|scss|html|svg|webp|webm)$/i;AmdLoader.isCss=/\.(css|less|scss)$/i;AmdLoader.isJson=/\.json$/i;AmdLoader.globalVar={};AmdLoader.instance=new AmdLoader;AmdLoader.current=null;const a=AmdLoader.instance;a.map("global","/","global");a.registerModule("global/document",{default:document});a.registerModule("global/window",{default:typeof window!=="undefined"?window:global});a.map("reflect-metadata","/","global");a.registerModule("reflect-metadata",Reflect);AmdLoader.moduleLoader=(name,url,success,error)=>{const script=document.createElement("script");script.type="text/javascript";script.src=url;const s=script;script.onload=s.onreadystatechange=()=>{if(s.readyState&&s.readyState!=="complete"&&s.readyState!=="loaded"){return}script.onload=s.onreadystatechange=null;success()};script.onerror=e=>{error(e)};document.body.appendChild(script);return script};AmdLoader.httpTextLoader=(url,success,error)=>{const xhr=new XMLHttpRequest;xhr.onreadystatechange=e=>{if(xhr.readyState===XMLHttpRequest.DONE){if(xhr.status===200){success(xhr.responseText)}else{error(xhr.responseText)}}};xhr.open("GET",url);xhr.send()};var amdConfig;amdConfig!==null&&amdConfig!==void 0?amdConfig:amdConfig={};(_c=amdConfig.moduleProgress)!==null&&_c!==void 0?_c:amdConfig.moduleProgress=(()=>{if(!document){return(name,p)=>{console.log(`${name} ${p}%`)}}return(name,n,status)=>{}})();AmdLoader.moduleProgress=amdConfig.moduleProgress;var define=(requiresOrFactory,factory,nested)=>{const loader=AmdLoader.instance;const{currentScript}=document;let module;if(currentScript){module=currentScript[currentModuleSymbol];if(module){AmdLoader.current=module}}module!==null&&module!==void 0?module:module=AmdLoader.current;let requires=[];if(typeof requiresOrFactory!=="function"){requires=requiresOrFactory}else{factory=requiresOrFactory}if(!module){factory();return}if(module.factory){return}module.dependencies=[];const args=[];for(const s of requires){if(s==="require"){args.push(module.require);continue}if(s==="exports"){args.push(module.emptyExports);continue}if(/^global/.test(s)){args.push(loader.get(s).exports)}const name=loader.resolveRelativePath(s,module.name);const child=loader.get(name);module.addDependency(child)}module.factory=()=>factory.apply(module,args)};define.amd={};class MockType{constructor(module,type,name,mock,moduleName,exportName){this.module=module;this.type=type;this.name=name;this.mock=mock;this.moduleName=moduleName;this.exportName=exportName;this.name=name=name.replace("{lang}",UMD.lang).replace("{platform}",UMD.viewPrefix);if(name.indexOf("$")!==-1){const tokens=name.split("$");this.moduleName=tokens[0];this.exportName=tokens[1]||tokens[0].split("/").pop()}else{this.moduleName=name;this.exportName="default"}}}const merge=(target,source)=>{for(const key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}};const enumerable=true,configurable=true;class System{static resolve(id){return AmdLoader.instance.resolveSource(id)}static import(name){return AmdLoader.instance.import(name)}static register(nameOrImports,importsOrSetup,setup){var _a,_b;const instance=AmdLoader.instance;const currentModule=(_b=(_a=document.currentScript)===null||_a===void 0?void 0:_a[currentModuleSymbol])!==null&&_b!==void 0?_b:AmdLoader.current;const name=typeof nameOrImports==="string"?nameOrImports:void 0;let imports=importsOrSetup;if(arguments.length===2){imports=nameOrImports;setup=importsOrSetup}const module=name?instance.get(name):currentModule;if(module.packed){for(const d of imports){const absolutePath=module.require.resolve(d);const dm=instance.get(absolutePath);if(/\.(css|less)$/i.test(absolutePath)){dm.packed=true}module.dependencies.push(dm)}}else{for(const d of imports){const absolutePath=module.require.resolve(d);const dm=instance.get(absolutePath);module.dependencies.push(dm)}}module.isLoaded=true;if(module.exportVar){module.exports=AmdLoader.globalVar[module.exportVar]}module.setup=setup;module.loader=promiseDone;const r=module.setup(((key,value)=>{if(typeof key==="object"){merge(module.exports,key);if(!module.exports.default){module.exports.default=module.exports}return module.exports}module.exports[key]=value;return value}),module);module.resolver=()=>__awaiter(this,void 0,void 0,(function*(){const ds=[];const{setters}=r;let isCircularDependency;let index=0;for(const iterator of module.dependencies){const set=setters[index++];if(iterator.isResolved){set(iterator.getExports());continue}const setP=this.import(iterator).then(set);if(iterator.isDependentOn(module)){isCircularDependency=true;continue}ds.push(setP)}yield Promise.all(ds);if(isCircularDependency){yield new Promise((resolve=>setTimeout(resolve,1)))}const rp=r.execute();if(rp===null||rp===void 0?void 0:rp.then){yield rp}module.isResolved=true;module.getExports();if(module.postExports){module.postExports()}if(module.dynamicImports){for(const iterator of module.dynamicImports){if(iterator.replacedModule.importPromise){continue}yield this.import(iterator.replacedModule)}}return module.exports}));return module}}const globalNS=typeof window!=="undefined"?window:global;class UMDClass{constructor(){this.debug=false;this.viewPrefix="web";this.defaultApp="@web-atoms/core/dist/web/WebApp";this.lang="en-US";this.nameSymbol=typeof Symbol!=="undefined"?Symbol():"_$_nameSymbol"}get mock(){return AmdLoader.instance.enableMock}set mock(v){AmdLoader.instance.enableMock=v}resolvePath(n){return AmdLoader.instance.resolveSource(n,null)}resolveViewPath(path){return path.replace("{platform}",this.viewPrefix)}resolveType(type){return AmdLoader.instance.resolveType(type)}map(name,path,type="amd",exportVar){AmdLoader.instance.map(name,path,type,exportVar)}setupRoot(name,url){AmdLoader.instance.setupRoot(name,url)}mockType(type,name){AmdLoader.instance.replace(type,name,true)}inject(type,name){AmdLoader.instance.replace(type,name,false)}resolveViewClassAsync(path){return __awaiter(this,void 0,void 0,(function*(){path=this.resolveViewPath(path);const e=yield AmdLoader.instance.import(path);return e.default}))}import(path){return AmdLoader.instance.import(path)}load(path,designMode){return __awaiter(this,void 0,void 0,(function*(){this.mock=designMode;const t=yield AmdLoader.instance.import("@web-atoms/core/dist/core/types");const a=yield AmdLoader.instance.import("@web-atoms/core/dist/Atom");a.Atom.designMode=designMode;const al=yield AmdLoader.instance.import("@web-atoms/core/dist/core/AtomList");return yield AmdLoader.instance.import(path)}))}hostView(id,path,designMode){return __awaiter(this,void 0,void 0,(function*(){var _a;try{this.mock=designMode;AmdLoader.instance.get(path);const m=yield this.load(this.defaultApp,designMode);const app=(_a=globalNS.webApp)!==null&&_a!==void 0?_a:globalNS.webApp=new m.default;yield app.initPromise;const viewClass=yield AmdLoader.instance.import(path);const view=new viewClass.default(app);const element=typeof id==="string"?document.getElementById(id):id;element.appendChild(view.element);return view}catch(e){console.error(e)}}))}loadView(path,designMode,appPath){return __awaiter(this,void 0,void 0,(function*(){var _a;try{this.mock=designMode;appPath=appPath||this.defaultApp;AmdLoader.instance.get(path);const m=yield this.load(appPath,designMode);const app=(_a=globalNS.webApp)!==null&&_a!==void 0?_a:globalNS.webApp=new m.default;yield app.initPromise;const viewClass=yield AmdLoader.instance.import(path);const view=new viewClass.default(app);app.root=view;return view}catch(er){console.error(er);throw er}}))}installStyleSheet(path,imports={}){}}const UMD=new UMDClass;(u=>{globalNS.UMD=u;globalNS.AmdLoader=AmdLoader;globalNS.System=System;AmdLoader.instance.registerModule("tslib",setupTSLib())})(UMD);if(window){let first=document.head.firstElementChild;const markers={};const addMarker=name=>{const m=document.createElement("meta");m.name=name+"-marker";if(first){first.insertAdjacentElement("afterend",m)}else{document.head.insertAdjacentElement("afterbegin",m)}first=m;markers[name]=m;return m};addMarker("global-low");addMarker("global");addMarker("global-high");addMarker("local-low");addMarker("local");addMarker("local-high");window.installStyleSheet=UMD.installStyleSheet=(path,{imports}={})=>{var _a,_b;const[_,g1]=(_a=/\.((global|local)[^\.]{0,10})\.(css|less|scss)$/i.exec(path))!==null&&_a!==void 0?_a:[];let segment=g1!==null&&g1!==void 0?g1:"local-high";if(!/^(global|local)/.test(segment)){segment="local-high"}const marker=(_b=markers[segment])!==null&&_b!==void 0?_b:markers["local"];const link=document.createElement("link");link.rel="stylesheet";link.href=path;marker.insertAdjacentElement("beforebegin",link)}}AmdLoader.instance.register(["@social-mail/social-mail-client","@web-atoms/web-controls","@web-atoms/core","@web-atoms/date-time","@web-atoms/data-styles","@web-atoms/entity","@web-atoms/email-dom"],["@social-mail/social-mail-client/dist/public/channel/ChannelApp","@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/AtomLoader","@web-atoms/core/dist/services/JsonService","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/di/RegisterSingleton","@web-atoms/core/dist/di/Register","@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/AtomMap","@web-atoms/core/dist/di/ServiceCollection","@web-atoms/core/dist/di/TypeKey","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan","@web-atoms/core/dist/services/ReferenceService","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/core/AtomUri","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/EventScope","@web-atoms/core/dist/core/Route","@web-atoms/core/dist/core/InheritedProperty","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/ExpressionParser","@web-atoms/core/dist/services/NavigationService","@web-atoms/core/dist/core/AtomComponent","@web-atoms/core/dist/App","@web-atoms/core/dist/core/AtomDispatcher","@web-atoms/core/dist/di/ServiceProvider","@web-atoms/core/dist/core/TransientDisposable","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/services/BusyIndicatorService","@web-atoms/core/dist/core/AtomList","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@web-atoms/core/dist/core/Hacks","@web-atoms/core/dist/core/PropertyMap","@web-atoms/core/dist/core/FormattedString","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/WebImage","@web-atoms/core/dist/web/styles/AtomStyle","@web-atoms/core/dist/web/styles/AtomStyleSheet","@web-atoms/core/dist/web/services/PopupService","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/desktop-app/DesktopApp","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/services/http/JsonError","@social-mail/social-mail-client/dist/style/GlobalStyle","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@web-atoms/data-styles/data-styles","@web-atoms/core/dist/Pack","@social-mail/social-mail-client/dist/public/channel/commands/ChannelCommands","@social-mail/social-mail-client/dist/public/channel/pages/ChannelCalendarPage","@social-mail/social-mail-client/dist/model/model","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/entity/dist/models/Cloner","@web-atoms/entity/dist/models/cloneSource","@web-atoms/entity/dist/models/IEntityModel","@web-atoms/entity/dist/services/mergeProperties","@web-atoms/entity/dist/services/Query","@web-atoms/entity/dist/services/StringHelper","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/entity/dist/services/resolve","@web-atoms/entity/dist/models/TaskManager","@web-atoms/entity/dist/models/Queue","@social-mail/social-mail-client/dist/common/cache/CacheTTL","@web-atoms/web-controls/dist/basic/Calendar","@web-atoms/core/dist/core/WatchProperty","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Colors","@web-atoms/web-controls/dist/basic/MergeNode","@web-atoms/web-controls/dist/basic/ItemPath","@web-atoms/web-controls/dist/DataAttributes","@web-atoms/web-controls/dist/basic/elements/AtomPopover","@web-atoms/web-controls/dist/basic/elements/relativeRect","@web-atoms/web-controls/dist/basic/elements/getContainingBlock","@web-atoms/web-controls/dist/basic/Select","@web-atoms/web-controls/dist/basic/TimeEditor","@social-mail/social-mail-client/dist/common/Mailto","@social-mail/social-mail-client/dist/public/channel/UrlService","@social-mail/social-mail-client/dist/common/apiPath","@social-mail/social-mail-client/dist/common/CDN","@social-mail/social-mail-client/dist/common/Slugger","@social-mail/social-mail-client/dist/common/toBase36","@social-mail/social-mail-client/dist/common/TestMode","@social-mail/social-mail-client/dist/public/channel/pages/BaseChannelPage","@web-atoms/core/dist/core/InjectProperty","@social-mail/social-mail-client/dist/services/EntityService","@social-mail/social-mail-client/dist/services/BusyProgress","@social-mail/social-mail-client/dist/public/channel/BlogService","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/services/email/EmailContentDownloader","@social-mail/social-mail-client/dist/common/cache/CacheVersions","@social-mail/social-mail-client/dist/web/page/mails/service/EngagementService","@social-mail/social-mail-client/dist/public/channel/controls/blog-header/BlogHeader","@social-mail/social-mail-client/dist/public/channel/controls/RecentPosts","@social-mail/social-mail-client/dist/public/channel/controls/PostList","@social-mail/social-mail-client/content/images/gif/loader.gif","@social-mail/social-mail-client/dist/public/channel/BlogImageService","@social-mail/social-mail-client/content/images/svg/logo/logo-orange.svg","@social-mail/social-mail-client/dist/public/channel/controls/TagCloud","@social-mail/social-mail-client/dist/public/channel/controls/UpcomingEvents","@social-mail/social-mail-client/dist/common/controls/Loader","@social-mail/social-mail-client/dist/public/channel/pages/video/ChannelVideosPage","@social-mail/social-mail-client/dist/common/FileUrlService","@social-mail/social-mail-client/dist/public/channel/controls/Pager","@social-mail/social-mail-client/dist/public/channel/pages/photo/ChannelPhotosPage","@social-mail/social-mail-client/dist/public/channel/pages/posts/ChannelPage","@social-mail/social-mail-client/dist/public/channel/controls/channel-post/ChannelPost","@social-mail/social-mail-client/dist/common/date/DateFormats","@social-mail/social-mail-client/dist/public/channel/controls/MediaCarousel","@social-mail/social-mail-client/dist/common/controls/image/ImageLoader","@web-atoms/web-controls/dist/basic/LimitedText","@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService","@web-atoms/email-dom/dist/DomToString","@web-atoms/email-dom/dist/dom/StyleHelper","@web-atoms/email-dom/dist/style/mergeStyle","@social-mail/social-mail-client/dist/common/events/CommonEvents","@social-mail/social-mail-client/dist/web/commands/MailAppEvents","@social-mail/social-mail-client/dist/common/fileUrl","@social-mail/social-mail-client/dist/public/channel/emoji/EmojiPopup","@web-atoms/core/dist/web/WebApp","@web-atoms/core/dist/core/AtomOnce","@web-atoms/core/dist/web/services/WebBusyIndicatorService","@web-atoms/core/dist/web/styles/StyleBuilder","@web-atoms/core/dist/web/services/WindowService","@web-atoms/core/dist/Atom","@web-atoms/core/dist/core/FormattedError","@web-atoms/core/dist/view-model/AtomWindowViewModel","@web-atoms/core/dist/view-model/AtomViewModel","@web-atoms/core/dist/view-model/baseTypes","@web-atoms/core/dist/web/controls/AtomAlertWindow","@web-atoms/core/dist/web/styles/AtomAlertWindowStyle","@web-atoms/core/dist/web/styles/AtomWindowStyle","@web-atoms/core/src/web/images/close-button-hover.svg","@web-atoms/core/dist/web/controls/AtomWindow","@web-atoms/core/dist/web/controls/AtomTemplate","@web-atoms/core/dist/web/controls/AtomNotification","@web-atoms/core/dist/web/styles/AtomNotificationStyle","@web-atoms/core/dist/web/styles/AtomPopupStyle","@web-atoms/core/dist/web/services/NotificationPopup","@web-atoms/core/dist/web/styles/AtomTheme","@social-mail/social-mail-client/dist/public/channel/pages/comments/PostComments","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/public/channel/pages/tags/ChannelTagsPage","@social-mail/social-mail-client/dist/site-editor/editor/webComponentsPath"]);AmdLoader.instance.setup("@web-atoms/core/dist/core/StringHelper");System.register([],(function(_export,_context){"use strict";var StringHelper;_export("StringHelper",void 0);return{setters:[],execute:function(){_export("StringHelper",StringHelper=class StringHelper{static escapeRegExp(text){return text.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}static createContainsRegExp(text){return new RegExp(this.escapeRegExp(text),"i")}static createContainsAnyWordRegExp(text){return new RegExp(text.split(/\s+/g).map((x=>`(${this.escapeRegExp(x)})`)).join("|"),"i")}static containsIgnoreCase(source,test){if(!source){return false}if(!test){return true}return this.createContainsRegExp(test).test(source)}static containsAnyWordIgnoreCase(source,test){if(!source){return false}if(!test){return true}return this.createContainsAnyWordRegExp(test).test(source)}static fromCamelToHyphen(input){return input.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}static fromCamelToUnderscore(input){return input.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase()}static fromCamelToPascal(input){return input[0].toUpperCase()+input.substr(1)}static fromHyphenToCamel(input){return input.replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}static fromUnderscoreToCamel(input){return input.replace(/\_([a-z])/g,(g=>g[1].toUpperCase()))}static fromPascalToCamel(input){return input[0].toLowerCase()+input.substr(1)}static fromPascalToTitleCase(s){return s.replace(/([A-Z])/gm,((x,g,i)=>i?" "+x:x))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomMap");System.register([],(function(_export,_context){"use strict";return{setters:[],execute:function(){Map.prototype.getOrCreate=function(key,factory){let item=this.get(key);if(item===undefined){item=factory(key);this.set(key,item)}return item};_export("default",Map)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/types");System.register(["reflect-metadata","./AtomMap"],(function(_export,_context){"use strict";var Map,CancelToken,ArrayHelper,_a,_b,_c,ignoreValue,errorHandled,flat,groupBy,globalNS,DI,UMD;_export({CancelToken:void 0,ArrayHelper:void 0});return{setters:[function(_reflectMetadata){},function(_AtomMap){Map=_AtomMap.default}],execute:function(){_export("ignoreValue",ignoreValue=Symbol("ignore"));_export("errorHandled",errorHandled=Symbol("errorHandled"));_export("CancelToken",CancelToken=class CancelToken{static isCancelled(e){var _a;if(e[errorHandled]){return true}if(/^(cancelled$|canceled$|aborterror\:)/i.test((_a=e.message)!==null&&_a!==void 0?_a:e.toString().trim())){return true}if(e.name==="AbortError"){return true}}get cancelled(){return this.mCancelled}constructor(timeout=-1){this.listeners=[];this.mCancelled=null;this.cancelTimeout=null;if(timeout>0){this.cancelTimeout=setTimeout((()=>{this.cancelTimeout=null;this.cancel("timeout")}),timeout)}}cancel(r="cancelled"){this.mCancelled=r;const existing=this.listeners.slice(0);this.listeners.length=0;for(const fx of existing){fx(r)}this.dispose()}reset(){this.mCancelled=null;this.dispose()}dispose(){this.listeners.length=0;if(this.cancelTimeout){clearTimeout(this.cancelTimeout)}}registerForCancel(f){if(this.mCancelled){f(this.mCancelled);this.cancel();return}this.listeners.push(f)}});_export("ArrayHelper",ArrayHelper=class ArrayHelper{static remove(a,filter){for(let i=0;i<a.length;i++){const item=a[i];if(filter(item)){a.splice(i,1);return true}}return false}});(_a=Object.values)!==null&&_a!==void 0?_a:Object.values=function(t){const r=[];for(const key in t){if(Object.prototype.hasOwnProperty.call(t,key)){const element=t[key];r.push(element)}}return r};flat=(_b=Array.prototype.flat)!==null&&_b!==void 0?_b:function(depth=1){const r=[];const flat=depth>0;const nestDepth=depth-1;const nestFlat=nestDepth>0;for(const iterator of this){if(flat&&Array.isArray(iterator)){if(nestFlat){r.push(...iterator.flat(nestDepth));continue}r.push(...iterator);continue}r.push(iterator)}return r};groupBy=(_c=Array.prototype.groupBy)!==null&&_c!==void 0?_c:function(keySelector){const map=new Map;const groups=[];for(const iterator of this){const key=keySelector(iterator);let g=map.get(key);if(!g){g=[];g.key=key;groups.push(g);map.set(key,g)}g.push(iterator)}map.clear();return groups};Object.defineProperties(Array.prototype,{flat:{enumerable:false,value:flat,configurable:true},groupBy:{enumerable:false,value:groupBy,configurable:true}});globalNS=typeof window!=="undefined"?window:global;_export("DI",DI=globalNS.UMD);_export("UMD",UMD=globalNS.UMD)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/TypeKey");System.register(["../core/AtomMap"],(function(_export,_context){"use strict";var AtomMap,TypeKey;_export("TypeKey",void 0);return{setters:[function(_coreAtomMap){AtomMap=_coreAtomMap.default}],execute:function(){_export("TypeKey",TypeKey=class TypeKey{static get(c){return c}static getName(c){return TypeKey.keys.getOrCreate(c,(c1=>{const key=`${c1.name||"key"}${TypeKey.keys.size}`;return key}))}});TypeKey.keys=new AtomMap}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/ServiceCollection");System.register(["../core/types","./TypeKey"],(function(_export,_context){"use strict";var ArrayHelper,TypeKey,ServiceDescription,ServiceCollection,Scope;_export({ServiceDescription:void 0,ServiceCollection:void 0,Scope:void 0});return{setters:[function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper},function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){(function(Scope){Scope[Scope["Global"]=1]="Global";Scope[Scope["Scoped"]=2]="Scoped";Scope[Scope["Transient"]=3]="Transient"})(Scope||_export("Scope",Scope={}));_export("ServiceDescription",ServiceDescription=class ServiceDescription{constructor(id,scope,type,factory){this.id=id;this.scope=scope;this.type=type;this.factory=factory;this.factory=this.factory||(sp=>sp.create(type))}});_export("ServiceCollection",ServiceCollection=class ServiceCollection{constructor(){this.registrations=[];this.ids=1}register(type,factory,scope=Scope.Transient,id){ArrayHelper.remove(this.registrations,(r=>id?r.id===id:r.type===type));if(!id){id=TypeKey.get(type);this.ids++}const sd=new ServiceDescription(id,scope,type,factory);this.registrations.push(sd);return sd}registerScoped(type,factory,id){return this.register(type,factory,Scope.Scoped,id)}registerSingleton(type,factory,id){return this.register(type,factory,Scope.Global,id)}get(type){return this.registrations.find((s=>s.id===type||s.type===type))}});ServiceCollection.instance=new ServiceCollection}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/Register");System.register(["../core/types","./ServiceCollection"],(function(_export,_context){"use strict";var DI,Scope,ServiceCollection,globalNS;function evalGlobal(path){if(typeof path==="string"){let r=globalNS;for(const iterator of path.split(".")){r=r[iterator];if(r===undefined||r===null){return r}}return r}return path}function Register(id,scope){return target=>{if(typeof id==="object"){if(scope){id.scope=scope}ServiceCollection.instance.register(id.for||target,id.for?sp=>sp.create(target):null,id.scope||Scope.Transient,id.id);if(id.mockOrInject){if(id.mockOrInject.inject){DI.inject(target,id.mockOrInject.inject)}else if(id.mockOrInject.mock){DI.mockType(target,id.mockOrInject.mock)}else if(id.mockOrInject.globalVar){ServiceCollection.instance.register(id.for||target,(sp=>evalGlobal(id.mockOrInject.globalVar)),id.scope||Scope.Global,id.id)}}return}ServiceCollection.instance.register(target,null,scope,id)}}_export("Register",Register);return{setters:[function(_coreTypes){DI=_coreTypes.DI},function(_ServiceCollection){Scope=_ServiceCollection.Scope;ServiceCollection=_ServiceCollection.ServiceCollection}],execute:function(){globalNS=typeof global==="undefined"?window:global}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/RegisterSingleton");System.register(["./Register","./ServiceCollection"],(function(_export,_context){"use strict";var Register,Scope;function RegisterSingleton(target){Register({scope:Scope.Global})(target)}_export("RegisterSingleton",RegisterSingleton);return{setters:[function(_Register){Register=_Register.Register},function(_ServiceCollection){Scope=_ServiceCollection.Scope}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/date-time/dist/TimeSpan");System.register([],(function(_export,_context){"use strict";var TimeSpan,msMinutes,msSeconds,msHours,msDays,daysPerMS,hoursPerMS,minutesPerMS,secondsPerMS;function isEmpty(n){return n===undefined||n===null||n===0||isNaN(n)}function padLeft(n,c=2,t="0"){let s=n.toString();if(s.length<c){s=t+s}return s}_export("default",void 0);return{setters:[],execute:function(){_export("msMinutes",msMinutes=6e4);_export("msSeconds",msSeconds=1e3);_export("msHours",msHours=36e5);_export("msDays",msDays=24*msHours);daysPerMS=1/msDays;hoursPerMS=1/msHours;minutesPerMS=1/msMinutes;secondsPerMS=1/msSeconds;_export("default",TimeSpan=class TimeSpan{static fromDays(n){return new TimeSpan(n*msDays)}static fromHours(n){return new TimeSpan(n*msHours)}static fromMinutes(n){return new TimeSpan(n*msMinutes)}static fromSeconds(n){return new TimeSpan(n*msSeconds)}static parse(text){if(!text){throw new Error("Invalid time format")}let isPM=false;let d,h,m,s,ms;const tokens=text.split(/:/);const last=tokens[tokens.length-1];const lastParts=last.split(" ");if(lastParts.length>1){if(/pm/i.test(lastParts[1])){isPM=true}tokens[tokens.length-1]=lastParts[0]}const firstOfLast=lastParts[0];if(firstOfLast.indexOf(".")!==-1){const secondParts=firstOfLast.split(".");if(secondParts.length>1){tokens[tokens.length-1]=secondParts[0];ms=parseInt(secondParts[1],10)}}if(tokens.length===2){d=0;h=parseInt(tokens[0],10);m=parseInt(tokens[1],10)}else if(tokens.length===3){d=0;h=parseInt(tokens[0],10);m=parseInt(tokens[1],10);s=parseInt(tokens[2],10)}else if(tokens.length===4){d=parseInt(tokens[0],10);h=parseInt(tokens[1],10);m=parseInt(tokens[2],10);s=parseInt(tokens[3],10)}return new TimeSpan(d,isPM?h+12:h,m,s,ms)}get totalSeconds(){return this.msSinceEpoch*secondsPerMS}get totalMinutes(){return this.msSinceEpoch*minutesPerMS}get totalHours(){return this.msSinceEpoch*hoursPerMS}get totalDays(){return this.msSinceEpoch*daysPerMS}get totalMilliseconds(){return this.msSinceEpoch}get days(){return Math.floor(this.msSinceEpoch/msDays)}get hours(){return Math.floor(this.msSinceEpoch/msHours%24)}get minutes(){return Math.floor(this.msSinceEpoch/msMinutes%60)}get seconds(){return Math.floor(this.msSinceEpoch/msSeconds%60)}get milliseconds(){return Math.floor(this.msSinceEpoch%1e3)}get duration(){const t=this.msSinceEpoch;return new TimeSpan(t>0?t:-t)}get trimmedTime(){return new TimeSpan(Math.ceil(this.msSinceEpoch%msDays))}constructor(days,hours,minutes,seconds,milliseconds){if(arguments.length===1){this.msSinceEpoch=days}else{this.msSinceEpoch=(days||0)*msDays+(hours||0)*msHours+(minutes||0)*msMinutes+(seconds||0)*msSeconds+(milliseconds||0)}}toString(formatAs12=false){let ams=this.msSinceEpoch;const text=[];let postFix="";function format(max,f12=false){let txt=null;if(ams>max){const n=Math.floor(ams/max);ams=ams%max;if(f12){if(n>12){postFix=" PM";txt=padLeft(n-12)}else{postFix=" AM"}}if(!txt){txt=padLeft(n)}}if(txt){text.push(txt)}return txt}const d=format(msDays);format(msHours,formatAs12&&!d);format(msMinutes);let s=format(msSeconds);if(ams){s+="."+ams;text[text.length-1]=s}return`${text.join(":")}${postFix}`}add(ts){return new TimeSpan(this.msSinceEpoch+ts.msSinceEpoch)}equals(ts){return ts.msSinceEpoch===this.msSinceEpoch}});if(typeof window!=="undefined"){window.TimeSpan=TimeSpan}}}}));AmdLoader.instance.setup("@web-atoms/date-time/dist/DateTime");System.register(["./TimeSpan"],(function(_export,_context){"use strict";var TimeSpan,DateTime;_export("default",void 0);return{setters:[function(_TimeSpan){TimeSpan=_TimeSpan.default}],execute:function(){_export("default",DateTime=class DateTime{static from(d){if(!d){return null}if(!(d instanceof DateTime)){if(d instanceof Date){d=new DateTime(d.getTime())}return new DateTime(d)}return d}static get today(){const a=new DateTime;return a.date}static get utcNow(){const now=new Date;return new DateTime(now.getTime()+now.getTimezoneOffset())}static get now(){return new DateTime}static parse(s){return new DateTime(s)}get day(){return this.getDate()}get dayOfWeek(){return this.getDay()}get month(){return this.getMonth()}get year(){return this.getFullYear()}get hour(){return this.getHours()}get minute(){return this.getMinutes()}get second(){return this.getSeconds()}get milliSecond(){return this.getMilliseconds()}get timeZoneOffset(){return TimeSpan.fromMinutes(this.getTimezoneOffset())}get msSinceEpoch(){return this.getTime()}get date(){const d=new DateTime(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0,0);return d}get asJSDate(){return this}get time(){return new TimeSpan(0,this.getHours(),this.getMinutes(),this.getSeconds(),this.getMilliseconds())}constructor(a,b,c,d,e,f,g){let rd;switch(arguments.length){case 0:rd=new Date;break;case 1:rd=new Date(a);break;case 2:rd=new Date(a,b);break;case 3:rd=new Date(a,b,c);break;case 4:rd=new Date(a,b,c,d);break;case 5:rd=new Date(a,b,c,d,e);break;case 6:rd=new Date(a,b,c,d,e,f);break;default:rd=new Date(a,b,c,d,e,f,g)}Object.setPrototypeOf(rd,DateTime.prototype);return rd}add(t,hours,minutes,seconds,milliseconds){if(t instanceof Date){return new DateTime(this.getTime()+t.getTime())}let days=0;if(t instanceof TimeSpan){days=t.days;hours=t.hours;minutes=t.minutes;seconds=t.seconds;milliseconds=t.milliseconds}else{days=t}function hasValue(n,name){if(n===undefined){return false}if(n===null){throw new Error(`${name} cannot be null`)}return n!==0}const d=new Date(this.getTime());if(hasValue(days,"days")){d.setDate(d.getDate()+days)}if(hasValue(hours,"hours")){d.setHours(d.getHours()+hours)}if(hasValue(minutes,"minutes")){d.setMinutes(d.getMinutes()+minutes)}if(hasValue(seconds,"seconds")){d.setSeconds(d.getSeconds()+seconds)}if(hasValue(milliseconds,"milliseconds")){d.setMilliseconds(d.getMilliseconds()+milliseconds)}Object.setPrototypeOf(d,DateTime.prototype);return d}addMonths(m){const d=new Date(this.msSinceEpoch);d.setMonth(d.getMonth()+m);Object.setPrototypeOf(d,DateTime.prototype);return d}addYears(y){const d=new Date(this.msSinceEpoch);d.setFullYear(d.getFullYear()+y);Object.setPrototypeOf(d,DateTime.prototype);return d}addDays(day){const d=new Date(this.msSinceEpoch);d.setDate(d.getDate()+day);Object.setPrototypeOf(d,DateTime.prototype);return d}addHours(h){const d=new Date(this.msSinceEpoch);d.setHours(d.getHours()+h);Object.setPrototypeOf(d,DateTime.prototype);return d}addMinutes(m){const d=new Date(this.msSinceEpoch);d.setMinutes(d.getMinutes()+m);Object.setPrototypeOf(d,DateTime.prototype);return d}diff(rhs){return new TimeSpan(this.getTime()-rhs.getTime())}equals(d){if(!d){return false}return this.getTime()===d.getTime()}dateEquals(d){if(!d){return false}return this.date.equals(DateTime.from(d).date)}compare(d){return this.getTime()-d.getTime()}toRelativeString(dt){if(!dt){dt=DateTime.now}else{if(dt instanceof Date&&!(dt instanceof DateTime)){dt.__proto__=DateTime.prototype;dt=dt}}const diff=this.diff(dt);if(dt.year!==this.year){return this.toLocaleDateString()}if(Math.abs(diff.totalDays)>6){return this.toLocaleDateString(undefined,{month:"short",day:"numeric"})}if(Math.abs(diff.totalHours)>23){return this.toLocaleDateString(undefined,{weekday:"short"})}if(Math.abs(diff.totalMinutes)>59){return`${Math.floor(diff.totalHours)} hours`}return`${Math.floor(diff.totalMinutes)} mins`}valueOf(){return this.getTime()}});DateTime.prototype.__proto__=Date.prototype;if(typeof window!=="undefined"){window.DateTime=DateTime}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/JsonService");System.register(["tslib","../core/StringHelper","../di/RegisterSingleton","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __decorate,StringHelper,RegisterSingleton,DateTime,dateFormatISORegEx,dateFormatMSRegEx,timeZoneDiff,JsonService;return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("dateFormatISORegEx",dateFormatISORegEx=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/);_export("dateFormatMSRegEx",dateFormatMSRegEx=/^\/Date\((d|-|.*)\)[\/|\\]$/);timeZoneDiff=(new Date).getTimezoneOffset();_export("JsonService",JsonService=class JsonService{constructor(){this.options={indent:2,namingStrategy:"none",dateConverter:[{regex:dateFormatISORegEx,valueConverter:{fromSource(v){const d=new DateTime(v);return d},fromTarget(v){return v.toISOString()}}},{regex:dateFormatMSRegEx,valueConverter:{fromSource(v){const a=dateFormatMSRegEx.exec(v);const b=a[1].split(/[-+,.]/);return new DateTime(b[0]?+b[0]:0-+b[1])},fromTarget(v){return v.toISOString()}}}]}}transformKeys(t,v){if(!v){return v}if(typeof v!=="object"){return v}if(v instanceof Date){return v}if(typeof v==="object"&&v.length!==undefined&&typeof v.length==="number"){const a=v;if(a.map){return a.map((x=>this.transformKeys(t,x)))}const ra=[];for(let i=0;i<a.length;i++){const iterator=a[i];ra.push(this.transformKeys(t,iterator))}return ra}const r={};for(const key in v){if(v.hasOwnProperty(key)){const element=v[key];r[t(key)]=this.transformKeys(t,element)}}return r}parse(text,options){const{dateConverter,namingStrategy}=Object.assign(Object.assign({},this.options),options);const result=JSON.parse(text,((key,value)=>{if(typeof value==="string"){for(const iterator of dateConverter){const a=iterator.regex.test(value);if(a){const dv=iterator.valueConverter.fromSource(value);return dv}}}return value}));switch(namingStrategy){case"hyphen":return this.transformKeys(StringHelper.fromHyphenToCamel,result);case"underscore":return this.transformKeys(StringHelper.fromUnderscoreToCamel,result);case"pascal":return this.transformKeys(StringHelper.fromPascalToCamel,result)}return result}stringify(v,options){const{namingStrategy,dateConverter,indent}=Object.assign(Object.assign({},this.options),options);switch(namingStrategy){case"hyphen":v=this.transformKeys(StringHelper.fromCamelToHyphen,v);break;case"underscore":v=this.transformKeys(StringHelper.fromCamelToUnderscore,v);break;case"pascal":v=this.transformKeys(StringHelper.fromCamelToPascal,v);break}return JSON.stringify(v,((key,value)=>{if(key&&/^\_\$\_/.test(key)){return undefined}if(dateConverter&&value instanceof Date){return dateConverter[0].valueConverter.fromTarget(value)}return value}),indent)}});_export("JsonService",JsonService=__decorate([RegisterSingleton],JsonService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/DISingleton");System.register(["./Register","./ServiceCollection"],(function(_export,_context){"use strict";var Register,Scope;function DISingleton(mockOrInject){return target=>{Register({scope:Scope.Global,mockOrInject})(target)}}_export("default",DISingleton);return{setters:[function(_Register){Register=_Register.Register},function(_ServiceCollection){Scope=_ServiceCollection.Scope}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/ReferenceService");System.register(["tslib","../di/DISingleton"],(function(_export,_context){"use strict";var __decorate,DISingleton,ObjectReference,ReferenceService;_export("ObjectReference",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_diDISingleton){DISingleton=_diDISingleton.default}],execute:function(){_export("ObjectReference",ObjectReference=class ObjectReference{constructor(key,value){this.key=key;this.value=value}});ReferenceService=class ReferenceService{constructor(){this.cache={};this.id=1}get(key){return this.cache[key]}put(item,ttl=60){const key=`k${this.id++}`;const r=new ObjectReference(key,item);r.consume=()=>{delete this.cache[key];if(r.timeout){clearTimeout(r.timeout)}return r.value};r.timeout=setTimeout((()=>{r.timeout=0;r.consume()}),ttl*1e3);this.cache[key]=r;return r}};ReferenceService=__decorate([DISingleton()],ReferenceService);_export("default",ReferenceService)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/core/AtomUI");System.register([],(function(_export,_context){"use strict";var AncestorEnumerator,ChildEnumerator,AtomUI;function*descendentElementIterator(e){const stack=[];const start=e;if(start){stack.push(start)}while(stack.length){const pop=stack.pop();const next=pop.nextElementSibling;yield pop;if(next){stack.push(next)}const child=pop.firstElementChild;if(child){stack.push(child)}}}function*descendentIterator(e){const stack=[];const start=e;if(start){stack.push(start)}while(stack.length){const pop=stack.pop();const next=pop.nextSibling;yield pop;if(next){stack.push(next)}const child=pop.firstChild;if(child){stack.push(child)}}}_export({AncestorEnumerator:void 0,ChildEnumerator:void 0,descendentElementIterator,descendentIterator,AtomUI:void 0});return{setters:[],execute:function(){_export("AncestorEnumerator",AncestorEnumerator=class AncestorEnumerator{static find(e,filter){let start=e===null||e===void 0?void 0:e.parentElement;while(start){if(filter(start)){return start}start=start.parentElement}}static findSelector(e,selector){let start=e===null||e===void 0?void 0:e.parentElement;while(start){const found=start.matches(selector);if(found){return start}start=start.parentElement}}});_export("ChildEnumerator",ChildEnumerator=class ChildEnumerator{static find(e,filter){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;if(filter(item)){return item}item=next}}static*where(e,filter){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;if(filter(item)){yield item}item=next}}static*enumerate(e){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;yield item;item=next}}get current(){return this.item}constructor(e){this.e=e}next(){var _a;if(!this.item){this.item=(_a=this.e)===null||_a===void 0?void 0:_a.firstElementChild}else{this.item=this.item.nextElementSibling}return this.item?true:false}});_export("AtomUI",AtomUI=class AtomUI{static outerHeight(el,margin=false){let height=el.offsetHeight;if(!margin){return height}const style=getComputedStyle(el);height+=parseInt(style.marginTop,10)+parseInt(style.marginBottom,10);return height}static outerWidth(el,margin=false){let width=el.offsetWidth;if(!margin){return width}const style=getComputedStyle(el);width+=parseInt(style.marginLeft,10)+parseInt(style.marginRight,10);return width}static innerWidth(el){return el.clientWidth}static innerHeight(el){return el.clientHeight}static scrollTop(el,y){el.scrollTo(0,y)}static screenOffset(e){const r={x:e.offsetLeft,y:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight};if(e.offsetParent){const p=this.screenOffset(e.offsetParent);r.x+=p.x;r.y+=p.y}return r}static parseUrl(url){const r={};const plist=url.split("&");for(const item of plist){const p=item.split("=");const key=decodeURIComponent(p[0]);if(!key){continue}let val=p[1];if(val){val=decodeURIComponent(val)}r[key]=this.parseValue(val)}return r}static parseValue(val){let n;if(/^[0-9]+$/.test(val)){n=parseInt(val,10);if(!isNaN(n)){return n}return val}if(/^[0-9]+\.[0-9]+/gi.test(val)){n=parseFloat(val);if(!isNaN(n)){return n}return val}if(val==="true"){return true}if(val==="false"){return false}return val}static assignID(element){if(!element.id){element.id="__waID"+AtomUI.getNewIndex()}return element.id}static toNumber(text){if(!text){return 0}if(text.constructor===String){return parseFloat(text)}return 0}static getNewIndex(){AtomUI.index=AtomUI.index+1;return AtomUI.index}});AtomUI.index=1001}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomUri");System.register(["../web/core/AtomUI"],(function(_export,_context){"use strict";var AtomUI,AtomUri;_export("AtomUri",void 0);return{setters:[function(_webCoreAtomUI){AtomUI=_webCoreAtomUI.AtomUI}],execute:function(){_export("AtomUri",AtomUri=class AtomUri{get pathAndQuery(){const q=[];const h=[];for(const key in this.query){if(this.query.hasOwnProperty(key)){const element=this.query[key];if(element===undefined||element===null){continue}q.push(`${encodeURIComponent(key)}=${encodeURIComponent(element.toString())}`)}}for(const key in this.hash){if(this.hash.hasOwnProperty(key)){const element=this.hash[key];if(element===undefined||element===null){continue}h.push(`${encodeURIComponent(key)}=${encodeURIComponent(element.toString())}`)}}const query=q.length?"?"+q.join("&"):"";const hash=h.length?"#"+h.join("&"):"";let path=this.path||"/";if(path.startsWith("/")){path=path.substr(1)}return`${path}${query}${hash}`}constructor(url){let path;let query="";let hash="";let t=url.split("?");path=t[0];if(t.length===2){query=t[1]||"";t=query.split("#");query=t[0];hash=t[1]||""}else{t=path.split("#");path=t[0];hash=t[1]||""}let scheme="";let host="";let port="";let i=path.indexOf("//");if(i!==-1){scheme=path.substr(0,i);path=path.substr(i+2);i=path.indexOf("/");if(i!==-1){host=path.substr(0,i);path=path.substr(i+1);t=host.split(":");if(t.length>1){host=t[0];port=t[1]}}}this.host=host;this.protocol=scheme;this.port=port;this.path=path;this.query=AtomUI.parseUrl(query);this.hash=AtomUI.parseUrl(hash)}toString(){const port=this.port?":"+this.port:"";return`${this.protocol}//${this.host}${port}/${this.pathAndQuery}`}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/EventScope");System.register(["@web-atoms/date-time/dist/DateTime","./types"],(function(_export,_context){"use strict";var DateTime,CancelToken,EventScope,key,id;_export("default",void 0);return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_types){CancelToken=_types.CancelToken}],execute:function(){key=DateTime.now.msSinceEpoch;id=1;_export("default",EventScope=class EventScope{static create(){return new EventScope(`eventScopeE${key}${id++}`)}bindEvent(fx){return{[this.eventName]:fx}}constructor(eventType){this.eventType=eventType;this.eventName=`event-${this.eventType}`}subscribe(control,handler){return control.bindEvent(window,this.eventType,handler)}listen(fx){const asyncHandler=ce=>{if(ce.defaultPrevented){return}try{const p=fx(ce);if(p===null||p===void 0?void 0:p.catch){p.catch((r=>{if(CancelToken.isCancelled(r)){return}console.error(r)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}};window.addEventListener(this.eventType,asyncHandler);return{dispose:()=>{window.removeEventListener(this.eventType,asyncHandler)}}}listenOn(target,fx){const asyncHandler=ce=>{if(ce.defaultPrevented){return}try{const p=fx(ce);if(p===null||p===void 0?void 0:p.catch){p.catch((r=>{if(CancelToken.isCancelled(r)){return}console.error(r)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}};target.addEventListener(this.eventType,asyncHandler);return{dispose:()=>{target.removeEventListener(this.eventType,asyncHandler)}}}dispatch(target,detail,{cancelable=true,bubbles=true}={}){const ce=new CustomEvent(this.eventType,{detail,cancelable,bubbles});target.dispatchEvent(ce);return ce}dispatchEvent(detail,cancelable=true){const ce=new CustomEvent(this.eventType,{detail,cancelable,bubbles:false});window.dispatchEvent(ce);return ce}toString(){return this.eventType}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Route");System.register(["./StringHelper"],(function(_export,_context){"use strict";var StringHelper,Variable,Route;_export({Variable:void 0,default:void 0});return{setters:[function(_StringHelper){StringHelper=_StringHelper.StringHelper}],execute:function(){_export("Variable",Variable=class Variable{get regex(){if(this.catchAll){return`(/(?<${this.variable}>.+)?)?`}let r="[^\\/]{1,500}";if(this.parseAsNumber){r="[0-9]{1,500}"}if(this.optional){return`(/(?<${this.variable}>${r}))?`}return`/${StringHelper.escapeRegExp(this.prefix)}(?<${this.variable}>${r})${StringHelper.escapeRegExp(this.suffix)}`}constructor(variable,name){var _a;this.variable=variable;this.name=name;this.prefix="";this.suffix="";this.convert=v=>v;if(variable.startsWith("*")){this.catchAll=true;variable=variable.substring(1)}if(variable.endsWith("?")){this.optional=true;variable=variable.substring(0,variable.length-1)}const index=variable.indexOf(":");if(index!==-1){const parseAs=variable.substring(index+1);variable=variable.substring(0,index);switch(parseAs){case"number":this.parseAsNumber=true;this.convert=v=>{const r=parseFloat(v);if(Number.isNaN(r)){return void 0}return r};break;case"boolean":this.convert=v=>{if(v==="true"){return true}if(v==="false"){return false}};break}}this.variable=variable;(_a=this.name)!==null&&_a!==void 0?_a:this.name=variable}});_export("default",Route=class Route{static encodeUrl(url){return url}static create(route,queries,order=0){if(!route.startsWith("/")){throw new Error("String Route must start with /")}return new Route(route,queries,order)}constructor(route,queries,order=0){this.route=route;this.order=order;this.queries=new Map;this.variables=[];this.substitutions=[];if(queries){for(const iterator of queries){let[name,variable=name]=iterator.split("=");if(variable.startsWith("{")){variable=variable.substring(1,variable.length-1)}this.queries.set(name,variable)}}const tokens=route.substring(1).split(/\//g);let regex="^";this.substitutions.push("/");let catchAll=false;for(const iterator of tokens){if(regex.length>2){this.substitutions.push("/")}const match=/\{(\*?[\p{L}:]{1,50}\??)\}/u.exec(iterator);if(!match){this.substitutions.push(iterator);regex+=StringHelper.escapeRegExp("/");regex+=StringHelper.escapeRegExp(iterator);continue}const start=match.index;const index=match[0].length;const name=match[1];const prefix=iterator.substring(0,start);const suffix=iterator.substring(index+1);const v=new Variable(name);v.prefix=prefix;v.suffix=suffix;regex+=v.regex;this.variables.push(v);this.substitutions.push(v);catchAll||(catchAll=v.catchAll)}if(!catchAll){regex+="\\/?$"}this.regex=new RegExp(regex,"i")}matches(route,q){var _a;const matches=this.regex.exec(route);if((matches===null||matches===void 0?void 0:matches.length)>0){const result={};const{groups}=matches;for(const iterator of this.variables){const v=groups[iterator.variable];if(v!==void 0&&v!==null){const converted=iterator.convert(decodeURIComponent(v));if(converted===void 0){return null}result[iterator.variable]=converted}}if(q){for(let[key,value]of q.entries()){const variable=(_a=this.queries.get(key))!==null&&_a!==void 0?_a:key;result[variable]=value}}return result}return null}substitute(vars){var _a;let result="";for(const iterator of this.substitutions){if(typeof iterator==="string"){result+=iterator;continue}result+=(_a=vars[iterator.variable])!==null&&_a!==void 0?_a:""}if(this.queries.size>0){result+="?";for(const[key,variable]of this.queries.entries()){const value=vars[variable];if(value){result+=`${encodeURIComponent(key)}=${encodeURIComponent(value)}&`}}}return result}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Command");System.register(["tslib","./EventScope","./Route","./types"],(function(_export,_context){"use strict";var __awaiter,EventScope,Route,CancelToken,PageCommands,Command,Commands,routeSymbol,displayRouteSymbol,id,defaultOrSelf;_export({PageCommands:void 0,Commands:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_EventScope){EventScope=_EventScope.default},function(_Route){Route=_Route.default},function(_types){CancelToken=_types.CancelToken}],execute:function(){_export("routeSymbol",routeSymbol=Symbol("routeSymbol"));_export("displayRouteSymbol",displayRouteSymbol=Symbol("displayRouteSymbol"));document.body.addEventListener("click",(ce=>{let target=ce.target;let clickCommand;let commandParameter;while(target){clickCommand=target.getAttribute("data-click-command");const cp=target.commandParameter;if(cp){commandParameter=cp}if(clickCommand){break}target=target.parentElement}if(!clickCommand){return}const cmd=Command.registry.get(clickCommand);if(cmd){cmd.eventScope.dispatch(target,commandParameter)}}));id=1;_export("PageCommands",PageCommands=class PageCommands{});defaultOrSelf=x=>{var _a;return(_a=x===null||x===void 0?void 0:x.default)!==null&&_a!==void 0?_a:x};Command=class Command{static invokeRoute(route=(location.hash.startsWith("#!")?location.hash.substring(2):location.href),forceDisplay=false){let sp;if(/^http(s)?\:\/\//i.test(route)){const url=new URL(route);sp=url.searchParams;route=url.hash.startsWith("#!")?url.hash.substring(2):url.pathname}else{if(route.startsWith("#!")){route=route.substring(2)}}const index=route.indexOf("?");if(index!==-1){sp=new URLSearchParams(route.substring(index+1));route=route.substring(0,index)}else{sp!==null&&sp!==void 0?sp:sp=new URLSearchParams("")}for(const iterator of this.routes){const params=iterator.route.matches(route,sp);if(params){params[routeSymbol]=route;params[displayRouteSymbol]=forceDisplay?sp.size>0?`${route}?${sp.toString()}`:route:"";iterator.dispatch(params,true);return iterator}}}static create({name=`command${id++}`,eventScope=EventScope.create(),route,routeQueries,routeOrder=0,routeDefaults,pageLoader,pageListener,openPage,pushPage,registerOnClick,pushPageForResult,pushPageForResultOrCancel,listener}){let cmd=new Command(name,eventScope,registerOnClick);if(route){if(this.routePrefix){if(!route.startsWith(this.routePrefix)){route=this.routePrefix+route}}cmd=cmd.withRoute(route,routeQueries,routeOrder,routeDefaults)}cmd.listener=listener;if(openPage){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;const p=(_a=ce.detail)!==null&&_a!==void 0?_a:{};return p.returnResult?PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield openPage()),p):PageCommands.openPage(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield openPage()),p)}))}if(pushPage){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;const p=(_a=ce.detail)!==null&&_a!==void 0?_a:{};return p.returnResult?PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPage()),p):PageCommands.pushPage(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPage()),p)}))}if(pushPageForResult){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;return PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPageForResult()),(_a=ce.detail)!==null&&_a!==void 0?_a:{})}))}if(pushPageForResultOrCancel){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;try{return yield PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPageForResultOrCancel()),(_a=ce.detail)!==null&&_a!==void 0?_a:{})}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}))}if(pageLoader){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){try{pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pageLoader());return pageListener(pageType)(ce)}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}))}return cmd}get eventName(){return this.eventScope.eventType}get route(){return this.routeObj}constructor(name=`command${id++}`,eventScope=EventScope.create(),registerOnClick=(p=>({"data-click-command":this.name,commandParameter:p}))){this.name=name;this.eventScope=eventScope;this.registerOnClick=registerOnClick;Command.registry.set(this.name,this)}displayRoute(p,absoluteUrl=false){let route=Route.encodeUrl(this.routeObj.substitute(p));if(absoluteUrl){if(route.startsWith("#!")){route=location.href.split("#")[0]+route}else if(route.startsWith("/")){route=location.protocol+"//"+location.host+route}}return route}withRoute(route,queries,order=0,defaults){this.routeObj=Route.create(route,queries,order);Command.routes.push(this);Command.routes.sort(((a,b)=>a.route.order-b.route.order));this.defaults=defaults;return this}listen(r,handler=this.listener){if(!handler){throw new Error("Handler must be specified...")}const d=this.eventScope.listen((e=>{const ce=e;try{ce.executed=true;ce.promise=handler(e)}catch(error){ce.promise=Promise.reject(error)}r.app.runAsync((()=>ce.promise))}));return r.registerDisposable(d)}dispatch(detail,cancelable){if(this.route){detail=this.updateRoute(detail)}this.eventScope.dispatch(document.body,detail,{cancelable,bubbles:true})}updateRoute(detail){const d=detail!==null&&detail!==void 0?detail:detail={};let r=d[routeSymbol];if(r===null||r===void 0){r=this.route.substitute(d);d[routeSymbol]=r;d[displayRouteSymbol]=r}const{defaults}=this;if(defaults){for(const key in defaults){if(Object.prototype.hasOwnProperty.call(defaults,key)){const element=defaults[key];if(d[key]===void 0){d[key]=element}}}}return detail}dispatchAsync(detail,cancelable){return __awaiter(this,void 0,void 0,(function*(){if(this.route){detail=this.updateRoute(detail)}const ce=new CustomEvent(this.eventScope.eventType,{detail,cancelable});ce.returnResult=true;window.dispatchEvent(ce);if(ce.executed){const promise=ce.promise;if(promise){return yield promise}}}))}};Command.routePrefix="";Command.registry=new Map;Command.routes=[];_export("default",Command);_export("Commands",Commands=class Commands{static install(control){this.app=control.app;for(const key in this){const element=this[key];if(element instanceof Command){element.listen(control)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomBinder");System.register(["./types"],(function(_export,_context){"use strict";var ArrayHelper,AtomBinder,symbolHandlers,symbolBindable;_export("AtomBinder",void 0);return{setters:[function(_types){ArrayHelper=_types.ArrayHelper}],execute:function(){_export("symbolHandlers",symbolHandlers=Symbol.for("handlers"));_export("symbolBindable",symbolBindable=Symbol.for("bindable"));_export("AtomBinder",AtomBinder=class AtomBinder{static refreshValue(target,key){const handlers=AtomBinder.get_WatchHandler(target,key);if(handlers===undefined||handlers==null){return}for(const item of handlers){item(target,key)}if(target.onPropertyChanged){target.onPropertyChanged(key)}}static add_WatchHandler(target,key,handler){if(target==null){return}const handlers=AtomBinder.get_WatchHandler(target,key);handlers.push(handler);if(Array.isArray(target)){return}const pv=AtomBinder.getPropertyDescriptor(target,key);if(pv&&pv.get){return}const tw=target;let bindables=tw[symbolBindable];if(bindables===undefined){bindables={};Object.defineProperty(tw,symbolBindable,{value:bindables,enumerable:false,writable:true,configurable:true})}if(!bindables[key]){bindables[key]=1;const o=target[key];const nk=Symbol.for(key);target[nk]=o;const set=function(v){const ov=this[nk];if(ov===undefined?ov===v:ov==v){return}this[nk]=v;AtomBinder.refreshValue(this,key)};const get=function(){return this[nk]};if(pv){delete target[key];Object.defineProperty(target,key,{get,set,configurable:true,enumerable:true})}else{Object.defineProperty(target,key,{get,set,enumerable:true,configurable:true})}}}static getPropertyDescriptor(target,key){const pv=Object.getOwnPropertyDescriptor(target,key);if(!pv){const pt=Object.getPrototypeOf(target);if(pt){return AtomBinder.getPropertyDescriptor(pt,key)}}return pv}static get_WatchHandler(target,key){if(target==null){return null}let handlers=target[symbolHandlers];if(handlers===undefined){handlers={};Object.defineProperty(target,symbolHandlers,{value:handlers,enumerable:false,writable:true,configurable:true})}let handlersForKey=handlers[key];if(handlersForKey===undefined||handlersForKey==null){handlersForKey=[];handlers[key]=handlersForKey}return handlersForKey}static remove_WatchHandler(target,key,handler){if(target==null){return}const handlers=target[symbolHandlers];if(typeof handlers==="undefined"){return}const handlersForKey=target[symbolHandlers][key];if(handlersForKey===undefined||handlersForKey==null){return}ArrayHelper.remove(handlersForKey,(f=>f===handler));if(!handlersForKey.length){handlers[key]=null;delete handlers[key]}}static invokeItemsEvent(target,mode,index,item,oldItem){const key="_items";const handlers=AtomBinder.get_WatchHandler(target,key);if(!handlers){return}for(const obj of handlers){obj(target,mode,index,item,oldItem)}AtomBinder.refreshValue(target,"length")}static refreshItems(ary){AtomBinder.invokeItemsEvent(ary,"refresh",-1,null)}static add_CollectionChanged(target,handler){if(target==null){throw new Error("Target Array to watch cannot be null")}if(handler==null){throw new Error("Target handle to watch an Array cannot be null")}const handlers=AtomBinder.get_WatchHandler(target,"_items");handlers.push(handler);return{dispose:()=>{AtomBinder.remove_CollectionChanged(target,handler)}}}static remove_CollectionChanged(t,handler){if(t==null){return}const target=t;const handlers=target[symbolHandlers];if(typeof handlers==="undefined"){return}const key="_items";const handlersForKey=handlers[key];if(handlersForKey===undefined||handlersForKey==null){return}ArrayHelper.remove(handlersForKey,(f=>f===handler));if(!handlersForKey.length){handlers[key]=null;delete handlers[key]}}static watch(item,property,f){AtomBinder.add_WatchHandler(item,property,f);return{dispose:()=>{AtomBinder.remove_WatchHandler(item,property,f)}}}static clear(a){a.length=0;this.invokeItemsEvent(a,"refresh",-1,null);AtomBinder.refreshValue(a,"length")}static addItem(a,item){const index=a.length;a.push(item);this.invokeItemsEvent(a,"add",index,item);AtomBinder.refreshValue(a,"length")}static removeItem(a,item){const i=a.findIndex((x=>x===item));if(i===-1){return false}a.splice(i,1);AtomBinder.invokeItemsEvent(a,"remove",i,item);AtomBinder.refreshValue(a,"length");return true}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/InheritedProperty");System.register(["./AtomBinder"],(function(_export,_context){"use strict";var AtomBinder,cache;function getSymbolKey(name){var _a;return(_a=cache[name])!==null&&_a!==void 0?_a:cache[name]=Symbol(name)}function refreshInherited(ac,key,storageKey){const e=ac.element;if(!e){return}AtomBinder.refreshValue(ac,key);let start=e.firstElementChild;if(!start){return}const stack=[start];while(stack.length){start=stack.pop();while(start){let firstChild=start.firstElementChild;const childControl=start.atomControl;if(childControl){if(childControl[storageKey]===undefined){AtomBinder.refreshValue(childControl,key)}else{firstChild=void 0}}if(firstChild){stack.push(firstChild)}start=start.nextElementSibling}}}function getOwnInheritedProperty(target,key){return target[getSymbolKey(key)]}function InheritedProperty(target,key){const iVal=target[key];const keyName=getSymbolKey(key);target[keyName]=iVal;const getter=function(){let start=this;do{const p=start[keyName];if(typeof p!=="undefined"){return p}if(!start.element){break}start=start.parent}while(start);return undefined};const setter=function(newVal){const oldValue=this[keyName];if(oldValue&&oldValue.dispose){oldValue.dispose()}this[keyName]=newVal;refreshInherited(this,key,keyName)};if(delete target[key]){Object.defineProperty(target,key,{get:getter,set:setter,enumerable:true,configurable:true})}}_export({getOwnInheritedProperty,InheritedProperty});return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){cache={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomLoader");System.register(["tslib","../services/JsonService","../services/ReferenceService","./AtomUri","./Command","./InheritedProperty","./types"],(function(_export,_context){"use strict";var __addDisposableResource,__awaiter,__disposeResources,__rest,JsonService,ReferenceService,AtomUri,displayRouteSymbol,getOwnInheritedProperty,CancelToken,DI,AtomLoader;_export("AtomLoader",void 0);return{setters:[function(_tslib){__addDisposableResource=_tslib.__addDisposableResource;__awaiter=_tslib.__awaiter;__disposeResources=_tslib.__disposeResources;__rest=_tslib.__rest},function(_servicesJsonService){JsonService=_servicesJsonService.JsonService},function(_servicesReferenceService){ReferenceService=_servicesReferenceService.default},function(_AtomUri){AtomUri=_AtomUri.AtomUri},function(_Command){displayRouteSymbol=_Command.displayRouteSymbol},function(_InheritedProperty){getOwnInheritedProperty=_InheritedProperty.getOwnInheritedProperty},function(_types){CancelToken=_types.CancelToken;DI=_types.DI}],execute:function(){_export("AtomLoader",AtomLoader=class AtomLoader{static load(url,app){return __awaiter(this,void 0,void 0,(function*(){if(typeof url==="string"){const type=yield DI.resolveViewClassAsync(url);if(!type){throw new Error(`Type not found for ${url}`)}url=type}if(url instanceof AtomUri){if(url.host==="reference"){const r=app.get(ReferenceService).get(url.path);if(!r){throw new Error("reference not found")}return r.consume()}if(url.host==="class"){const r=app.get(ReferenceService).get(url.path);if(!r){throw new Error("reference not found")}return app.resolve(r.consume(),true)}url=url.path;const type=yield DI.resolveViewClassAsync(url);if(!type){throw new Error(`Type not found for ${url}`)}url=type}const obj=app.resolve(url,true);return obj}))}static loadView(url,app,hookCloseEvents,vmFactory){return __awaiter(this,void 0,void 0,(function*(){const env_1={stack:[],error:void 0,hasError:false};try{const _busy=__addDisposableResource(env_1,app.createBusyIndicator({title:url.toString(),description:`Loading View ${url}`}),false);const view=yield AtomLoader.load(url,app);let vm=view.viewModel;if(!vm){if(!vmFactory){return{view}}vm=vmFactory();view.viewModel=vm}if("parameters"in view){vm=view.parameters}if(vm){const jsonService=app.get(JsonService);for(const key in url.query){if(url.query.hasOwnProperty(key)){const element=url.query[key];if(typeof element==="object"){vm[key]=jsonService.parse(jsonService.stringify(element));continue}if(/^json\:/.test(key)){const k=key.split(":")[1];vm[k]=jsonService.parse(element.toString());continue}if(/^ref\:/.test(key)){const rs=app.get(ReferenceService);const v=rs.get(element);vm[key.split(":",2)[1]]=v.consume();continue}try{vm[key]=element}catch(e){console.error(e)}}}}if(hookCloseEvents&&vm){const disposables=view.disposables;const id=(AtomLoader.id++).toString();view.id=id;const returnPromise=new Promise(((resolve,reject)=>{disposables.add(app.subscribe(`atom-window-close:${id}`,((m,r)=>{resolve(r);view.dispose()})));disposables.add(app.subscribe(`atom-window-cancel:${id}`,(()=>{reject("cancelled");view.dispose()})))}));vm.windowName=id;view.returnPromise=returnPromise;return{view,disposables,returnPromise,id}}return{view}}catch(e_1){env_1.error=e_1;env_1.hasError=true}finally{__disposeResources(env_1)}}))}static loadClass(url_1){return __awaiter(this,arguments,void 0,(function*(url,_a={},app){var _b,_c,_d,_e;var _f;var{title}=_a,_g=displayRouteSymbol,route=_a[_g],parameters=__rest(_a,["title",typeof _g==="symbol"?_g:_g+""]);const env_2={stack:[],error:void 0,hasError:false};try{const _busyIndicator=__addDisposableResource(env_2,app.createBusyIndicator({title:url===null||url===void 0?void 0:url.toString(),description:`Loading View ${url}`}),false);const view=yield AtomLoader.load(url,app);const vm=getOwnInheritedProperty(view,"viewModel");let params;if("parameters"in view){params=view.parameters}if(!vm){params=(_b=(_f=view).parameters)!==null&&_b!==void 0?_b:_f.parameters={}}else{console.warn("ViewModel is deprecated")}if(title){view.title=title}if(params){params[displayRouteSymbol]=route}if((vm||params)&¶meters){for(const key in parameters){if(parameters.hasOwnProperty(key)){const element=parameters[key];try{if(vm){vm[key]=element}if(params){params[key]=element}}catch(e){console.error(e)}}}}(_e=(_d=(_c=view).init)===null||_d===void 0?void 0:_d.call(_c))===null||_e===void 0?void 0:_e.catch((error=>{if(!CancelToken.isCancelled(error)){console.error(error)}}));return view}catch(e_2){env_2.error=e_2;env_2.hasError=true}finally{__disposeResources(env_2)}}))}static loadControl(url,app){return __awaiter(this,void 0,void 0,(function*(){var _a,_b,_c,_d;var _e;const env_3={stack:[],error:void 0,hasError:false};try{const _busyIndicator=__addDisposableResource(env_3,app.createBusyIndicator({title:url===null||url===void 0?void 0:url.toString(),description:`Loading View ${url}`}),false);const view=yield AtomLoader.load(url,app);const vm=getOwnInheritedProperty(view,"viewModel");let params;if("parameters"in view){params=view.parameters}if(!vm){params=(_a=(_e=view).parameters)!==null&&_a!==void 0?_a:_e.parameters={}}if(vm||params){const jsonService=app.get(JsonService);for(const key in url.query){if(url.query.hasOwnProperty(key)){const element=url.query[key];if(/^json\:/.test(key)){const k=key.split(":")[1];const v=jsonService.parse(element.toString());if(vm){vm[k]=v}if(params){params[k]=v}continue}if(/^ref\:/.test(key)){const rs=app.get(ReferenceService);const v=rs.get(element).consume();const keyName=key.split(":",2)[1];if(vm){vm[keyName]=v}if(params){params[keyName]=v}continue}try{if(vm){vm[key]=element}if(params){params[key]=element}}catch(e){console.error(e)}}}}(_d=(_c=(_b=view).init)===null||_c===void 0?void 0:_c.call(_b))===null||_d===void 0?void 0:_d.catch((error=>{if(!CancelToken.isCancelled(error)){console.error(error)}}));return view}catch(e_3){env_3.error=e_3;env_3.hasError=true}finally{__disposeResources(env_3)}}))}});AtomLoader.id=1}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/sleep");System.register([],(function(_export,_context){"use strict";function sleep(timeInMS,ct,throwOnCancel=true){let token=0;return new Promise(((resolve,reject)=>{ct===null||ct===void 0?void 0:ct.registerForCancel((reason=>{if(token){clearTimeout(token);if(throwOnCancel){reject(reason)}else{resolve()}}}));if(ct===null||ct===void 0?void 0:ct.cancelled){if(throwOnCancel){reject("cancelled")}else{resolve()}return}token=setTimeout(resolve,timeInMS)}))}_export("default",sleep);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/ExpressionParser");System.register([],(function(_export,_context){"use strict";var viewModelParseWatchCache,viewModelParseWatchCache2;function trimRegEx(t,r){const m=r.exec(t);if(m&&m.length){return[true,t.substring(m[0].length).trim(),m[0]]}return[false,t,""]}function extractTill(text,search,returnOriginal=false){const index=text.indexOf(search);if(index<=0){return returnOriginal?text:""}return text.substring(0,index)}function parsePath(f,parseThis){let str=f.toString().trim();str=str.split("\n").filter((s=>!/^\/\//.test(s.trim()))).join("\n");const key=(parseThis===undefined?"un:":parseThis?"_this:":"_noThis:")+str;const px1=viewModelParseWatchCache[key];if(px1){return px1}if(str.endsWith("}")){str=str.substr(0,str.length-1)}const functionRegEx=/^\w+\s*\(/;const lambdaRegEx=/^\(?(\w+)?(\s?\,\s?\w+)*\)?\s?\=\>/;let arg="";const original=str;let[success,remaining]=trimRegEx(str,functionRegEx);if(success){str=remaining;remaining=extractTill(remaining,")");str=str.substring(remaining.length);arg=extractTill(remaining,",",true)}else{[success,str,remaining]=trimRegEx(str,lambdaRegEx);if(success){remaining=remaining.trim();remaining=remaining.substring(0,remaining.length-2);remaining=extractTill(remaining,")",true);arg=extractTill(remaining,",",true);if(arg.startsWith("(")){arg=arg.substring(1)}}else{if(parseThis!==undefined&&parseThis===false){return[]}else{parseThis=true}}}str=str.trim();const isThis=parseThis===undefined?(arg?false:true)||parseThis:parseThis;const p=(isThis?"(\\_this|this)":arg||"").trim();if(p.length===0){const empty=[];viewModelParseWatchCache[key]=empty;return empty}const regExp=`(?:(\\b${p})(?:(\\.[a-zA-Z_][a-zA-Z_0-9]*)+)\\s?(?:(\\(|\\=\\=\\=|\\=\\=|\\=)?))`;const re=new RegExp(regExp,"gi");let path=[];const ms=str.replace(re,(m=>{let px=m;if(px.startsWith("this.")){if(parseThis!==true){px=px.substr(5)}}else if(px.startsWith("_this.")){if(parseThis!==true){px=px.substr(6)}else{px=px.substr(1)}}else{px=px.substr(p.length+1)}px=px.split(".").filter((s=>!s.endsWith("("))).join(".");if(!path.find((y=>y===px))){path.push(px)}const filtered=[];for(const iterator of path){if(iterator.endsWith("==")||!(iterator.endsWith("(")||iterator.endsWith("="))){filtered.push((iterator.endsWith("===")?iterator.substr(0,iterator.length-3):iterator.endsWith("==")?iterator.substr(0,iterator.length-2):iterator).trim())}}path=filtered.filter((px11=>{const search=px11+".";for(const iterator of filtered){if(px11!==iterator&&iterator.indexOf(search)!==-1){return false}}return true}));return m}));path=path.sort(((a,b)=>b.localeCompare(a)));const duplicates=path;path=[];for(const iterator of duplicates){if(path.find((px2=>px2===iterator))){continue}path.push(iterator)}const rp=[];for(const rpItem of path){if(rp.find((x=>x.startsWith(rpItem)))){continue}rp.push(rpItem)}const pl=path.filter((p1=>p1)).map((p1=>p1.split(".")));viewModelParseWatchCache[key]=pl;return pl}function parsePathLists(f){const str=f.toString().trim();const key=str;const px1=viewModelParseWatchCache2[key];if(px1){return px1}const pl={pathList:parsePath(str,false),thisPath:parsePath(str,true),combined:[]};if(pl.thisPath.length&&pl.pathList.length){pl.combined=pl.thisPath.map((x=>{x[0]="t";x.splice(0,0,"this");return x})).concat(pl.pathList.map((x=>{x.splice(0,0,"this","x");return x})));pl.thisPath=[];pl.pathList=[]}viewModelParseWatchCache2[key]=pl;return pl}_export({parsePath,parsePathLists});return{setters:[],execute:function(){viewModelParseWatchCache={};viewModelParseWatchCache2={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Bind");System.register(["tslib","./ExpressionParser","./types"],(function(_export,_context){"use strict";var __awaiter,parsePath,parsePathLists,CancelToken,ignoreValue,Bind,isEvent,bindSymbol;function twoWaysConvert(name,b,control,e,creator){control.bind(e,name,b.thisPathList||b.pathList,b.eventList||true,null,b.thisPathList?creator:undefined)}_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_ExpressionParser){parsePath=_ExpressionParser.parsePath;parsePathLists=_ExpressionParser.parsePathLists},function(_types){CancelToken=_types.CancelToken;ignoreValue=_types.ignoreValue}],execute:function(){isEvent=/^event/i;_export("bindSymbol",bindSymbol=Symbol("Bind"));_export("default",Bind=class Bind{static forControl(){return Bind}static forData(){return Bind}static forViewModel(){return Bind}static forLocalViewModel(){return Bind}static presenter(name){return{[bindSymbol](cn,control,e,creator){if(typeof name==="function"){name(control);return}const n=name||cn;let c=control.element;while(c){if(c.atomControl&&c.atomControl[n]!==undefined){break}c=c._logicalParent||c.parentElement}(c&&c.atomControl||control)[n]=e}}}static event(sourcePath){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{if(isEvent.test(name)){name=name.substring(5);if(name.startsWith("-")){name=name.substring(1).replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}else{name=name[0].toLowerCase()+name.substring(1)}}control.bindEvent(e,name,(e1=>sourcePath(control,e1)))}))}}}static oneTime(sourcePath,now){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{control.setLocalValue(e,name,sourcePath(control,e))}));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static oneTimeAsync(sourcePath,now){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{control.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const value=yield sourcePath(control,e,new CancelToken);control.setLocalValue(e,name,value)}))))}));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static source(source,path,now){const lists=parsePath(path,false).map((x=>["this",...x]));return{[bindSymbol](name,control,e,creator){const self={control,source};control.bind(e,name,lists,false,(()=>path.call(self,self)),self);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static oneWayAsync(sourcePath,{watchDelayInMS=250,default:defaultValue}={}){let pathList;let combined;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){combined=lists.combined}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(combined||pathList||thisPathList)){throw new Error(`Failed to setup binding for ${sourcePath}, parsing failed`)}return{[bindSymbol](name,control,e,creator){let bindingSource;let finalPathList=pathList;if(combined){bindingSource={t:creator,x:control};finalPathList=combined}else if(thisPathList){finalPathList=thisPathList;bindingSource=creator}const asyncState={token:0,cancelToken:undefined};control.bind(e,name,finalPathList,false,(()=>{var _a;const app=control.app;(_a=asyncState.cancelToken)===null||_a===void 0?void 0:_a.cancel();asyncState.cancelToken=undefined;asyncState.token=app.setTimeoutAsync((()=>__awaiter(this,void 0,void 0,(function*(){var _a,_b;if((_a=asyncState.cancelToken)===null||_a===void 0?void 0:_a.cancelled){return}asyncState.token=undefined;(_b=asyncState.cancelToken)===null||_b===void 0?void 0:_b.cancel();const ct=asyncState.cancelToken=new CancelToken;const value=yield sourcePath.call(creator,control,e,ct);if(!ct.cancelled){control.setLocalValue(e,name,value)}}))),watchDelayInMS,asyncState.token);return ignoreValue}),bindingSource);if(typeof defaultValue!=="undefined"){control.setLocalValue(e,name,defaultValue)}}}}static oneWay(sourcePath,now){let pathList;let combined;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){combined=lists.combined}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(combined||pathList||thisPathList)){throw new Error(`Failed to setup binding for ${sourcePath}, parsing failed`)}return{[bindSymbol](name,control,e,creator){if(pathList){control.bind(e,name,pathList,false,(()=>sourcePath.call(creator,control,e)));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}return}if(combined){const a={t:creator,x:control};control.bind(e,name,combined,false,(()=>sourcePath.call(creator,control,e)),a);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}return}control.bind(e,name,thisPathList,false,(()=>sourcePath.call(creator,control,e)),creator);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static twoWays(sourcePath,events,converter){let pathList;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){throw new Error("Cannot have combined binding for two ways")}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(thisPathList||pathList)){throw new Error(`Failed to setup twoWay binding on ${sourcePath}`)}return{[bindSymbol](name,control,e,creator){control.bind(e,name,thisPathList||pathList,events||true,converter,thisPathList?creator:undefined)}}}static sourceTwoWays(source,path,events=["input","cut","paste","change"]){const lists=parsePath(path,false).map((x=>["this",...x]));return{[bindSymbol](name,control,e,creator){const self={control,source};control.bind(e,name,lists,events,lists,self)}}}static twoWaysImmediate(sourcePath,converter){return this.twoWays(sourcePath,["change","input","paste","cut"],converter)}constructor(setupFunction,sourcePath,name,eventList){this.setupFunction=setupFunction;this.name=name;this.eventList=eventList;this.sourcePath=sourcePath;this[bindSymbol]=true;if(!this.sourcePath){return}if(Array.isArray(this.sourcePath)){this.pathList=this.sourcePath}else{const lists=parsePathLists(this.sourcePath);if(lists.combined.length){this.combined=lists.combined}if(lists.pathList.length){this.pathList=lists.pathList}if(lists.thisPath.length){this.thisPathList=lists.thisPath}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/XNode");System.register(["./Bind"],(function(_export,_context){"use strict";var bindSymbol,RootObject,XNode,xnodeSymbol,isControl,elementFactorySymbol,isFactorySymbol,attachedSymbol,isTemplateSymbol,constructorNeedsArgumentsSymbol,attachedProperties,attachedId,attach;_export("RootObject",void 0);return{setters:[function(_Bind){bindSymbol=_Bind.bindSymbol}],execute:function(){_export("RootObject",RootObject=class RootObject{get vsProps(){return undefined}addEventListener(name,handler){return bridge.addEventHandler(this,name,handler)}appendChild(e){bridge.appendChild(this,e)}dispatchEvent(evt){bridge.dispatchEvent(evt)}});_export("xnodeSymbol",xnodeSymbol=Symbol("XNode"));_export("isControl",isControl=Symbol("isControl"));_export("elementFactorySymbol",elementFactorySymbol=Symbol("elementFactory"));_export("isFactorySymbol",isFactorySymbol=Symbol("isFactory"));_export("attachedSymbol",attachedSymbol=Symbol("attached"));_export("isTemplateSymbol",isTemplateSymbol=Symbol("isTemplate"));_export("constructorNeedsArgumentsSymbol",constructorNeedsArgumentsSymbol=Symbol("constructorNeedsArguments"));_export("attachedProperties",attachedProperties={});attachedId=1;attach=(name,attacher)=>{const key=`:${attachedId++}`;const fx=v=>({[key]:v});attachedProperties[key]=attacher;fx[attachedSymbol]=attacher;fx[isFactorySymbol]=key;return fx};XNode=class XNode{static attach(n,tag){return{factory:(attributes,...nodes)=>new XNode(n,attributes?Object.assign(Object.assign({},attributes),{for:tag}):{for:tag},nodes)}}static prepare(n,isProperty,isTemplate){function px(v){return{[n]:v}}px.factory=(a,...nodes)=>new XNode(n,a,nodes,isProperty,isTemplate);px.toString=()=>n;return px}static getClass(fullTypeName,assemblyName){const n=fullTypeName+";"+assemblyName;const cx=XNode.classes[n]||(XNode.classes[n]=bridge.getClass(fullTypeName,assemblyName,RootObject,((name,isProperty,isTemplate)=>(a,...nodes)=>new XNode(name,a,nodes,isProperty,isTemplate))));return cx}static namespace(ns,assemblyName){return(type,isTemplate)=>c=>{for(const key in c){if(c.hasOwnProperty(key)){const element=c[key];if(element){const n=ns+"."+type+":"+key+";"+assemblyName;const af=a=>{const r={[n]:a};Object.defineProperty(r,"toString",{value:()=>n,enumerable:false,configurable:false});return r};af.factory=(a,...nodes)=>new XNode(n,a,nodes,true,element.isTemplate);af.toString=()=>n;c[key]=af}}}const tn=ns+"."+type+";"+assemblyName;c.factory=(a,...nodes)=>new XNode(tn,a,nodes,false,isTemplate);c.toString=()=>tn}}static create(name,attributes,...children){if(typeof name==="string"){return new XNode(name,attributes,children)}if(name[isFactorySymbol]){return new XNode(name,attributes,children)}if(name.factory){return name.factory(attributes,...children)}switch(typeof name){case"object":name=name.toString();break;case"function":return name(attributes||{},...children)}return new XNode(name,attributes,children)}constructor(name,attributes,children,isProperty,isTemplate){this.name=name;this.attributes=attributes;this.children=children;this.isProperty=isProperty;this.isTemplate=isTemplate;this[xnodeSymbol]=true}toString(){if(typeof this.name==="string"){return`name is of type string and value is ${this.name}`}return`name is of type ${typeof this.name}`}};XNode.isFactory=isFactorySymbol;XNode.elementFactory=elementFactorySymbol;XNode.bindSymbol=bindSymbol;XNode.isTemplate=isTemplateSymbol;XNode.prepareAttached=attach;XNode.constructorNeedsArguments=constructorNeedsArgumentsSymbol;XNode.classes={};XNode.factory=(name,isProperty,isTemplate)=>(a,...nodes)=>new XNode(name,a,nodes,isProperty,isTemplate);_export("default",XNode);if(typeof bridge!=="undefined"){bridge.XNode=XNode}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomDispatcher");System.register([],(function(_export,_context){"use strict";var AtomDispatcher;_export("AtomDispatcher",void 0);return{setters:[],execute:function(){_export("AtomDispatcher",AtomDispatcher=class AtomDispatcher{constructor(){this.head=null;this.tail=null}onTimeout(){if(this.paused){return}if(!this.head){return}const item=this.head;this.head=item.next;item.next=null;if(!this.head){this.tail=null}item();setTimeout((()=>{this.onTimeout()}),1)}pause(){this.paused=true}start(){this.paused=false;setTimeout((()=>{this.onTimeout()}),1)}callLater(f){if(this.tail){this.tail.next=f;this.tail=f}else{this.head=f;this.tail=f}if(!this.paused){this.start()}}waitForAll(){return new Promise(((resolve,reject)=>{this.callLater((()=>{resolve()}))}))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/TransientDisposable");System.register([],(function(_export,_context){"use strict";var TransientDisposable;_export("default",void 0);return{setters:[],execute:function(){_export("default",TransientDisposable=class TransientDisposable{constructor(owner){if(owner){this.registerIn(owner)}}registerIn(value){const v=value.disposables;if(v){v.push(this)}else{if(value.registerDisposable){value.registerDisposable(this)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/Inject");System.register(["./TypeKey"],(function(_export,_context){"use strict";var TypeKey,InjectedTypes;function Inject(target,name,index){if(index!==undefined){const key=TypeKey.get(target);const plist=Reflect.getMetadata("design:paramtypes",target,name);if(typeof index==="number"){const pSavedList=InjectedTypes.paramList[key]||(InjectedTypes.paramList[key]=[]);pSavedList[index]=plist[index]}else{throw new Error("Inject can only be applied on constructor"+"parameter or a property without get/set methods")}}else{const key=TypeKey.get(target.constructor);const plist=Reflect.getMetadata("design:type",target,name);const p=InjectedTypes.propertyList[key]||(InjectedTypes.propertyList[key]={});p[name]=plist;let base=target.constructor;while(true){base=Object.getPrototypeOf(base);if(!base){break}const baseKey=TypeKey.get(base);const bp=InjectedTypes.propertyList[baseKey];if(bp){for(const pKey in bp){if(bp.hasOwnProperty(pKey)){const element=bp[pKey];if(!p[pKey]){p[pKey]=element}}}}}}}_export({InjectedTypes:void 0,Inject});return{setters:[function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){_export("InjectedTypes",InjectedTypes=class InjectedTypes{static getParamList(key,typeKey1){let plist=InjectedTypes.paramList[typeKey1];let type=key;while(plist===undefined){type=Object.getPrototypeOf(type);if(!type){break}const typeKey=TypeKey.get(type);plist=InjectedTypes.paramList[typeKey];if(!plist){InjectedTypes.paramList[typeKey]=plist}}return plist}static getPropertyList(key,typeKey1){let plist=InjectedTypes.propertyList[typeKey1];let type=key;while(plist===undefined){type=Object.getPrototypeOf(type);if(!type){break}const typeKey=TypeKey.get(type);plist=InjectedTypes.propertyList[typeKey];if(!plist){InjectedTypes.propertyList[typeKey]=plist}}return plist}});InjectedTypes.paramList={};InjectedTypes.propertyList={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/ServiceProvider");System.register(["../core/TransientDisposable","../core/types","./Inject","./ServiceCollection","./TypeKey"],(function(_export,_context){"use strict";var TransientDisposable,DI,InjectedTypes,Scope,ServiceCollection,TypeKey,ServiceProvider;_export("ServiceProvider",void 0);return{setters:[function(_coreTransientDisposable){TransientDisposable=_coreTransientDisposable.default},function(_coreTypes){DI=_coreTypes.DI},function(_Inject){InjectedTypes=_Inject.InjectedTypes},function(_ServiceCollection){Scope=_ServiceCollection.Scope;ServiceCollection=_ServiceCollection.ServiceCollection},function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){_export("ServiceProvider",ServiceProvider=class ServiceProvider{get global(){return this.parent===null?this:this.parent.global}constructor(parent){this.parent=parent;this.instances=new Map;if(parent===null){ServiceCollection.instance.registerScoped(ServiceProvider)}const sd=ServiceCollection.instance.get(ServiceProvider);this.instances.set(sd.id,this)}get(key){return this.resolve(key,true)}put(key,value){let sd=ServiceCollection.instance.get(key);if(!sd){sd=ServiceCollection.instance.register(key,(()=>value),Scope.Global)}this.instances.set(sd.id,value)}resolve(key,create=false,defValue){const sd=ServiceCollection.instance.get(key);if(!sd){if(!create){if(defValue!==undefined){return defValue}throw new Error(`No service registered for type ${key}`)}return this.create(key)}if(sd.type===ServiceProvider){return this}if(sd.scope===Scope.Global){return this.global.getValue(sd)}if(sd.scope===Scope.Scoped){if(this.parent===null){throw new Error("Scoped dependency cannot be created on global")}}return this.getValue(sd)}getValue(sd){if(sd.scope===Scope.Transient){return sd.factory(this)}let v=this.instances.get(sd.id);if(v===void 0){v=sd.factory(this);this.instances.set(sd.id,v)}return v}newScope(){return new ServiceProvider(this)}dispose(){var _a;for(const element of this.instances.values()){if(element===this){continue}(_a=element.dispose)===null||_a===void 0?void 0:_a.call(element)}this.instances.clear()}create(key){const originalKey=key;const originalTypeKey=TypeKey.get(originalKey);if(DI.resolveType){let mappedType=ServiceProvider.mappedTypes.get(originalTypeKey);if(mappedType===void 0){mappedType=DI.resolveType(originalKey);ServiceProvider.mappedTypes.set(originalKey,mappedType)}key=mappedType}const typeKey1=TypeKey.get(key);const plist=InjectedTypes.getParamList(key,typeKey1);let value=null;if(plist){const pv=plist.map((x=>x?this.resolve(x):void 0));pv.unshift(null);value=new(key.bind.apply(key,pv));for(const iterator of pv){if(iterator&&iterator instanceof TransientDisposable){iterator.registerIn(value)}}}else{value=new key}const propList=InjectedTypes.getPropertyList(key,typeKey1);if(propList){for(const key1 in propList){if(propList.hasOwnProperty(key1)){const element=propList[key1];const d=this.resolve(element);value[key1]=d;if(d&&d instanceof TransientDisposable){d.registerIn(value)}}}}return value}});ServiceProvider.mappedTypes=new Map}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/BusyIndicatorService");System.register(["tslib","../di/RegisterSingleton"],(function(_export,_context){"use strict";var __decorate,RegisterSingleton,BusyIndicatorService;return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton}],execute:function(){_export("BusyIndicatorService",BusyIndicatorService=class BusyIndicatorService{createIndicator(info){return{[Symbol.dispose](){}}}});_export("BusyIndicatorService",BusyIndicatorService=__decorate([RegisterSingleton],BusyIndicatorService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomList");System.register(["./AtomBinder"],(function(_export,_context){"use strict";var AtomBinder,AtomList,ap;_export("AtomList",void 0);return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){_export("AtomList",AtomList=class AtomList extends Array{constructor(){super();this.startValue=0;this.totalValue=0;this.sizeValue=10;this["__proto__"]=AtomList.prototype;this.next=()=>{this.start=this.start+this.size};this.prev=()=>{if(this.start>=this.size){this.start=this.start-this.size}}}get start(){return this.startValue}set start(v){if(v===this.startValue){return}this.startValue=v;AtomBinder.refreshValue(this,"start")}get total(){return this.totalValue}set total(v){if(v===this.totalValue){return}this.totalValue=v;AtomBinder.refreshValue(this,"total")}get size(){return this.sizeValue}set size(v){if(v===this.sizeValue){return}this.sizeValue=v;AtomBinder.refreshValue(this,"size")}add(item){const i=this.length;const n=this.push(item);AtomBinder.invokeItemsEvent(this,"add",i,item);AtomBinder.refreshValue(this,"length");return n}addAll(items){for(const item of items){const i=this.length;this.push(item);AtomBinder.invokeItemsEvent(this,"add",i,item);AtomBinder.refreshValue(this,"length")}const t=items["total"];if(t){this.total=t}}replace(items,start,size){this.length=items.length;for(let i=0;i<items.length;i++){this[i]=items[i]}this.refresh();const t=items["total"];if(t){this.total=t}if(start!==undefined){this.start=start}if(size!==undefined){this.size=size}}insert(i,item){const n=this.splice(i,0,item);AtomBinder.invokeItemsEvent(this,"add",i,item);AtomBinder.refreshValue(this,"length")}set(i,item){const old=this[i];this[i]=item;AtomBinder.invokeItemsEvent(this,"replace",i,item,old);AtomBinder.refreshValue(this,"length")}removeAt(i){const item=this[i];this.splice(i,1);AtomBinder.invokeItemsEvent(this,"remove",i,item);AtomBinder.refreshValue(this,"length");return item}remove(item){if(item instanceof Function){let removed=false;for(let index=0;index<this.length;){const it=this[index];if(item(it)){this.splice(index,1);AtomBinder.invokeItemsEvent(this,"remove",index,it);AtomBinder.refreshValue(this,"length");removed=true;continue}index++}return removed}const n=this.indexOf(item);if(n!==-1){this.removeAt(n);return true}return false}clear(){this.length=0;this.refresh()}refresh(){AtomBinder.invokeItemsEvent(this,"refresh",-1,null);AtomBinder.refreshValue(this,"length")}watch(f,wrap){if(wrap){const fx=f;f=function(){const p=[];for(let i=0;i<arguments.length;i++){const iterator=arguments[i];p.push(iterator)}return fx.call(this,p)}}return AtomBinder.add_CollectionChanged(this,f)}count(f){let total=0;for(const iterator of this){if(f(iterator)){total++}}return total}avg(f){if(!this.length){return 0}let sum=0;for(const iterator of this){sum+=f(iterator)}return sum/this.length}includes(item){return this.indexOf(item)!==-1}});ap=Array.prototype;for(const key of Object.getOwnPropertyNames(AtomList.prototype)){const{value}=Object.getOwnPropertyDescriptor(AtomList.prototype,key);switch(key){case"add":case"addAll":case"clear":case"refresh":case"set":case"remove":case"removeAt":case"watch":case"replace":case"insert":case"count":case"avg":case"includes":if(key in ap){continue}Object.defineProperty(ap,key,{enumerable:false,value,configurable:true,writable:true});continue}}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/App");System.register(["tslib","./core/AtomBinder","./core/AtomDispatcher","./core/types","./di/RegisterSingleton","./di/ServiceProvider","./services/BusyIndicatorService","./core/AtomList","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan"],(function(_export,_context){"use strict";var __decorate,__metadata,AtomBinder,AtomDispatcher,CancelToken,RegisterSingleton,ServiceProvider,BusyIndicatorService,AtomHandler,AtomMessageAction,App_1,App;_export("AtomMessageAction",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomDispatcher){AtomDispatcher=_coreAtomDispatcher.AtomDispatcher},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_diServiceProvider){ServiceProvider=_diServiceProvider.ServiceProvider},function(_servicesBusyIndicatorService){BusyIndicatorService=_servicesBusyIndicatorService.BusyIndicatorService},function(_coreAtomList){},function(_webAtomsDateTimeDistDateTime){},function(_webAtomsDateTimeDistTimeSpan){}],execute:function(){AtomHandler=class AtomHandler{constructor(message){this.message=message;this.list=new Array}};_export("AtomMessageAction",AtomMessageAction=class AtomMessageAction{constructor(msg,a){this.message=msg;this.action=a}});_export("App",App=App_1=class App extends ServiceProvider{static installStyleSheet(ssConfig){if(typeof ssConfig!=="object"){ssConfig={href:ssConfig}}ssConfig.href=UMD.resolvePath(ssConfig.href);const links=document.getElementsByTagName("link");for(let index=0;index<links.length;index++){const element=links[index];const href=element.getAttribute("href");if(href===ssConfig.href){return}}const ss=document.createElement("link");ss.rel="stylesheet";ss.href=ssConfig.href;if(ssConfig.crossOrigin){ss.crossOrigin=ssConfig.crossOrigin}if(ssConfig.integrity){ss.integrity=ssConfig.integrity}document.head.appendChild(ss)}static installScript(location){location=UMD.resolvePath(location);const links=document.getElementsByTagName("script");for(let index=0;index<links.length;index++){const element=links[index];const href=element.getAttribute("src");if(href===location){return element.loaderPromise}}const script=document.createElement("script");const p=new Promise(((resolve,reject)=>{script.type="text/javascript";script.src=location;const s=script;script.onload=s.onreadystatechange=()=>{if(s.readyState&&s.readyState!=="complete"&&s.readyState!=="loaded"){return}script.onload=s.onreadystatechange=null;resolve()};document.body.appendChild(script)}));script.loaderPromise=p;return p}static authorize(authorize=true){const detail={authorize,authorized:true};const ce=new CustomEvent("authorize",{bubbles:true,detail});document.body.dispatchEvent(ce);if(!ce.detail.authorized){return false}return true}get url(){return this.mUrl}set url(v){this.mUrl=v;AtomBinder.refreshValue(this,"url")}get contextId(){return"none"}constructor(){super(null);this.appReady=false;this.readyHandlers=[];this.onError=error=>{console.log(error)};App_1.current=this;this.screen={};this.bag={};this.put(App_1,this);this.dispatcher=new AtomDispatcher;this.dispatcher.start();this.put(AtomDispatcher,this.dispatcher);setTimeout((()=>{this.invokeReady()}),5)}createBusyIndicator(taskInfo){this.busyIndicatorService=this.busyIndicatorService||this.resolve(BusyIndicatorService);return this.busyIndicatorService.createIndicator(taskInfo)}syncUrl(){}callLater(f){this.dispatcher.callLater(f)}installStyleSheet(ssConfig){App_1.installStyleSheet(ssConfig)}installScript(location){return App_1.installScript(location)}updateDefaultStyle(content){throw new Error("Platform does not support StyleSheets")}waitForPendingCalls(){return this.dispatcher.waitForAll()}setTimeoutAsync(task,timeInMS=1,previousToken){if(previousToken!==void 0){clearTimeout(previousToken)}return setTimeout((()=>{try{const p=task();if(p===null||p===void 0?void 0:p.then){p.catch((error=>{if(CancelToken.isCancelled(error)){return}console.error(error)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}),timeInMS)}runAsync(tf){try{const p=tf();if(p&&p.then&&p.catch){p.catch((error=>{this.onError("runAsync");this.onError(error)}))}}catch(e){this.onError("runAsync");this.onError(e)}}broadcast(channel,data){const ary=this.bag[channel];if(!ary){return}for(const entry of ary.list){entry.call(this,channel,data)}}subscribe(channel,action){let ary=this.bag[channel];if(!ary){ary=new AtomHandler(channel);this.bag[channel]=ary}ary.list.push(action);return{dispose:()=>{ary.list=ary.list.filter((a=>a!==action));if(!ary.list.length){this.bag[channel]=null}}}}main(){}onReady(f){if(this.readyHandlers){this.readyHandlers.push(f)}else{this.invokeReadyHandler(f)}}invokeReady(){if(this.invokeReadyHandler){for(const iterator of this.readyHandlers){this.invokeReadyHandler(iterator)}}this.readyHandlers=null}invokeReadyHandler(f){const indicator=this.createBusyIndicator();const a=f();if(a&&a.then&&a.catch){a.then((r=>{indicator[Symbol.dispose]()}));a.catch((e=>{indicator[Symbol.dispose]();console.error(typeof e==="string"?e:JSON.stringify(e))}));return}indicator[Symbol.dispose]()}});_export("App",App=App_1=__decorate([RegisterSingleton,__metadata("design:paramtypes",[])],App))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomDisposableList");System.register([],(function(_export,_context){"use strict";var AtomDisposableList;_export("AtomDisposableList",void 0);return{setters:[],execute:function(){_export("AtomDisposableList",AtomDisposableList=class AtomDisposableList{constructor(){this.disposables=[]}add(d){if(typeof d==="function"){const fx=d;d={dispose:fx}}this.disposables.push(d);const dx=d;return{dispose:()=>{this.disposables=this.disposables.filter((x=>x!==dx));dx.dispose()}}}dispose(){for(const iterator of this.disposables){iterator.dispose()}this.disposables.length=0}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomWatcher");System.register(["./AtomBinder","./ExpressionParser"],(function(_export,_context){"use strict";var AtomBinder,parsePath,ObjectProperty,AtomWatcher;_export({ObjectProperty:void 0,AtomWatcher:void 0});return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder},function(_ExpressionParser){parsePath=_ExpressionParser.parsePath}],execute:function(){_export("ObjectProperty",ObjectProperty=class ObjectProperty{constructor(name){this.name=name}toString(){return this.name}});_export("AtomWatcher",AtomWatcher=class AtomWatcher{constructor(target,path,onChanged,source){this.source=source;this.isExecuting=false;this.target=target;this.forValidation=true;if(path instanceof Function){const f=path;path=parsePath(path);this.func=onChanged||f;this.funcText=f.toString()}else{this.func=onChanged}this.runEvaluate=()=>{this.evaluate()};this.runEvaluate.watcher=this;this.path=path.map((x=>x.map((y=>new ObjectProperty(y)))));if(!this.path.length){debugger;console.warn("There is nothing to watch, do not use one way binding without any binding expression")}}toString(){return this.func.toString()}dispose(){if(!this.path){return}for(const p of this.path){for(const op of p){if(op.watcher){op.watcher.dispose();op.watcher=null;op.target=null}}}this.func=null;this.path=null;this.source=null}init(evaluate){if(evaluate){this.evaluate(true)}else{for(const iterator of this.path){this.evaluatePath(this.target,iterator)}}}evaluatePath(target,path){let newTarget=null;for(const p of path){if(this.source&&p.name==="this"){target=this.source;continue}newTarget=target[p.name];if(!p.target){if(p.watcher){p.watcher.dispose()}p.watcher=AtomBinder.watch(target,p.name,this.runEvaluate)}else if(p.target!==target){if(p.watcher){p.watcher.dispose()}p.watcher=AtomBinder.watch(target,p.name,this.runEvaluate)}p.target=target;target=newTarget;if(newTarget===undefined||newTarget===null){break}}return newTarget}evaluate(force){if(!this.path){console.warn(`Watcher is not disposed properly, please watch for any memory leak`);return}if(this.isExecuting){return}const disposeWatchers=[];this.isExecuting=true;try{const values=[];const logs=[];for(const p of this.path){values.push(this.evaluatePath(this.target,p))}try{this.func.apply(this.target,values)}catch(e){console.warn(e)}}finally{this.isExecuting=false;for(const d of disposeWatchers){d.dispose()}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Hacks");System.register(["../web/core/AtomUI","./AtomBinder"],(function(_export,_context){"use strict";var ChildEnumerator,AtomBinder,visitDescendents,refreshInherited,watchProperty,setValue;return{setters:[function(_webCoreAtomUI){ChildEnumerator=_webCoreAtomUI.ChildEnumerator},function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){_export("visitDescendents",visitDescendents=(element,action)=>{for(const iterator of ChildEnumerator.enumerate(element)){const eAny=iterator;const ac=eAny?eAny.atomControl:undefined;if(!action(iterator,ac)){continue}visitDescendents(iterator,action)}});_export("refreshInherited",refreshInherited=(target,name,fieldName)=>{AtomBinder.refreshValue(target,name);if(!fieldName){fieldName="m"+name[0].toUpperCase()+name.substr(1)}if(!target.element){return}visitDescendents(target.element,((e,ac)=>{if(ac){if(ac[fieldName]===undefined){refreshInherited(ac,name,fieldName)}return false}return true}))});_export("watchProperty",watchProperty=(element,name,events,f)=>{if(events.indexOf("change")===-1){events.push("change")}const l=e=>{const e1=element;const v=e1.type==="checkbox"?e1.checked:e1.value;f(v)};for(const iterator of events){element.addEventListener(iterator,l,false)}return{dispose:()=>{for(const iterator of events){element.removeEventListener(iterator,l,false)}}}});_export("setValue",setValue=(element,name,value)=>{element[name]=value})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/PropertyMap");System.register(["../di/TypeKey"],(function(_export,_context){"use strict";var TypeKey,PropertyMap;_export("PropertyMap",void 0);return{setters:[function(_diTypeKey){TypeKey=_diTypeKey.TypeKey}],execute:function(){_export("PropertyMap",PropertyMap=class PropertyMap{static from(o){const c=Object.getPrototypeOf(o);const key=TypeKey.get(c);const map=PropertyMap.map;const m=map[key]||(map[key]=PropertyMap.createMap(o));return m}static createMap(c){const map={};const nameList=[];while(c){const names=Object.getOwnPropertyNames(c);for(const name of names){if(/hasOwnProperty|constructor|toString|isValid|errors/i.test(name)){continue}map[name]=true;nameList.push(name)}c=Object.getPrototypeOf(c)}const m=new PropertyMap;m.map=map;m.names=nameList;return m}});PropertyMap.map={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomComponent");System.register(["tslib","../App","../core/types","../di/Inject","./AtomDisposableList","./AtomWatcher","./Bind","./Hacks","./InheritedProperty","./PropertyMap","./XNode"],(function(_export,_context){"use strict";var __decorate,__metadata,__param,App,ArrayHelper,CancelToken,ignoreValue,Inject,AtomDisposableList,AtomWatcher,bindSymbol,visitDescendents,watchProperty,InheritedProperty,PropertyMap,isControl,isFactorySymbol,xnodeSymbol,PropertyBinding,_a,_b,localBindSymbol,localXNodeSymbol,AtomComponent;_export("PropertyBinding",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper;CancelToken=_coreTypes.CancelToken;ignoreValue=_coreTypes.ignoreValue},function(_diInject){Inject=_diInject.Inject},function(_AtomDisposableList){AtomDisposableList=_AtomDisposableList.AtomDisposableList},function(_AtomWatcher){AtomWatcher=_AtomWatcher.AtomWatcher},function(_Bind){bindSymbol=_Bind.bindSymbol},function(_Hacks){visitDescendents=_Hacks.visitDescendents;watchProperty=_Hacks.watchProperty},function(_InheritedProperty){InheritedProperty=_InheritedProperty.InheritedProperty},function(_PropertyMap){PropertyMap=_PropertyMap.PropertyMap},function(_XNode){isControl=_XNode.isControl;isFactorySymbol=_XNode.isFactorySymbol;xnodeSymbol=_XNode.xnodeSymbol}],execute:function(){localBindSymbol=bindSymbol;localXNodeSymbol=xnodeSymbol;_export("AtomComponent",AtomComponent=class AtomComponent{get vsProps(){return undefined}constructor(app,element=null){this.app=app;this.mInvalidated=0;this.mPendingPromises={};this.disposables=new AtomDisposableList;this.bindings=[];this.eventHandlers=[];this.element=element;this.element.atomControl=this;const a=this.beginEdit();this.preCreate();this.create();app.callLater((()=>a.dispose()))}bind(element,name,path,twoWays,valueFunc,source){const binding=new PropertyBinding(this,element,name,path,twoWays,valueFunc,source);this.bindings.push(binding);return{dispose:()=>{binding.dispose();ArrayHelper.remove(this.bindings,(x=>x===binding))}}}unbind(element,name){const toDelete=this.bindings.filter((x=>x.element===element&&(!name||x.name===name)));for(const iterator of toDelete){iterator.dispose();ArrayHelper.remove(this.bindings,(x=>x===iterator))}}bindEvent(element,name,method,key,capture){if(!element){return}if(!method){return}const be={element,name,handler:method};if(key){be.key=key}const handler=e=>{var _c;try{let r=method(e);e.executed=true;if(r){const originalReturn=r;r=r.then?r:Promise.resolve(r);e.promise=e.promise?e.promise.then((()=>r)):r;if(originalReturn.catch){return originalReturn.catch((c=>{var _c;if(CancelToken.isCancelled(c!==null&&c!==void 0?c:"Unknown error")){return}alert((_c=c.stack)!==null&&_c!==void 0?_c:c)}))}return r}}catch(error){if(CancelToken.isCancelled(error)){return}alert((_c=error.stack)!==null&&_c!==void 0?_c:error)}};element.addEventListener(name,handler,capture);be.disposable={dispose:()=>{element.removeEventListener(name,handler,capture);be.disposable.dispose=()=>undefined}};this.eventHandlers.push(be);return{dispose:()=>{be.disposable.dispose();ArrayHelper.remove(this.eventHandlers,(e=>e.disposable===be.disposable))}}}unbindEvent(element,name,method,key){const deleted=[];for(const be of this.eventHandlers){if(element&&be.element!==element){return}if(key&&be.key!==key){return}if(name&&be.name!==name){return}if(method&&be.handler!==method){return}be.disposable.dispose();be.handler=null;be.element=null;be.name=null;be.key=null;deleted.push((()=>this.eventHandlers.remove(be)))}for(const iterator of deleted){iterator()}}hasProperty(name){if(/^(data|viewModel|localViewModel|element)$/.test(name)){return true}const map=PropertyMap.from(this);if(map.map[name]){return true}if(this[name]!==undefined){return true}return false}setPrimitiveValue(element,name,value){const p=value;if(p&&p.then&&p.catch){console.warn(`Do not bind promises, instead use Bind.oneWayAsync`);this.mPendingPromises[name]=p;p.then((r=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;this.setPrimitiveValue(element,name,r)})).catch((e=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;console.error(e)}));return}if(/^(viewModel|localViewModel)$/.test(name)){this[name]=value;return}if((!element||element===this.element)&&this.hasProperty(name)){this.runAfterInit((()=>{this[name]=value}))}else{this.setElementValue(element,name,value)}}setLocalValue(element,name,value){const p=value;if(p&&p.then&&p.catch){console.warn(`Do not bind promises, instead use Bind.oneWayAsync`);this.mPendingPromises[name]=p;p.then((r=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;this.setLocalValue(element,name,r)})).catch((e=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;console.error(e)}));return}if((!element||element===this.element)&&Reflect.has(this,name)){this[name]=value}else{this.setElementValue(element,name,value)}}dispose(e){if(this.mInvalidated){clearTimeout(this.mInvalidated);this.mInvalidated=0}visitDescendents(e||this.element,((ex,ac)=>{if(ac){ac.dispose();return false}return true}));if(!e){this.unbindEvent(null,null,null);for(const binding of this.bindings){binding.dispose()}this.bindings.length=0;this.bindings=null;const e1=this.element;if(typeof e1.dispose==="function"){e1.dispose()}this.element=null;const lvm=this.localViewModel;if(lvm&&lvm.dispose){lvm.dispose();this.localViewModel=null}const vm=this.viewModel;if(vm&&vm.dispose){vm.dispose();this.viewModel=null}this.disposables.dispose();this.pendingInits=null}}onPropertyChanged(name){}beginEdit(){this.pendingInits=[];const a=this.pendingInits;return{dispose:()=>{if(this.pendingInits==null){return}this.pendingInits=null;if(a){for(const iterator of a){iterator()}}this.invalidate()}}}invalidate(){if(this.mInvalidated){clearTimeout(this.mInvalidated)}this.mInvalidated=setTimeout((()=>{this.mInvalidated=0;this.app.callLater((()=>{this.onUpdateUI()}))}),5)}onUpdateUI(){}runAfterInit(f){if(this.pendingInits){this.pendingInits.push(f)}else{f()}}registerDisposable(d){return this.disposables.add(d)}render(node,e=this.element,creator=this.creator||this){const app=this.app;const attr=node.attributes;if(attr){for(const key in attr){if(attr.hasOwnProperty(key)){const item=attr[key];const isObject=typeof item==="object";if(isObject&&item!==null){const localSymbol=item[localBindSymbol];if(localSymbol){localSymbol(key,this,e,creator);continue}const localXNode=item[localXNodeSymbol];if(localXNode){if(item.isTemplate){this.setLocalValue(e,key,this.toTemplate(app,item,creator));continue}this.setLocalValue(e,key,this.createNode(app,null,item,creator));continue}}this.setLocalValue(e,key,item)}}}const children=node.children;if(children===void 0){return}for(const iterator of children){if(!iterator){continue}if(!iterator[localXNodeSymbol]){e.appendChild(document.createTextNode(iterator.toString()));continue}if(iterator.isProperty){if(iterator.isTemplate){this.setLocalValue(e,iterator.name,this.toTemplate(app,iterator.children[0],creator));continue}this.createNode(app,e,iterator,creator);continue}const t=iterator.attributes&&iterator.attributes.template;if(t){console.warn(`This path is deprecated, check who is calling it.`);this.setLocalValue(e,t,this.toTemplate(app,iterator,creator));continue}this.createNode(app,e,iterator,creator)}}extractControlProperties(x,name="div"){const a=x.attributes;const extracted={};if(typeof x.name==="function"&&this instanceof x.name){x.name=name}if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){if(Reflect.has(this,key)){const element=a[key];extracted[key]=element;delete a[key]}}}}return extracted}create(){}preCreate(){}setElementValue(element,name,value){element[name]=value}resolve(c,selfName){const result=this.app.resolve(c,true);if(selfName){if(typeof selfName==="function"){this.runAfterInit((()=>{const v=selfName();if(v){for(const key in v){if(v.hasOwnProperty(key)){const element=v[key];result[key]=element}}}}))}else{result[selfName]=this}}return result}pushInit(){this.runAfterInit((()=>{var _c,_d,_e;(_e=(_d=(_c=this).init)===null||_d===void 0?void 0:_d.call(_c))===null||_e===void 0?void 0:_e.catch((error=>CancelToken.isCancelled(error)?void 0:console.error(error)))}))}});_a=isControl;_b=isFactorySymbol;AtomComponent[_a]=true;AtomComponent[_b]=true;__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"data",void 0);__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"viewModel",void 0);__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"localViewModel",void 0);_export("AtomComponent",AtomComponent=__decorate([__param(0,Inject),__metadata("design:paramtypes",[App,Object])],AtomComponent));_export("PropertyBinding",PropertyBinding=class PropertyBinding{constructor(target,element,name,path,twoWays,valueFunc,source){this.target=target;this.element=element;this.name=name;this.twoWays=twoWays;this.source=source;this.isTwoWaySetup=false;this.name=name;this.twoWays=twoWays;this.target=target;this.element=element;this.isRunning=false;if(valueFunc){if(typeof valueFunc!=="function"){this.fromSourceToTarget=valueFunc.fromSource;this.fromTargetToSource=valueFunc.fromTarget}else{this.fromSourceToTarget=valueFunc}}this.watcher=new AtomWatcher(target,path,((...v)=>{if(this.isRunning){return}if(this.disposed){return}for(const iterator of v){if(iterator===undefined){return}}const cv=this.fromSourceToTarget?this.fromSourceToTarget.apply(this,v):v[0];if(cv===ignoreValue){return}this.isRunning=true;try{if(this.target instanceof AtomComponent){this.target.setLocalValue(this.element,this.name,cv)}else{this.target[name]=cv}}finally{this.isRunning=false}}),source);this.path=this.watcher.path;if(this.target instanceof AtomComponent){this.target.runAfterInit((()=>{if(!this.watcher){return}this.watcher.init(true);if(twoWays){this.setupTwoWayBinding()}}))}else{this.watcher.init(true);if(twoWays){this.setupTwoWayBinding()}}}setupTwoWayBinding(){if(this.target instanceof AtomComponent){if(this.element&&(this.element!==this.target.element||!this.target.hasProperty(this.name))){let events=[];if(typeof this.twoWays!=="boolean"){events=this.twoWays}this.twoWaysDisposable=watchProperty(this.element,this.name,events,(v=>{this.setInverseValue(v)}));return}}const watcher=new AtomWatcher(this.target,[[this.name]],((...values)=>{if(this.isTwoWaySetup){this.setInverseValue(values[0])}}));watcher.init(true);this.isTwoWaySetup=true;this.twoWaysDisposable=watcher}setInverseValue(value){if(!this.twoWays){throw new Error("This Binding is not two ways.")}if(this.disposed){return}if(this.isRunning){return}this.isRunning=true;try{const first=this.path[0];const length=first.length;let v=this.target;let i=0;let name;for(i=0;i<length-1;i++){name=first[i].name;if(name==="this"){v=this.source||this.target}else{v=v[name]}if(!v){return}}name=first[i].name;v[name]=this.fromTargetToSource?this.fromTargetToSource.call(this,value):value}finally{this.isRunning=false}}dispose(){var _c;(_c=this.twoWaysDisposable)===null||_c===void 0?void 0:_c.dispose();this.twoWaysDisposable=undefined;this.watcher.dispose();this.disposed=true;this.watcher=null}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/FormattedString");System.register([],(function(_export,_context){"use strict";var FormattedString;_export("default",void 0);return{setters:[],execute:function(){_export("default",FormattedString=class FormattedString{constructor(text){this.text=text}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/NavigationService");System.register(["tslib","../core/AtomComponent","../core/AtomUri","../core/FormattedString","../core/types","./ReferenceService"],(function(_export,_context){"use strict";var __awaiter,AtomComponent,AtomUri,FormattedString,ArrayHelper,ReferenceService,ObjectReference,NavigationService,NotifyType,nameSymbol;function hasPageUrl(target){const url=target[nameSymbol];if(!url){return false}const baseClass=Object.getPrototypeOf(target);if(!baseClass){return false}return baseClass[nameSymbol]!==url}_export({NavigationService:void 0,NotifyType:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_coreAtomComponent){AtomComponent=_coreAtomComponent.AtomComponent},function(_coreAtomUri){AtomUri=_coreAtomUri.AtomUri},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper},function(_ReferenceService){ReferenceService=_ReferenceService.default;ObjectReference=_ReferenceService.ObjectReference}],execute:function(){(function(NotifyType){NotifyType["Information"]="info";NotifyType["Warning"]="warn";NotifyType["Error"]="error"})(NotifyType||_export("NotifyType",NotifyType={}));nameSymbol=UMD.nameSymbol;_export("NavigationService",NavigationService=class NavigationService{constructor(app){this.app=app;this.callbacks=[]}pushPage(pageName,viewModelParameters,options){this.app.runAsync((()=>this.openPage(pageName,viewModelParameters,options)))}openPage(pageName,viewModelParameters,options){options=options||{};if(typeof pageName!=="string"){if(hasPageUrl(pageName)){pageName=pageName[nameSymbol]}else{const rs=this.app.resolve(ReferenceService);const host=pageName instanceof AtomComponent?"reference":"class";const r=rs.put(pageName);pageName=`ref://${host}/${r.key}`}}if(this.beforeCallbacks){for(const iterator of this.beforeCallbacks){const r=iterator(pageName,viewModelParameters,options);if(r){return r}}}const url=new AtomUri(pageName);if(viewModelParameters){for(const key in viewModelParameters){if(viewModelParameters.hasOwnProperty(key)){const element=viewModelParameters[key];if(element===undefined){continue}if(element===null){url.query["json:"+key]="null";continue}if(key.startsWith("ref:")||element instanceof FormattedString){const r=element instanceof ObjectReference?element:this.app.resolve(ReferenceService).put(element);url.query[key.startsWith("ref:")?key:`ref:${key}`]=r.key;continue}if(typeof element!=="string"&&(typeof element==="object"||Array.isArray(element))){url.query["json:"+key]=JSON.stringify(element)}else{url.query[key]=element}}}}for(const iterator of this.callbacks){const r=iterator(url,options);if(r){return r}}return this.openWindow(url,options)}remove(view,force){return __awaiter(this,void 0,void 0,(function*(){if(force){this.app.broadcast(`atom-window-cancel:${view.id}`,"cancelled");return true}const vm=view.viewModel;if(vm&&vm.cancel){const a=yield vm.cancel();return a}this.app.broadcast(`atom-window-cancel:${view.id}`,"cancelled");return true}))}registerNavigationHook(callback){this.callbacks.push(callback);return{dispose:()=>{ArrayHelper.remove(this.callbacks,(a=>a===callback))}}}registerPreNavigationHook(callback){var _a;((_a=this.beforeCallbacks)!==null&&_a!==void 0?_a:this.beforeCallbacks=[]).push(callback);return{dispose:()=>{this.beforeCallbacks.remove(callback)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/BindableProperty");System.register(["./AtomBinder"],(function(_export,_context){"use strict";var AtomBinder;function BindableProperty(target,key){const iVal=target[key];const keyName="_"+key;target[keyName]=iVal;const getter=function(){return this[keyName]};const setter=function(newVal){const oldValue=this[keyName];if(oldValue===undefined?oldValue===newVal:oldValue==newVal){return}const ce=this;if(ce.onPropertyChanging){ce.onPropertyChanging(key,oldValue,newVal)}this[keyName]=newVal;AtomBinder.refreshValue(this,key)};if(delete target[key]){Object.defineProperty(target,key,{get:getter,set:setter,enumerable:true,configurable:true})}}_export("BindableProperty",BindableProperty);return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/WebImage");System.register([],(function(_export,_context){"use strict";var WebImage;_export("default",void 0);return{setters:[],execute:function(){_export("default",WebImage=class WebImage{constructor(url){this.url=url}toString(){return this.url}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomStyle");System.register(["../../core/StringHelper"],(function(_export,_context){"use strict";var StringHelper,AtomStyle,emptyPrototype;_export("AtomStyle",void 0);return{setters:[function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper}],execute:function(){emptyPrototype=Object.getPrototypeOf({});_export("AtomStyle",AtomStyle=class AtomStyle{constructor(styleSheet,name){this.styleSheet=styleSheet;this.name=name;this.styleText=null;this.name=this.name+"-root"}getBaseProperty(tc,name){let c=tc;do{c=Object.getPrototypeOf(c);if(!c){throw new Error("No property descriptor found for "+name)}const pd=Object.getOwnPropertyDescriptor(c.prototype,name);if(!pd){continue}return pd.get.apply(this)}while(true)}build(){if(this.styleText){return}this.styleText=this.createStyleText("",[],this.root).join("\n")}toString(){return this.styleText}createStyleText(name,pairs,styles){const styleList=[];for(const key in styles){if(styles.hasOwnProperty(key)){if(/^(\_\$\_|className$|toString$)/i.test(key)){continue}const element=styles[key];if(element===undefined||element===null){continue}const keyName=StringHelper.fromCamelToHyphen(key);if(key==="subclasses"){const n=name;for(const subclassKey in element){if(element.hasOwnProperty(subclassKey)){const ve=element[subclassKey];pairs=this.createStyleText(`${n}${subclassKey}`,pairs,ve)}}}else{if(element.url){styleList.push(`${keyName}: url(${element})`)}else{styleList.push(`${keyName}: ${element}`)}}}}const cname=StringHelper.fromCamelToHyphen(name);const styleClassName=`${this.name}${cname}`;if(styleList.length){pairs.push(`.${styleClassName} { ${styleList.join(";\r\n")}; }`)}return pairs}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomStyleSheet");System.register(["../../di/TypeKey"],(function(_export,_context){"use strict";var TypeKey,AtomStyleSheet;_export("AtomStyleSheet",void 0);return{setters:[function(_diTypeKey){TypeKey=_diTypeKey.TypeKey}],execute:function(){_export("AtomStyleSheet",AtomStyleSheet=class AtomStyleSheet{constructor(app,name){this.app=app;this.name=name;this.styles={};this.lastUpdateId=0;this.isAttaching=false;this.pushUpdate(0)}getNamedStyle(c){const name=TypeKey.getName(c);return this.createNamedStyle(c,name)}createNamedStyle(c,name,updateTimeout){const style=this.styles[name]=new c(this,`${this.name}-${name}`);style.build();this.pushUpdate(updateTimeout);return style}onPropertyChanging(name,newValue,oldValue){this.pushUpdate()}pushUpdate(delay=1){if(this.isAttaching){return}if(delay===0){this.attach();return}if(this.lastUpdateId){clearTimeout(this.lastUpdateId)}this.lastUpdateId=setTimeout((()=>{this.attach()}),delay)}dispose(){if(this.styleElement){this.styleElement.remove()}}attach(){this.isAttaching=true;const text=[];for(const key in this.styles){if(this.styles.hasOwnProperty(key)){const element=this.styles[key];text.push(element.toString())}}const textContent=text.join("\n");this.app.updateDefaultStyle(textContent);this.isAttaching=false}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomControl");System.register(["tslib","../../core/AtomBinder","../../core/AtomComponent","../../core/BindableProperty","../../core/Command","../../core/FormattedString","../../core/Hacks","../../core/WebImage","../../core/XNode","../../di/TypeKey","../styles/AtomStyle","../styles/AtomStyleSheet"],(function(_export,_context){"use strict";var __decorate,__metadata,AtomBinder,AtomComponent,BindableProperty,Command,FormattedString,refreshInherited,visitDescendents,WebImage,XNode,isControl,TypeKey,AtomStyle,AtomStyleSheet,AtomControl,isAtomControl,fromHyphenToCamel,defaultStyleSheets,ElementValueSetters,propertyId,getSelection,body,html;function setAttribute(name){return(ctrl,e,value)=>{e.setAttribute(name,value)}}function setEvent(name){return(ctrl,e,value)=>{ctrl.bindEvent(e,name,value)}}function setStyle(name,applyUnit){if(applyUnit){return(ctrl,e,value)=>{if(typeof value==="number"){e.style[name]=value+applyUnit;return}e.style[name]=value}}return(ctrl,e,value)=>{e.style[name]=value}}function disposeChildren(owner,e){if(!e){return}let s=e.firstElementChild;while(s){const c=s;s=s.nextElementSibling;const ac=c.atomControl;if(ac){ac.dispose();c.remove();continue}disposeChildren(owner,c);owner.unbind(c);owner.unbindEvent(c);c.remove()}}_export("AtomControl",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomComponent){AtomComponent=_coreAtomComponent.AtomComponent},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreCommand){Command=_coreCommand.default},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreHacks){refreshInherited=_coreHacks.refreshInherited;visitDescendents=_coreHacks.visitDescendents},function(_coreWebImage){WebImage=_coreWebImage.default},function(_coreXNode){XNode=_coreXNode.default;isControl=_coreXNode.isControl},function(_diTypeKey){TypeKey=_diTypeKey.TypeKey},function(_stylesAtomStyle){AtomStyle=_stylesAtomStyle.AtomStyle},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet}],execute:function(){isAtomControl=isControl;fromHyphenToCamel=input=>input.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));if(typeof bridge!=="undefined"&&bridge.platform){throw new Error("AtomControl of Web should not be used with Xamarin Forms")}defaultStyleSheets={};_export("ElementValueSetters",ElementValueSetters={text(ctrl,e,value){e.textContent=value},["class"](ctrl,e,value){if(typeof value==="string"){e.className=value;return}ctrl.setElementClass(e,value,true)},alt:setAttribute("alt"),title:setAttribute("title"),href:setAttribute("href"),target:setAttribute("target"),style:setAttribute("style"),styleLeft:setStyle("left","px"),styleTop:setStyle("top","px"),styleBottom:setStyle("bottom","px"),styleRight:setStyle("right","px"),styleWidth:setStyle("width","px"),styleHeight:setStyle("height","px"),stylePosition:setStyle("position"),styleFontSize:setStyle("fontSize","px"),styleFontFamily:setStyle("fontFamily"),styleFontWeight:setStyle("fontWeight"),styleBorder:setStyle("border"),styleBorderWidth:setStyle("borderWidth","px"),styleBorderColor:setStyle("borderColor"),styleColor:setStyle("color"),styleBackgroundColor:setStyle("backgroundColor"),dir:setAttribute("dir"),name:setAttribute("name"),tabIndex:setAttribute("tabIndex"),contentEditable:setAttribute("contentEditable"),eventClick:setEvent("click"),eventKeydown:setEvent("keydown"),eventKeyup:setEvent("keyup"),eventKeypress:setEvent("keypress"),eventMousedown:setEvent("mousedown"),eventMouseup:setEvent("mouseup"),eventMousemove:setEvent("mousemove"),src(ctrl,e,value){if(value&&/^http\:/i.test(value)){e.src=value.substring(5);return}e.src=value},styleClass(ctrl,e,value){ctrl.setElementClass(e,value)},styleDisplay(ctrl,e,value){if(typeof value==="boolean"){e.style.display=value?"":"none";return}e.style.display=value},formattedText(ctrl,e,value){if(value instanceof FormattedString){value.applyTo(ctrl.app,e)}else{e.textContent=(value||"").toString()}},disabled(ctrl,e,value){if(value){e.setAttribute("disabled","");return}e.removeAttribute("disabled")},autofocus(ctrl,element,value){ctrl.app.callLater((()=>{const ie=element;if(ie){setTimeout((()=>requestAnimationFrame((()=>ie.focus()))),100)}}))},autocomplete(ctrl,element,value){ctrl.app.callLater((()=>{element.autocomplete=value}))},onCreate(ctrl,element,value){value(ctrl,element)},watch(ctrl,element,value){setTimeout(((c1,e1,v1)=>{e1.dispatchEvent(new CustomEvent("watch",{bubbles:true,cancelable:true,detail:{control:c1,value:v1}}))}),1,ctrl,element,value)},ariaLabel(ctrl,e,value){if(value===null){e.removeAttribute("aria-label");return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}e.setAttribute("aria-label",value)},ariaPlaceholder(ctrl,e,value){if(value===null){e.removeAttribute("aria-placeholder");return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}e.setAttribute("aria-placeholder",value)}});ElementValueSetters["aria-label"]=ElementValueSetters.ariaLabel;ElementValueSetters["aria-placeholder"]=ElementValueSetters.ariaPlaceholder;ElementValueSetters["style-display"]=ElementValueSetters.styleDisplay;ElementValueSetters["style-left"]=ElementValueSetters.styleLeft;ElementValueSetters["style-top"]=ElementValueSetters.styleTop;ElementValueSetters["style-bottom"]=ElementValueSetters.styleBottom;ElementValueSetters["style-right"]=ElementValueSetters.styleRight;ElementValueSetters["style-width"]=ElementValueSetters.styleWidth;ElementValueSetters["style-height"]=ElementValueSetters.styleHeight;ElementValueSetters["style-position"]=ElementValueSetters.stylePosition;ElementValueSetters["style-font-size"]=ElementValueSetters.styleFontSize;ElementValueSetters["style-font-family"]=ElementValueSetters.styleFontFamily;ElementValueSetters["style-font-weight"]=ElementValueSetters.styleFontWeight;ElementValueSetters["style-border"]=ElementValueSetters.styleBorder;ElementValueSetters["style-border-width"]=ElementValueSetters.styleBorderWidth;ElementValueSetters["style-border-color"]=ElementValueSetters.styleBorderColor;ElementValueSetters["style-color"]=ElementValueSetters.styleColor;ElementValueSetters["style-background-color"]=ElementValueSetters.styleBackgroundColor;ElementValueSetters["on-create"]=ElementValueSetters.onCreate;propertyId=1;_export("AtomControl",AtomControl=class AtomControl extends AtomComponent{static from(e1){var _a;let e=e1;while(e){const{atomControl}=e;if(atomControl){return atomControl}e=(_a=e._logicalParent)!==null&&_a!==void 0?_a:e.parentElement}}static registerProperty(attributeName,attributeValue,setter){const setterSymbol=`${attributeName}_${attributeValue}_${propertyId++}`;ElementValueSetters[setterSymbol]=setter;function setterFx(v){return{[setterSymbol]:v}}setterFx.toString=()=>setterSymbol;setterFx.property=setterSymbol;return setterFx}get controlStyle(){if(this.mControlStyle===undefined){const key=TypeKey.getName(this.defaultControlStyle||this.constructor);this.mControlStyle=defaultStyleSheets[key];if(this.mControlStyle){return this.mControlStyle}if(this.defaultControlStyle){this.mControlStyle=defaultStyleSheets[key]||(defaultStyleSheets[key]=this.theme.createNamedStyle(this.defaultControlStyle,key))}this.mControlStyle=this.mControlStyle||null}return this.mControlStyle}set controlStyle(v){if(v instanceof AtomStyle){this.mControlStyle=v}else{const key=TypeKey.getName(v);this.mControlStyle=defaultStyleSheets[key]||(defaultStyleSheets[key]=this.theme.createNamedStyle(v,key))}AtomBinder.refreshValue(this,"controlStyle");this.invalidate()}get theme(){return this.mTheme||this.mCachedTheme||(this.mCachedTheme=this.parent?this.parent.theme:this.app.resolve(AtomStyleSheet,false,null))}set theme(v){this.mTheme=v;refreshInherited(this,"theme")}get parent(){let e=this.element._logicalParent||this.element.parentElement;if(!e){return null}while(e){const ac=e.atomControl;if(ac){return ac}e=e._logicalParent||e.parentElement}}get factory(){return AtomControl}constructor(app,e=document.createElement("div")){super(app,e)}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"theme":this.mCachedTheme=null;AtomBinder.refreshValue(this,"style");break;case"renderer":this.rendererChanged();break}}atomParent(e){var _a;while(e){const ac=e.atomControl;if(ac){return ac}e=(_a=e._logicalParent)!==null&&_a!==void 0?_a:e.parentElement}}append(element){if(element instanceof AtomControl){this.element.appendChild(element.element)}else{this.element.appendChild(element)}return this}updateSize(){this.onUpdateSize();visitDescendents(this.element,((e,ac)=>{if(ac){ac.updateSize();return false}return true}))}rendererChanged(){disposeChildren(this,this.element);this.element.innerHTML="";const r=this.renderer;if(!r){return}delete this.render;this.render(r)}preCreate(){}setElementValue(element,name,value){if(value===undefined){return}const setter=ElementValueSetters[name];if(setter!==void 0){setter(this,element,value);return}if(/^(data|aria)\-/.test(name)){if(value===null){element.removeAttribute(name);return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}element.setAttribute(name,value);return}if(/^style/.test(name)){name=name.substring(5);if(name.startsWith("-")){name=fromHyphenToCamel(name.substring(1))}else{name=name.charAt(0).toLowerCase()+name.substring(1)}if(value instanceof WebImage){value=`url(${value})`}element.style[name]=value;return}if(/^event/.test(name)){name=name.substring(5);if(name.startsWith("-")){name=fromHyphenToCamel(name.substring(1))}else{name=name.charAt(0).toLowerCase()+name.substring(1)}this.bindEvent(element,name,value);return}if(name.startsWith("attr-")){if(value===null){element.removeAttribute(name.substring(5));return}element.setAttribute(name.substring(5),value)}else{element[name]=value}}setElementClass(element,value,clear){const s=value;if(s&&typeof s==="object"){if(!s.className){if(clear){let sr="";for(const key in s){if(s.hasOwnProperty(key)){const sv=s[key];if(sv){sr+=sr?" "+key:key}}}element.className=sr;return}for(const key in s){if(s.hasOwnProperty(key)){const sv=s[key];if(sv){if(!element.classList.contains(key)){element.classList.add(key)}}else{if(element.classList.contains(key)){element.classList.remove(key)}}}}return}}const sv1=s?s.className||s.toString():"";element.className=sv1}onUpdateSize(){}removeAllChildren(e){let child=e.firstElementChild;while(child){const c=child;child=child.nextElementSibling;const ac=c;if(ac&&ac.atomControl){ac.atomControl.dispose()}else{this.unbindEvent(child);this.unbind(child)}c.remove()}}createNode(app,e,iterator,creator){const name=iterator.name;const attributes=iterator.attributes;if(typeof name==="string"){const element=document.createElement(name);if(name==="input"){if(!attributes.autocomplete){this.app.callLater((()=>{element.autocomplete="google-stop"}))}}e===null||e===void 0?void 0:e.appendChild(element);this.render(iterator,element,creator);return element}if(name[isAtomControl]){const forName=attributes===null||attributes===void 0?void 0:attributes.for;const ctrl=new name(app,forName?document.createElement(forName):undefined);const element=ctrl.element;e===null||e===void 0?void 0:e.appendChild(element);ctrl.render(iterator,element,creator);return element}throw new Error(`not implemented create for ${iterator.name}`)}toTemplate(app,iterator,creator){var _a;if(iterator.isTemplate){return this.toTemplate(app,iterator.children[0],creator)}const name=iterator.name;if(typeof name==="string"){return class Template extends AtomControl{constructor(a=app,e=document.createElement(name)){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}if(name[isAtomControl]){const forName=(_a=name.attributes)===null||_a===void 0?void 0:_a.for;if(forName){return class Template extends name{constructor(a=app,e=document.createElement(forName)){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}return class Template extends name{constructor(a=app,e){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}throw new Error(`Creating template from ${name} not supported`)}dispatchClickEvent(e,data){let clickEvent=data.clickEvent;if(!clickEvent){return}clickEvent=clickEvent.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));const ce=new CustomEvent(clickEvent,{detail:data,bubbles:true,cancelable:true});e.target.dispatchEvent(ce);if(ce.preventClickEvent){e.preventDefault()}}});__decorate([BindableProperty,__metadata("design:type",XNode)],AtomControl.prototype,"renderer",void 0);getSelection=()=>{const sel=window.getSelection();if(sel.rangeCount){var frag=sel.getRangeAt(0).cloneContents();var el=document.createElement("div");el.appendChild(frag);return el.innerHTML}return""};body=document.body;html=body.parentElement;window.addEventListener("click",(e=>{if(e.defaultPrevented){return}if(getSelection()){return}const originalTarget=e.target;let start=originalTarget;if(originalTarget===html){return}let clickEvent;while(start&&start!==body){clickEvent||(clickEvent=start.getAttribute("data-click-event"));if(start.tagName==="A"){if(!clickEvent){return}if(clickEvent==="route"){const{href}=start;if(href){if(Command.invokeRoute(href,true)){e.preventDefault();e.stopImmediatePropagation();e.stopPropagation()}}}e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();break}start=start.parentNode}let control=AtomControl.from(originalTarget);if(control!==void 0){const data=new Proxy(originalTarget,{get(target,p){if(typeof p!=="string"){return}while(target){const value=target.dataset[p];if(value!==void 0){return value}target=target.parentElement}}});control.dispatchClickEvent(e,data)}}))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/PopupWindow");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../../core/sleep","../../core/types","../controls/AtomControl","../core/AtomUI","./PopupWindow.global.css"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,BindableProperty,XNode,sleep,CancelToken,AtomControl,ChildEnumerator,PopupWindow,ConfirmPopup,popupService,loadPopupService,focus;_export({default:void 0,ConfirmPopup:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreBind){Bind=_coreBind.default},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreXNode){XNode=_coreXNode.default},function(_coreSleep){sleep=_coreSleep.default},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},function(_coreAtomUI){ChildEnumerator=_coreAtomUI.ChildEnumerator},function(_PopupWindowGlobalCss){}],execute:function(){loadPopupService=()=>__awaiter(void 0,void 0,void 0,(function*(){if(popupService){return popupService}return popupService=(yield _context.import("./PopupService")).default}));focus=popup=>{var _a,_b,_c;const element=popup.element;if(!element){return}const host=(_a=element.querySelector(`[data-window-element="title"]`))!==null&&_a!==void 0?_a:element.querySelector(`[data-window-element="action-bar"]`);if(host){popup.setupDragging(host)}const anyAutofocus=element.querySelector(`*[autofocus]`);if(!anyAutofocus){const cb=element.querySelector(".popup-close-button");if(cb){cb.focus()}return}(_c=(_b=anyAutofocus).focus)===null||_c===void 0?void 0:_c.call(_b)};_export("default",PopupWindow=class PopupWindow extends AtomControl{constructor(){super(...arguments);this.initialized=false}static showWindow(window,options){var arguments_1=arguments;return __awaiter(this,void 0,void 0,(function*(){if(arguments_1.length<=1){options=arguments_1[0];window=this}yield sleep(1);const PS=yield loadPopupService();return PS.showWindow(PS.lastTarget,window,options)}))}static showModal(window,options){var arguments_2=arguments;return __awaiter(this,void 0,void 0,(function*(){var _a;if(arguments_2.length<=1){options=arguments_2[0];window=this}options!==null&&options!==void 0?options:options={};(_a=options.modal)!==null&&_a!==void 0?_a:options.modal=true;yield sleep(1);const PS=yield loadPopupService();return PS.showWindow(PS.lastTarget,window,options)}))}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"iconRenderer":this.recreate(name,"icon");break;case"actionBarRenderer":this.recreate(name,"action-bar");break;case"footerRenderer":this.recreate(name,"footer");break;case"titleRenderer":this.recreate(name,"title");break;case"headerRenderer":this.recreate(name,"header");break;case"closeButtonRenderer":this.recreate(name,"close");break}}init(){}requestCancel(){return __awaiter(this,void 0,void 0,(function*(){if(this.closeWarning){if(!(yield ConfirmPopup.confirm({message:this.closeWarning}))){return}}this.cancel()}))}recreate(renderer,name){var _a,_b,_c;const node=(_b=(_a=this[renderer])===null||_a===void 0?void 0:_a.call(this))!==null&&_b!==void 0?_b:undefined;for(const e of ChildEnumerator.enumerate(this.element)){if(e.getAttribute("data-window-element")===name){this.dispose(e);e.remove();break}}if(node){const na=(_c=node.attributes)!==null&&_c!==void 0?_c:node.attributes={};na["data-window-element"]=name;super.render(XNode.create("div",null,node));return this.element.querySelector(`[data-window-element="${name}"]`)}return null}rendererChanged(){for(const content of ChildEnumerator.where(this.element,(e=>e.getAttribute("data-window-element")==="content"))){this.dispose(content);content.remove()}const r=this.renderer;if(!r){return}delete this.render;this.render(r)}preCreate(){this.title=null;this.viewModelTitle=null;this.element.setAttribute("not-ready","1");const c=new CancelToken;this.cancelToken=c;this.registerDisposable({dispose(){c.cancel()}});const handler=e=>{if(e.key==="Escape"){this.app.runAsync((()=>this.requestCancel()));e.preventDefault();return}};this.bindEvent(this.element,"keydown",handler);this.element.setAttribute("data-popup-window","popup-window");setTimeout((p=>{p.setAttribute("data-ready","true")}),10,this.element);setTimeout((p=>{var _a;const parent=(_a=p.offsetParent)!==null&&_a!==void 0?_a:document.body;const left=`${(parent.offsetWidth-p.offsetWidth)/2}px`;const top=`${(parent.offsetHeight-p.offsetHeight)/2}px`;p.style.left=left;p.style.top=top;p.removeAttribute("not-ready")}),1e3,this.element)}render(node,e,creator){var _a,_b,_c,_d,_e;if(e||((_a=node===null||node===void 0?void 0:node.attributes)===null||_a===void 0?void 0:_a["data-window-element"])){super.render(node,e,creator);return}this.render=super.render;(_b=this.titleRenderer)!==null&&_b!==void 0?_b:this.titleRenderer=()=>XNode.create("div",{class:"title-text",text:Bind.oneWay((()=>this.title||this.viewModelTitle))});(_c=this.closeButtonRenderer)!==null&&_c!==void 0?_c:this.closeButtonRenderer=()=>XNode.create("button",{class:"popup-close-button",text:"x",eventClick:Bind.event((()=>this.requestCancel()))});(_d=this.actionBarRenderer)!==null&&_d!==void 0?_d:this.actionBarRenderer=()=>XNode.create("div",null);const a=(_e=node.attributes)!==null&&_e!==void 0?_e:node.attributes={};a["data-window-content"]="window-content";a["data-window-element"]="content";const extracted=this.extractControlProperties(node);super.render(XNode.create("div",Object.assign({viewModelTitle:Bind.oneWay((()=>this.viewModel.title))},extracted),node),e,creator);if(!this.initialized){this.initialized=true;this.runAfterInit((()=>{setTimeout(focus,100,this)}))}}setupDragging(tp){this.bindEvent(tp,"mousedown",(startEvent=>{if(startEvent.target.tagName==="BUTTON"){return}startEvent.preventDefault();const disposables=[];const element=this.element;const offset={x:element.offsetLeft,y:element.offsetTop};this.element.dataset.dragging="true";const rect={x:startEvent.clientX,y:startEvent.clientY};const cursor=tp.style.cursor;tp.style.cursor="move";disposables.push(this.bindEvent(document.body,"mousemove",(moveEvent=>{const{clientX,clientY}=moveEvent;const dx=clientX-rect.x;const dy=clientY-rect.y;const finalX=offset.x+dx;const finalY=offset.y+dy;if(finalX<5||finalY<5){return}offset.x=finalX;offset.y=finalY;this.element.style.left=offset.x+"px";this.element.style.top=offset.y+"px";rect.x=clientX;rect.y=clientY})));disposables.push(this.bindEvent(document.body,"mouseup",(endEvent=>{tp.style.cursor=cursor;this.element.removeAttribute("data-dragging");for(const iterator of disposables){iterator.dispose()}})))}))}});__decorate([BindableProperty,__metadata("design:type",String)],PopupWindow.prototype,"title",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"titleRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"closeButtonRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"footerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"headerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"iconRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"actionBarRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",String)],PopupWindow.prototype,"closeWarning",void 0);delete PopupWindow.prototype.init;_export("ConfirmPopup",ConfirmPopup=class ConfirmPopup extends PopupWindow{static confirm(_a){return __awaiter(this,arguments,void 0,(function*({message,title="Confirm",yesLabel="Yes",noLabel="No",cancelLabel=null}){const PS=yield loadPopupService();return PS.confirm({title,message,yesLabel,noLabel,cancelLabel})}))}preCreate(){super.preCreate();this.yesLabel="Yes";this.noLabel="No";this.cancelLabel=null;this.element.setAttribute("data-confirm-popup","confirm-popup");this.footerRenderer=()=>XNode.create("div",null,XNode.create("button",{class:"yes",autofocus:true,text:Bind.oneWay((()=>this.yesLabel)),eventClick:()=>this.close(true),"style-display":Bind.oneWay((()=>!!this.yesLabel))}),XNode.create("button",{class:"no",text:Bind.oneWay((()=>this.noLabel)),eventClick:()=>this.close(false),"style-display":Bind.oneWay((()=>!!this.noLabel))}),XNode.create("button",{class:"cancel",text:Bind.oneWay((()=>this.cancelLabel)),eventClick:()=>this.requestCancel(),"style-display":Bind.oneWay((()=>!!this.cancelLabel))}));this.closeButtonRenderer=()=>XNode.create("div",{"style-display":"none"})}requestCancel(){this.cancel();return Promise.resolve()}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/PopupService");System.register(["tslib","../../core/AtomDisposableList","../../core/InheritedProperty","../../core/types","../../core/XNode","../controls/AtomControl","./PopupService.global.css","./PopupWindow"],(function(_export,_context){"use strict";var __awaiter,__rest,AtomDisposableList,getOwnInheritedProperty,CancelToken,XNode,AtomControl,PopupWindowA,ConfirmPopup,PopupControl,PopupService,PopupWindow,popupCss,disableContain,popupId,lastTarget;function findHostAndPosition(opener){let root=opener;const body=document.body;let rect=opener.getBoundingClientRect();const offset={x:rect.left,y:rect.top,handler:null,root};do{root=root.parentElement;if(root===body){break}if(root.parentElement.classList.contains("page-host")){break}if(root.classList.contains("popup-host")){break}if(root.getAttribute("data-pop-up-host")==="yes"){break}}while(true);rect=root.getBoundingClientRect();offset.x-=rect.x;offset.y-=rect.y;offset.root=root;return offset}function findHost(opener,offset){var _a,_b;let host=opener.offsetParent;while(host){const current=host;if(host===document.body){return host}if(host.classList.contains("popup-host")){return host}if(host.dataset.popUpHost==="yes"){return host}const parent=(_a=host.offsetParent)!==null&&_a!==void 0?_a:host.parentElement;host=parent;if(host.classList.contains("page-host")){host=current;return host}if(!host){continue}if(!offset){continue}offset.x+=host.offsetLeft;offset.y+=host.offsetTop-((_b=parent===null||parent===void 0?void 0:parent.scrollTop)!==null&&_b!==void 0?_b:0)}return host!==null&&host!==void 0?host:document.body}function closeHandler(host,opener,container,close){let handler=null;handler=e=>{var _a;if(container===null||container===void 0?void 0:container.element){const ce=new CustomEvent("outsideClick",{detail:e,cancelable:true,bubbles:true});container.element.dispatchEvent(ce);if(ce.defaultPrevented){return}}let start=e.target;if(e.defaultPrevented){return}while(start){if(start===host){break}if(start===opener){return}if(start===container.element){return}start=start.parentElement}close();e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e)};document.body.addEventListener("click",handler,true);container.registerDisposable((()=>document.body.removeEventListener("click",handler,true)));const onBack=e=>{var _a;e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e);e.stopPropagation();close()};window.addEventListener("backButton",onBack,true);container.registerDisposable((()=>window.removeEventListener("backButton",onBack,true)));setTimeout((()=>{container.registerDisposable(disableContain(container.element))}),10)}_export("PopupControl",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__rest=_tslib.__rest},function(_coreAtomDisposableList){AtomDisposableList=_coreAtomDisposableList.AtomDisposableList},function(_coreInheritedProperty){getOwnInheritedProperty=_coreInheritedProperty.getOwnInheritedProperty},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_coreXNode){XNode=_coreXNode.default},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},function(_PopupServiceGlobalCss){},function(_PopupWindow){PopupWindowA=_PopupWindow.default;ConfirmPopup=_PopupWindow.ConfirmPopup}],execute:function(){_export("PopupWindow",PopupWindow=PopupWindowA);document.body.addEventListener("click",(e=>{if(e.target.offsetParent){PopupService.lastTarget=e.target}}));popupCss="web-atoms-popup-local";_export("PopupControl",PopupControl=class PopupControl extends AtomControl{static showControl(opener,_a={}){var{onClick="close"}=_a,options=__rest(_a,["onClick"]);let openerElement=options===null||options===void 0?void 0:options.parentElement;let app;if(opener instanceof AtomControl){openerElement!==null&&openerElement!==void 0?openerElement:openerElement=opener.element;app=opener.app}else{openerElement!==null&&openerElement!==void 0?openerElement:openerElement=opener;let start=opener;while(!start.atomControl){start=start.parentElement}if(!start){return Promise.reject("Could not create popup as target is not attached")}app=start.atomControl.app}const popup=new this(app);if(onClick==="close"){popup.bindEvent(popup.element,"click",(()=>setTimeout((()=>popup.close()),10)))}else if(onClick==="cancel"){popup.bindEvent(popup.element,"click",(()=>setTimeout((()=>popup.cancel()),10)))}const p=PopupService.show(openerElement,popup.element,options);return new Promise(((resolve,reject)=>{let resolved=false;popup.close=r=>{if(resolved){return}resolved=true;PopupService.lastTarget=openerElement;resolve(r);p.dispose()};popup.cancel=e=>{if(resolved){return}resolved=true;PopupService.lastTarget=openerElement;reject(e);p.dispose()}}))}});_export("disableContain",disableContain=ce=>{const containNoneList=[];while(ce){const style=window.getComputedStyle(ce);const isNotNone=style.contain!=="none";if(isNotNone){ce.setAttribute("data-force-contain","none");containNoneList.push(ce)}ce=ce.parentElement}return()=>{for(const iterator of containNoneList){iterator.removeAttribute("data-force-contain")}}});popupId=1001;lastTarget={element:null,x:10,y:10};PopupService=class PopupService{static get lastTarget(){var _a,_b,_c;const{element,x=0,y=0}=lastTarget;if(element===null||element===void 0?void 0:element.isConnected){return element}const targets=this.targetPath;if(targets){for(;;){const first=targets[0];if(!first){break}if(first.isConnected){lastTarget={element:first,x,y};return first}targets.splice(0,1)}}let e=(_b=(_a=document.elementFromPoint)===null||_a===void 0?void 0:_a.call(document,x,y))!==null&&_b!==void 0?_b:document.body;if(((_c=this.defaultElementTarget)===null||_c===void 0?void 0:_c.isConnected)&&(e===document.documentElement||e===document.body)){e=this.defaultElementTarget}PopupService.lastTarget=e;return e}static set lastTarget(element){if(!element.isConnected){return}if(element===document.documentElement){return}let start=element;const targets=[start];while(start){start=start.parentElement;if(start){targets.push(start)}}this.targetPath=targets;if(!this.defaultElementTarget&&element!==document.body&&element!==document.documentElement){this.defaultElementTarget=element}const rect=element.getBoundingClientRect();lastTarget={element,x:rect.left+rect.width/2,y:rect.top+rect.height/2}}static alert(_a){return __awaiter(this,arguments,void 0,(function*({message,detail,title="Alert",yesLabel="Ok"}){var _b,_c;try{const isMsgXNode=message instanceof XNode;const isDetailXNode=detail&&detail instanceof XNode;if(isMsgXNode){((_b=message.attributes)!==null&&_b!==void 0?_b:message.attributes={})["data-element"]="message"}if(isDetailXNode){((_c=detail.attributes)!==null&&_c!==void 0?_c:detail.attributes={})["data-element"]="details"}const popup=class extends ConfirmPopup{create(){this.render(XNode.create("div",null,isMsgXNode?message:XNode.create("div",{"data-element":"message",text:message}),detail&&(isDetailXNode?detail:XNode.create("details",{"data-element":"details"},XNode.create("pre",{text:detail})))))}};return yield popup.showModal({parameters:{message,detail,yesLabel,noLabel:""},title})}catch(e){if(CancelToken.isCancelled(e)){return false}throw e}}))}static confirm(_a){return __awaiter(this,arguments,void 0,(function*({message,title="Confirm",yesLabel="Yes",noLabel="No",cancelLabel=null}){try{const popup=class extends ConfirmPopup{create(){this.render(XNode.create("div",null,message instanceof XNode?message:XNode.create("div",{text:message})))}};return yield popup.showModal({parameters:{message,yesLabel,noLabel,cancelLabel},title})}catch(e){if(CancelToken.isCancelled(e)){return false}throw e}}))}static showWindow(opener,popupClass,popupOptions){return new Promise(((resolve,reject)=>{var _a,_b,_c,_d,_e;var _f;const activeElement=document.activeElement;const previousTarget=opener;const parent=AtomControl.from(opener);const control=new popupClass(parent.app,document.createElement("div"));const vm=(_a=getOwnInheritedProperty(control,"viewModel"))!==null&&_a!==void 0?_a:"parameters"in control?(_b=(_f=control).parameters)!==null&&_b!==void 0?_b:_f.parameters={}:control;let element=control.element;element.style.zIndex=`${popupId++}`;let resolved=false;const close=r=>{setTimeout((()=>{if(!resolved){resolved=true;setTimeout(resolve,1,r);if(control.element){control.element.remove();control.dispose()}element===null||element===void 0?void 0:element.remove();element=undefined;PopupService.lastTarget=previousTarget;try{activeElement===null||activeElement===void 0?void 0:activeElement.focus()}catch(error){console.error(error)}}}),1)};const cancel=r=>{setTimeout((()=>{if(!resolved){resolved=true;setTimeout(reject,1,r!==null&&r!==void 0?r:"cancelled");if(control.element){control.element.remove();control.dispose()}element===null||element===void 0?void 0:element.remove();element=undefined;PopupService.lastTarget=previousTarget;try{activeElement===null||activeElement===void 0?void 0:activeElement.focus()}catch(error){console.error(error)}}}),1)};let isModal=false;if(popupOptions){const{width,height,minHeight,maxHeight,minWidth,maxWidth,maximize,title,parameters,cancelToken,modal}=popupOptions;if(title){vm.title=title}let widthSet=false;let heightSet=false;if(maximize){element.setAttribute("data-maximize","true");widthSet=heightSet=true}else{if(width){element.style.width=typeof width==="number"?width+"px":width;widthSet=true}if(height){element.style.height=typeof height==="number"?height+"px":height;heightSet=true}if(minWidth){element.style.minWidth=typeof minWidth==="number"?minWidth+"px":minWidth;widthSet=true}if(minHeight){element.style.minHeight=typeof minHeight==="number"?minHeight+"px":minHeight;heightSet=true}if(maxWidth){element.style.maxWidth=typeof maxWidth==="number"?maxWidth+"px":maxWidth;widthSet=true}if(maxHeight){element.style.maxHeight=typeof maxHeight==="number"?maxHeight+"px":maxHeight;heightSet=true}}if(!widthSet){element.setAttribute("data-no-width","true")}if(!heightSet){element.setAttribute("data-no-height","true")}if(parameters){for(const key in parameters){if(Object.prototype.hasOwnProperty.call(parameters,key)){const e=parameters[key];vm[key]=e}}(_e=(_d=(_c=control).init)===null||_d===void 0?void 0:_d.call(_c))===null||_e===void 0?void 0:_e.catch((error=>{if(!CancelToken.isCancelled(error)){console.error(error)}}))}cancelToken===null||cancelToken===void 0?void 0:cancelToken.registerForCancel(cancel);isModal=modal}const host=findHost(opener);host.appendChild(control.element);vm.cancel=cancel;vm.close=close;if(vm!==control){control.cancel=cancel;control.close=close}if(isModal){const bg=document.createElement("div");bg.setAttribute("data-window-modal-background","background");host.appendChild(bg);const onBack=e=>{var _a,_b,_c;e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e);e.stopPropagation();(_c=(_b=control).requestCancel)===null||_c===void 0?void 0:_c.call(_b)};window.addEventListener("backButton",onBack,true);control.registerDisposable({dispose:()=>{bg.remove();window.removeEventListener("backButton",onBack,true)}})}else{closeHandler(host,opener,control,cancel)}}))}static show(opener,popup,options){var _a,_b;const previousTarget=opener;const container={element:document.createElement("div"),disposables:new AtomDisposableList,registerDisposable:null,dispose:null};container.registerDisposable=f=>container.disposables.add(f);let alignment=(_a=options===null||options===void 0?void 0:options.alignment)!==null&&_a!==void 0?_a:"auto";if(alignment==="auto"){const rect=opener.getBoundingClientRect();const w=window.visualViewport.width;if(rect.left>w/2){alignment="bottomRight"}}const isCenterOfScreen=alignment==="centerOfScreen";const popupStyle=(_b=options===null||options===void 0?void 0:options.popupStyle)!==null&&_b!==void 0?_b:popupCss;container.element._logicalParent=opener;container.element.classList.add(popupStyle);if(isCenterOfScreen){container.element.dataset.centerPopup="center"}else{container.element.dataset.inlinePopup="left";const alignPopup=()=>{switch(alignment){case"bottomRight":container.element.style.top=opener.offsetTop+opener.offsetHeight+"px";container.element.style.right="0px";container.element.dataset.inlinePopup="right";opener.insertAdjacentElement("afterend",container.element);break;case"topRight":case"right":container.element.style.top=opener.offsetTop+"px";container.element.style.left=opener.offsetWidth+"px";opener.insertAdjacentElement("afterend",container.element);break;case"bottomLeft":container.element.dataset.inlinePopup="inline-left";container.element.style.top=opener.offsetTop+opener.offsetHeight+"px";opener.insertAdjacentElement("beforebegin",container.element);break;default:container.element.style.top=opener.offsetTop+opener.offsetHeight+"px";opener.insertAdjacentElement("afterend",container.element);break}};if(opener.offsetParent!==opener.parentElement){opener.parentElement.style.position="relative";setTimeout(alignPopup,5)}else{alignPopup()}}const parent=AtomControl.from(opener);if(popup instanceof XNode){parent.render(popup,container)}else{container.element.appendChild(popup)}const style=container.element.style;style.zIndex=`${popupId++}`;container.dispose=()=>{if(!container.disposables){return}container.disposables.dispose();parent.dispose(container.element);container.element.remove();container.disposables=null;PopupService.lastTarget=previousTarget};closeHandler(opener.parentElement,opener,container,(()=>{const e=container.element;container.dispose();e.remove()}));const ct=options===null||options===void 0?void 0:options.cancelToken;if(ct){ct.registerForCancel((()=>container.dispose()))}return container}};PopupService.targetPath=[];_export("default",PopupService)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/PageNavigator");System.register(["tslib","@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/Command"],(function(_export,_context){"use strict";var __awaiter,CancelToken,PageCommands,PageNavigator;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistCoreCommand){PageCommands=_webAtomsCoreDistCoreCommand.PageCommands}],execute:function(){_export("default",PageNavigator=class PageNavigator{static openPage(page,parameters={},clearHistory=true){this.pushPageForResult(page,parameters,clearHistory).catch((e=>{if(!CancelToken.isCancelled(e)){console.error(e)}}))}static pushPage(page,parameters={},clearHistory=false){this.pushPageForResult(page,parameters,clearHistory).catch((e=>{if(!CancelToken.isCancelled(e)){console.error(e)}}))}static pushPageForResult(page_1){return __awaiter(this,arguments,void 0,(function*(page,parameters={},clearHistory=false){return null}))}static pushPageForResultOrCancel(page,parameters,clearHistory){try{return this.pushPageForResult(page,parameters)}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e);return}}});PageCommands.openPage=(c,p)=>PageNavigator.openPage(c,p);PageCommands.pushPage=(c,p)=>PageNavigator.pushPage(c,p);PageCommands.pushPageForResult=(c,p)=>PageNavigator.pushPageForResult(c,p)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/mobile-app/MobileApp");System.register(["tslib","@web-atoms/core/dist/core/AtomLoader","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/services/NavigationService","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/services/PopupService","../PageNavigator","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/types","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/Route","./MobileApp.global.css"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomLoader,sleep,XNode,NavigationService,AtomControl,PopupService,PopupWindow,PageNavigator,StringHelper,BindableProperty,AtomDisposableList,Bind,CancelToken,AncestorEnumerator,ChildEnumerator,displayRouteSymbol,Route,Drawer,BasePage,ContentPage,TabbedPage,MobileApp,PopupWindowEx,PopupWindowPage,_a,historyBackCalled,isMobileView,isPopupPage,root;function PullToRefresh(){return XNode.create("div",null,XNode.create("i",{class:"pull-icon fa-solid fa-down"}),XNode.create("span",{class:"down",text:" Pull"}),XNode.create("span",{class:"up",text:" Refresh"}),XNode.create("i",{class:"loading fa-duotone fa-spinner fa-spin"}))}_export({PullToRefresh,Drawer:void 0,BasePage:void 0,ContentPage:void 0,TabbedPage:void 0,PopupWindowPage:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreAtomLoader){AtomLoader=_webAtomsCoreDistCoreAtomLoader.AtomLoader},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistServicesNavigationService){NavigationService=_webAtomsCoreDistServicesNavigationService.NavigationService},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default;PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_PageNavigator){PageNavigator=_PageNavigator.default},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreAtomDisposableList){AtomDisposableList=_webAtomsCoreDistCoreAtomDisposableList.AtomDisposableList},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator;ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator},function(_webAtomsCoreDistCoreCommand){displayRouteSymbol=_webAtomsCoreDistCoreCommand.displayRouteSymbol},function(_webAtomsCoreDistCoreRoute){Route=_webAtomsCoreDistCoreRoute.default},function(_MobileAppGlobalCss){}],execute:function(){_export("Drawer",Drawer=class Drawer extends AtomControl{init(){}preCreate(){this.element.dataset.drawerPage="drawer-page";this.bindEvent(this.element,"click",(e=>{const target=e.target;if(e.defaultPrevented){return}if(/input/i.test(target.tagName)&&!/button|submit/i.test(target.type)){return}this.closeDrawer()}));this.runAfterInit((()=>this.app.runAsync((()=>{var _b;return(_b=this.init)===null||_b===void 0?void 0:_b.call(this)}))))}closeDrawer(){const ce=new CustomEvent("closeDrawer",{bubbles:true});this.element.dispatchEvent(ce)}});delete Drawer.prototype.init;historyBackCalled=false;_export("BasePage",BasePage=class BasePage extends AtomControl{constructor(){super(...arguments);this.keep=false;this.disableAutoFocus=false}get route(){return this.routeUrl}set route(url){var _b,_c;if(!url){return}if(((_b=history.state)===null||_b===void 0?void 0:_b.url)===url){return}url=Route.encodeUrl(url);if(this.routeUrl===url){return}this.routeUrl=url;(_c=this.routeDisposable)===null||_c===void 0?void 0:_c.dispose();let last=void 0;setTimeout((()=>last=url),100);const state={url};history.pushState(state,"",url);const eventRegistration=e=>{var _b;if(historyBackCalled){return}if(((_b=e.state)===null||_b===void 0?void 0:_b.url)===last){this.cancel()}};window.addEventListener("popstate",eventRegistration);const d={dispose(){var _b;window.removeEventListener("popstate",eventRegistration);if(((_b=history.state)===null||_b===void 0?void 0:_b.url)===state.url){historyBackCalled=true;history.back();setTimeout((()=>historyBackCalled=false),500)}}};this.routeDisposable=this.registerDisposable(d)}get hideToolbar(){var _b,_c;return((_c=(_b=this.element)===null||_b===void 0?void 0:_b.dataset)===null||_c===void 0?void 0:_c.hideToolbar)?true:false}set hideToolbar(v){this.element.dataset.hideToolbar=v?"true":"false"}requestCancel(){return __awaiter(this,void 0,void 0,(function*(){if(this.closeWarning){if(!(yield PopupService.confirm({message:this.closeWarning}))){return}}this.cancel()}))}onPropertyChanged(name){var _b;super.onPropertyChanged(name);switch(name){case"footerRenderer":this.recreate(name,"footer");break;case"iconRenderer":this.recreate(name,"icon");break;case"titleRenderer":this.recreate(name,"title");break;case"actionRenderer":this.recreate(name,"action");break;case"headerRenderer":this.recreate(name,"header");break;case"pullToRefreshRenderer":this.pullToRefreshElement=this.recreate(name,"pull-to-refresh");(_b=this.pullToRefreshElement)===null||_b===void 0?void 0:_b.remove();this.enablePullToRefreshEvents();break;case"actionBarRenderer":this.recreate(name,"action-bar");break}}init(){}rendererChanged(){for(const content of ChildEnumerator.where(this.element,(({dataset:{pageElement}})=>!pageElement||pageElement==="content"))){this.dispose(content);content.remove()}const r=this.renderer;if(!r){return}delete this.render;this.render(r)}recreate(renderer,name){var _b,_c,_d;const node=(_c=(_b=this[renderer])===null||_b===void 0?void 0:_b.call(this))!==null&&_c!==void 0?_c:undefined;for(const e of ChildEnumerator.enumerate(this.element)){if(e.dataset.pageElement===name){this.dispose(e);e.remove();break}}if(node){const na=(_d=node.attributes)!==null&&_d!==void 0?_d:node.attributes={};na["data-page-element"]=name;super.render(XNode.create("div",null,node));return this.element.querySelector(`[data-page-element="${name}"]`)}return null}preCreate(){this.element.dataset.basePage="base-page";this.iconClass="";this.viewModelTitle=null;const c=new CancelToken;this.cancelToken=c;this.registerDisposable({dispose(){c.cancel()}});this.runAfterInit((()=>{if(!this.element){return}const anyAutofocus=this.element.querySelector(`*[autofocus]`);if(!anyAutofocus){if(this.disableAutoFocus){return}const windowContent=this.element.querySelector(`[data-page-element="content"]`);if(windowContent){const firstInput=windowContent.querySelector("input,textarea");if(firstInput){firstInput.focus();return}}return}anyAutofocus.focus()}));setTimeout((p=>{p.dataset.pageState="ready"}),1,this.element);this.titleRenderer=()=>XNode.create("span",{"data-text-overflow":"ellipsis",class:"title-text",text:Bind.oneWay((()=>this.viewModelTitle||this.title))});this.iconRenderer=()=>XNode.create("i",{"data-icon-button":"icon-button",class:Bind.oneWay((()=>this.iconClass)),eventClick:e1=>this.dispatchIconClickEvent(e1)});this.actionBarRenderer=()=>XNode.create("div",null);this.runAfterInit((()=>{var _b,_c,_d,_e;(_c=(_b=this.pullToRefreshElement)===null||_b===void 0?void 0:_b.remove)===null||_c===void 0?void 0:_c.call(_b);this.initialized=true;this.enablePullToRefreshEvents();try{document.body.dispatchEvent(new CustomEvent("pageNavigated",{detail:{title:this.title,route:this.route||((_e=(_d=Object.getPrototypeOf(this))===null||_d===void 0?void 0:_d.constructor)===null||_e===void 0?void 0:_e.name)},bubbles:true,cancelable:true}))}catch(_f){}}))}render(node,e,creator){var _b,_c;if(e||((_b=node===null||node===void 0?void 0:node.attributes)===null||_b===void 0?void 0:_b["data-page-element"])){super.render(node,e,creator);return}this.render=super.render;const na=(_c=node.attributes)!==null&&_c!==void 0?_c:node.attributes={};let extracted={};if(!na["data-page-element"]){na["data-page-element"]="content";extracted=this.extractControlProperties(node)}super.render(XNode.create("div",Object.assign({viewModelTitle:Bind.oneWay((()=>this.viewModel.title))},extracted),node),e,creator);this.contentElement=this.element.querySelector("[data-page-element='content']");setTimeout((()=>{this.contentElement.scrollTop=0;this.contentElement.scrollLeft=0}),100)}enablePullToRefreshEvents(){var _b;const e=this.pullToRefreshElement;if(!e){(_b=this.pullToRefreshDisposable)===null||_b===void 0?void 0:_b.dispose();this.pullToRefreshDisposable=void 0;return e}if(this.pullToRefreshDisposable){return}let elementAdded=false;const touchStart=te=>{var _b;if(!this.pullToRefreshElement){(_b=this.pullToRefreshDisposable)===null||_b===void 0?void 0:_b.dispose();this.pullToRefreshDisposable=null;return}if(this.contentElement.scrollTop>0){return}const isMouseEvent=te.type==="mousedown";const moveEventName=isMouseEvent?"mousemove":"touchmove";const endEventName=isMouseEvent?"mouseup":"touchend";const startY=isMouseEvent?te.screenY:te.touches[0].screenY;this.pullToRefreshElement.dataset.mode="down";if(isMouseEvent){te.stopPropagation();te.preventDefault()}const d=new AtomDisposableList;d.add((()=>{this.contentElement.style.removeProperty("touch-action")}));d.add(this.bindEvent(this.contentElement,moveEventName,(me=>{const screenY=isMouseEvent?me.screenY:me.touches[0].screenY;const diffX=Math.min(75,screenY-startY);if(diffX>5){if(!elementAdded){this.contentElement.style.touchAction="none";elementAdded=true;this.element.appendChild(this.pullToRefreshElement)}}else{return}this.contentElement.style.transform=`translateY(${diffX}px)`;if(diffX>50){this.pullToRefreshElement.dataset.mode="up"}else{this.pullToRefreshElement.dataset.mode="down"}}),null,{passive:true}));d.add(this.bindEvent(this.contentElement,endEventName,(ue=>{ue.stopPropagation();if(isMouseEvent){ue.stopImmediatePropagation();ue.preventDefault()}d.dispose();const done=()=>{delete this.pullToRefreshElement.dataset.mode;this.contentElement.style.transform=``;this.pullToRefreshElement.style.transform="";this.pullToRefreshElement.remove();elementAdded=false};const diffX=ue.screenY-startY;if(diffX<=50){done();return}const ce=new CustomEvent("reloadPage",{detail:this,bubbles:true,cancelable:true});this.contentElement.dispatchEvent(ce);if(ce.defaultPrevented){done();return}this.pullToRefreshElement.dataset.mode="loading";const promise=ce.promise;if(!promise){done();return}promise.then(done,done)}),null,{passive:!isMouseEvent}))};const ed=new AtomDisposableList;ed.add(this.bindEvent(this.contentElement,"mousedown",touchStart));ed.add(this.bindEvent(this.contentElement,"touchstart",touchStart,null,{passive:true}));this.pullToRefreshDisposable=ed}dispatchIconClickEvent(e){const ce=new CustomEvent("iconClick",{bubbles:true});e.target.dispatchEvent(ce)}hide(){var _b;const{element}=this;if(!element){return}element.setAttribute("data-page-state","hidden");if(this.keep){setTimeout((()=>element.setAttribute("data-page-removed","true")),400);return}element._logicalParent=element.parentElement;this.scrollTop=(_b=this.contentElement)===null||_b===void 0?void 0:_b.scrollTop;setTimeout((()=>{element===null||element===void 0?void 0:element.remove()}),400)}show(){if(this.keep){this.element.removeAttribute("data-page-removed")}else{this.element._logicalParent.appendChild(this.element)}setTimeout((()=>{if(this.scrollTop){this.contentElement.scrollTop=this.scrollTop}this.element.setAttribute("data-page-state","ready")}),1)}});__decorate([BindableProperty,__metadata("design:type",String)],BasePage.prototype,"closeWarning",void 0);__decorate([BindableProperty,__metadata("design:type",String)],BasePage.prototype,"title",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"titleRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"iconRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"actionRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"footerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"actionBarRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"headerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"pullToRefreshRenderer",void 0);delete BasePage.prototype.init;_export("ContentPage",ContentPage=class ContentPage extends BasePage{});_export("TabbedPage",TabbedPage=class TabbedPage extends BasePage{});MobileApp=class MobileApp extends AtomControl{static pushPage(pageUri_1){return __awaiter(this,arguments,void 0,(function*(pageUri,parameters={},clearHistory=false){const mobileApp=this.current;const page=yield AtomLoader.loadClass(pageUri,parameters!==null&¶meters!==void 0?parameters:{},mobileApp.app);const result=yield mobileApp.loadPage(page,clearHistory);return result}))}popTo(w){this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){while(this.selectedPage!==w){this.selectedPage.cancel();yield sleep(500)}}))))}back(){return __awaiter(this,void 0,void 0,(function*(){if(this.pages.length===0){const drawer=this.drawer;if(drawer&&!this.hideDrawer){const drawerPage=new drawer(this.app);const modalClose=ce=>{var _b;let start=ce.target;const de=drawerPage.element;while(start){if(start===de){return}start=start.parentElement}ce.preventDefault();(_b=ce.stopImmediatePropagation)===null||_b===void 0?void 0:_b.call(ce);ce.target.dispatchEvent(new CustomEvent("closeDrawer",{bubbles:true}))};const dispatchCloseDrawer=de=>{if(de.defaultPrevented){return}const target=de.target;if(AncestorEnumerator.find(target,(x=>x===drawerPage.element))){return}de.target.dispatchEvent(new CustomEvent("closeDrawer",{bubbles:true}))};this.element.appendChild(drawerPage.element);setTimeout((()=>{this.element.dataset.drawer="visible";drawerPage.bindEvent(this.element,"click",dispatchCloseDrawer);drawerPage.bindEvent(document.body,"click",modalClose,null,true)}),10);this.hideDrawer=()=>{this.element.dataset.drawer="";setTimeout((()=>{const de=drawerPage.element;drawerPage.dispose();de.remove()}),400);this.hideDrawer=undefined};return false}return true}this.selectedPage.cancel("cancelled");return false}))}init(){return __awaiter(this,void 0,void 0,(function*(){}))}preCreate(){MobileApp.current=this;window.addEventListener("backButton",(ce=>{const{detail}=ce;ce.preventDefault();this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){if(yield this.back()){detail()}}))))}));this.drawer=null;this.element.dataset.pageApp="page-app";const container=this.container=document.createElement("div");container.dataset.container="true";this.element.appendChild(container);this.pages=[];this.selectedPage=null;this.bindEvent(this.element,"iconClick",(e=>this.back()));this.bindEvent(this.element,"closeDrawer",(e=>{var _b;(_b=this.hideDrawer)===null||_b===void 0?void 0:_b.call(this)}));const navigationService=this.app.resolve(NavigationService);navigationService.registerNavigationHook(((uri,{target,clearHistory})=>{if(/^(app|root)$/.test(target)){return this.loadPageForReturn(uri,clearHistory)}}));this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}loadPageForReturn(url,clearHistory){return __awaiter(this,void 0,void 0,(function*(){var _b;(_b=this.defaultPage)!==null&&_b!==void 0?_b:this.defaultPage=url;const page=yield AtomLoader.loadControl(url,this.app);if(url.query&&url.query.title){page.title||(page.title=url.query.title.toString())}const p=yield this.loadPage(page,clearHistory);try{return yield p}catch(ex){if((ex.message?ex.message:ex)==="cancelled"){console.warn(ex);return}throw ex}}))}loadPage(page,clearHistory){return __awaiter(this,void 0,void 0,(function*(){page.title||(page.title=StringHelper.fromPascalToTitleCase(Object.getPrototypeOf(page).constructor.name));const{parameters}=page;const route=parameters===null||parameters===void 0?void 0:parameters[displayRouteSymbol];if(route){page.route=route}const selectedPage=this.selectedPage;if(selectedPage){selectedPage.hide();this.pages.add(selectedPage)}const hasPages=!clearHistory&&this.pages.length;if(clearHistory){for(const iterator of this.pages){const e=iterator.element;iterator.dispose();e.remove()}this.pages.length=0;this.selectedPage=null}if(!hasPages){page.element.dataset.pageState="ready";page.iconClass="fas fa-bars"}else{page.iconClass="fas fa-arrow-left"}this.container.appendChild(page.element);this.selectedPage=page;const vm=page.viewModel;const element=page.element;return new Promise(((resolve,reject)=>{const closeFactory=(callback,result)=>r=>{if(clearHistory){this.app.runAsync((()=>this.loadPageForReturn(this.defaultPage,true)));return}element.removeAttribute("data-page-state");const last=this.pages.pop();last.show();setTimeout((()=>{page.dispose();element.remove();callback(r!==null&&r!==void 0?r:result);this.selectedPage=last}),300)};const cancel=closeFactory(reject,"cancelled");const close=closeFactory(resolve);if(vm){vm.cancel=cancel;vm.close=close}page.cancel=cancel;page.close=close}))}))}};MobileApp.drawer=XNode.prepare("drawer",true,true);_export("default",MobileApp);_export("isMobileView",isMobileView=/Android|iPhone/i.test(navigator.userAgent)||window.visualViewport.width<500||window.forceMobileLayout);isPopupPage=Symbol("isPopupPage");PopupWindowEx=class PopupWindowEx extends PopupWindow{};_a=isPopupPage;PopupWindowEx[_a]=true;root=isMobileView?ContentPage:PopupWindowEx;_export("PopupWindowPage",PopupWindowPage=class PopupWindowPage extends root{});PageNavigator.pushPageForResult=(page,parameters,clearHistory)=>{var _b,_c;if(!isMobileView&&page[isPopupPage]){const popupPage=page;const options=Object.assign(Object.assign({},(_b=popupPage.dialogOptions)!==null&&_b!==void 0?_b:{}),{parameters:{parameters}});(_c=options.modal)!==null&&_c!==void 0?_c:options.modal=true;if(options.modal){return page.showModal(options)}return page.showWindow(options)}return MobileApp.pushPage(page,parameters,clearHistory)}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/http/JsonError");System.register([],(function(_export,_context){"use strict";var JsonError;_export("default",void 0);return{setters:[],execute:function(){_export("default",JsonError=class JsonError extends Error{constructor(message,json){super(message);this.json=json}get errors(){var _a;return(_a=this.json.paramErrors)!==null&&_a!==void 0?_a:[]}get details(){var _a;const{errors}=this;if(errors.length){return errors.map((x=>`${x.name}: ${x.reason}`)).join("\n")}return(_a=this.json)===null||_a===void 0?void 0:_a.details}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/Action");System.register(["tslib","../App","../core/Command","../core/EventScope","../core/StringHelper","../core/types","../services/http/JsonError","../services/NavigationService","../web/services/PopupService"],(function(_export,_context){"use strict";var __awaiter,App,Command,EventScope,StringHelper,CancelToken,errorHandled,JsonError,NavigationService,NotifyType,PopupService,MarkBusySet,onEventHandler;function Action({onEvent=void 0,onEventTarget=void 0,onEventSetBusy,blockMultipleExecution=true,dispatchEvent,authorize=void 0,defer=void 0,success=null,successTitle="Done",successMode="notify",confirm=null,confirmTitle=null,validate=false,validateTitle=null,close=false,notifyDelay=2e3}={}){return(target,key,descriptor)=>{const getEventNames=names=>{if(names===null||names===void 0){return}if(Array.isArray(names)){return names.map(getEventNames)}if(names instanceof Command){onEventTarget!==null&&onEventTarget!==void 0?onEventTarget:onEventTarget=window;return names.eventScope.eventType}if(names instanceof EventScope){onEventTarget!==null&&onEventTarget!==void 0?onEventTarget:onEventTarget=window;return names.eventType}return names};onEvent=getEventNames(onEvent);if((onEvent===null||onEvent===void 0?void 0:onEvent.length)>0){const oldCreate=target.beginEdit;if(oldCreate){const onEventName=Array.isArray(onEvent)?onEvent.map(StringHelper.fromHyphenToCamel):StringHelper.fromHyphenToCamel(onEvent);const busyKey=Symbol.for("isBusy"+key.toString());target.beginEdit=function(){const result=oldCreate.apply(this,arguments);const c=this;let element=this.element;if(element){if(onEventTarget){element=onEventTarget}const handler=onEventHandler(c,blockMultipleExecution,key,busyKey,onEventSetBusy);if(typeof onEventName==="string"){c.bindEvent(element,onEventName,handler)}else{for(const eventName of onEventName){c.bindEvent(element,eventName,handler)}}}return result}}}const{value}=descriptor;const deferSymbol=defer?Symbol.for(`${key.toString()}Defer`):void 0;return{get:function(){const vm=this;const oldMethod=value;const fx=function(...a){return __awaiter(this,void 0,void 0,(function*(){var _a,_b;const vm=this;if(defer){const previous=vm[deferSymbol];if(previous!==0){if(previous>0){clearTimeout(previous)}vm[deferSymbol]=setTimeout((()=>{vm[deferSymbol]=0;const r=vm[key](...a);delete vm[deferSymbol];return r}),defer);return}}const app=vm.app;const ns=app.resolve(NavigationService);try{if(authorize&&!App.authorize()){return}if(validate){if(!vm.isValid){const vMsg=typeof validate==="boolean"?"Please enter correct information":validate;yield ns.alert(vMsg,validateTitle||"Error");return}}if(confirm){if(!(yield ns.confirm(confirm,confirmTitle||"Confirm"))){return}}let result=oldMethod.apply(vm,a);if(result===null||result===void 0?void 0:result.then){result=yield result}if(success){if(successMode==="notify"){yield ns.notify(success,successTitle,NotifyType.Information,notifyDelay)}else{yield ns.alert(success,successTitle)}}if(close){(_a=vm.close)===null||_a===void 0?void 0:_a.call(vm,result)}if(dispatchEvent){const element=(_b=vm.element)!==null&&_b!==void 0?_b:document.body;if(typeof dispatchEvent!=="string"){dispatchEvent=dispatchEvent.eventType}element.dispatchEvent(new CustomEvent(dispatchEvent,{detail:result,bubbles:true}))}return result}catch(e){if(CancelToken.isCancelled(e)){throw e}e[errorHandled]=true;if(/^timeout$/i.test(e.toString().trim())){console.warn(e);throw e}if(e instanceof JsonError){if(e.details){yield PopupService.alert({message:e.message,title:"Error",detail:e.details});throw e}}yield ns.alert(e,"Error");throw e}}))};Object.defineProperty(vm,key,{value:fx,writable:true,enumerable:false});return fx},configurable:true}}}_export({MarkBusySet:void 0,default:Action});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_App){App=_App.App},function(_coreCommand){Command=_coreCommand.default},function(_coreEventScope){EventScope=_coreEventScope.default},function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper},function(_coreTypes){CancelToken=_coreTypes.CancelToken;errorHandled=_coreTypes.errorHandled},function(_servicesHttpJsonError){JsonError=_servicesHttpJsonError.default},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService;NotifyType=_servicesNavigationService.NotifyType},function(_webServicesPopupService){PopupService=_webServicesPopupService.default}],execute:function(){_export("MarkBusySet",MarkBusySet=class MarkBusySet{static selector(selector){return new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.matches(selector)){yield start;break}start=start.parentElement}}))}constructor(set){this.set=set}*find(event){yield*this.set(event.target,event.currentTarget)}});MarkBusySet.none=new MarkBusySet((function*(){}));MarkBusySet.target=new MarkBusySet((function*(t,ct){yield t}));MarkBusySet.currentTarget=new MarkBusySet((function*(t,ct){yield ct}));MarkBusySet.tillCurrentTarget=new MarkBusySet((function*(target,currentTarget){let start=target;do{yield start;start=start.parentElement}while(start!==currentTarget);yield currentTarget}));MarkBusySet.button=new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.tagName==="BUTTON"){yield start;break}start=start.parentElement}}));MarkBusySet.buttonOrAnchor=new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.tagName==="BUTTON"||start.tagName==="A"){yield start;break}start=start.parentElement}}));MarkBusySet.allAncestors=new MarkBusySet((function*(target,currentTarget){do{yield target;target=target.parentElement}while(target)}));onEventHandler=(owner,blockMultipleExecution,key,busyKey,onEventSetBusy)=>ce=>__awaiter(void 0,void 0,void 0,(function*(){const element=ce.currentTarget;if(owner[busyKey]){if(blockMultipleExecution){return}}owner[busyKey]=true;try{if(onEventSetBusy){for(const iterator of onEventSetBusy.find(ce)){iterator.setAttribute("data-busy","true")}}const detail=ce.detail;return yield owner[key](detail,ce)}finally{delete owner[busyKey];if(onEventSetBusy){for(const iterator of onEventSetBusy.find(ce)){iterator.removeAttribute("data-busy")}}}}))}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/desktop-app/DesktopApp");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","../mobile-app/MobileApp","../styles/desktop-app.global.css","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __decorate,__metadata,BindableProperty,XNode,AtomControl,ChildEnumerator,MobileApp,Action,DesktopApp;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator},function(_mobileAppMobileApp){MobileApp=_mobileAppMobileApp.default},function(_stylesDesktopAppGlobalCss){},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",DesktopApp=class DesktopApp extends AtomControl{onPropertyChanged(name){super.onPropertyChanged(name);if(!this.initialized){return}switch(name){case"statusBarRenderer":this.recreate(name,"status-bar");break;case"menuRenderer":this.recreate(name,"menu-renderer");break;case"sideBarRenderer":this.recreate(name,"side-bar");break}}init(){}recreate(renderer,name,remove=true){var _a,_b,_c;const node=(_b=(_a=this[renderer])===null||_a===void 0?void 0:_a.call(this))!==null&&_b!==void 0?_b:undefined;if(remove){for(const e of ChildEnumerator.enumerate(this.element)){if(e.dataset.pageElement===name){this.dispose(e);e.remove();break}}}if(node){const na=(_c=node.attributes)!==null&&_c!==void 0?_c:node.attributes={};na["data-page-element"]=name;this.render(XNode.create("div",null,node));return this.element.querySelector(`[data-page-element="${name}"]`)}return null}create(){this.render(XNode.create("div",{"data-desktop-app":"desktop-app"},XNode.create(MobileApp,{"data-page-element":"app"})));this.recreate("menuRenderer","menu-renderer",false);this.recreate("sideBarRenderer","side-bar",false);this.recreate("statusBarRenderer","status-bar",false);this.initialized=true;this.runAfterInit((()=>{this.app.runAsync((()=>this.init()))}))}onIconClick(){if(this.element.hasAttribute("drawer-hidden")){this.element.removeAttribute("drawer-hidden")}else{this.element.setAttribute("drawer-hidden","1")}}});__decorate([BindableProperty,__metadata("design:type",Function)],DesktopApp.prototype,"menuRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DesktopApp.prototype,"sideBarRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DesktopApp.prototype,"statusBarRenderer",void 0);__decorate([Action({onEvent:"iconClick"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],DesktopApp.prototype,"onIconClick",null)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp");System.register(["../mobile-app/MobileApp","./DesktopApp","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/services/PopupService"],(function(_export,_context){"use strict";var MobileApp,isMobileView,DesktopApp,XNode,PopupService,MobileDesktopApp,T;_export("default",void 0);return{setters:[function(_mobileAppMobileApp){MobileApp=_mobileAppMobileApp.default;isMobileView=_mobileAppMobileApp.isMobileView},function(_DesktopApp){DesktopApp=_DesktopApp.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default}],execute:function(){T=isMobileView?MobileApp:DesktopApp;_export("default",MobileDesktopApp=class MobileDesktopApp extends T{get drawerMenu(){return this.menu}set drawerMenu(v){this.menu=v;if(this.mobileApp){this.mobileApp.drawer=v}else{this.desktopApp.menuRenderer=()=>XNode.create(v,{})}}preCreate(){MobileDesktopApp.current=this;super.preCreate();if(isMobileView){this.mobileApp=this}else{this.desktopApp=this}this.runAfterInit((()=>PopupService.lastTarget=this.element))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/style/OverrideAppStyle");System.register(["./override-app-style.local.css"],(function(_export,_context){"use strict";return{setters:[function(_overrideAppStyleLocalCss){}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/data-styles/data-styles");System.register([],(function(_export,_context){return{setters:[],execute:function(){setTimeout((()=>{const cssModule=_context.meta.resolve("./data-styles.css");const cssURL=System.resolve(cssModule);const link=document.createElement("link");link.id="data-styles";link.setAttribute("href",cssURL);link.setAttribute("rel","stylesheet");link.setAttribute("as","style");link.setAttribute("crossorigin","anonymous");const head=document.head;const firstElementChild=head.firstElementChild;if(firstElementChild){head.insertBefore(link,firstElementChild)}else{head.appendChild(link)}}),1)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/style/GlobalStyle");System.register(["@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/AtomList","./OverrideAppStyle","@web-atoms/data-styles/data-styles","./global-style.local.css"],(function(_export,_context){"use strict";var UMD,___UMD;function addLinkTag(href,integrity,rel="stylesheet"){if(!document.head.querySelector(`[href="${href}"]`)){const fa=document.createElement("link");fa.href=href;fa.crossOrigin="anonymous";fa.as="style";fa.rel="preload";if(integrity){fa.integrity=integrity}fa.onload=()=>{fa.onload=null;fa.rel=rel};document.head.insertBefore(fa,document.head.firstElementChild)}}return{setters:[function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_webAtomsCoreDistCoreAtomList){},function(_OverrideAppStyle){},function(_webAtomsDataStylesDataStyles){},function(_globalStyleLocalCss){}],execute:function(){_export("___UMD",___UMD=UMD);addLinkTag("https://dtzkc6yot8xw8.cloudfront.net/npm/package/@c8private/fa-icons@7.0.1/css/all.min.css");addLinkTag("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0");addLinkTag("https://cdn.jsdelivr.net/npm/file-icon-vectors@1.0.0/dist/file-icon-vivid.min.css");addLinkTag("https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap")}}}));AmdLoader.instance.setup("@web-atoms/core/dist/Pack");System.register([],(function(_export,_context){"use strict";function Pack(...a){}_export("default",Pack);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/cloneSource");System.register([],(function(_export,_context){"use strict";var cloneSource;return{setters:[],execute:function(){cloneSource=Symbol("cloneSource");_export("default",cloneSource)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/Cloner");System.register(["./cloneSource"],(function(_export,_context){"use strict";var cloneSource,Cloner,PropertyCloner,getKey;_export({Cloner:void 0,PropertyCloner:void 0});return{setters:[function(_cloneSource){cloneSource=_cloneSource.default}],execute:function(){getKey=(target,value)=>{for(const key in target){if(Object.prototype.hasOwnProperty.call(target,key)){const element=target[key];if(element===value){return key}}}};_export("Cloner",Cloner=class Cloner{static copyProperties(src,dest={}){dest[cloneSource]=src;for(const key in src){if(Object.prototype.hasOwnProperty.call(src,key)){const element=src[key];switch(typeof element){case"bigint":case"boolean":case"number":case"string":dest[key]=element;break;case"object":if(element===null){dest[key]=null}if(element instanceof Date){dest[key]=element}break}}}return dest}get copy(){const copy=Cloner.copyProperties(this.item);if(this.path){for(const iterator of this.path){this.clone(this.item,copy,iterator)}}return copy}constructor(item,path){this.item=item;this.path=path;this.$type=item.$type}include(property){const last=[property];return new PropertyCloner(this.item,this.path?[...this.path,last]:[last],last)}clone(src,dest,paths){var _a,_b,_c;if(!paths.length){return dest}const[first,...others]=paths;let p=first(src);if(!p){return dest}const original=p;const name=getKey(src,p);if(Array.isArray(p)){const existing=(_a=dest[name])!==null&&_a!==void 0?_a:dest[name]=[];for(let index=0;index<p.length;index++){const element=p[index];const existingItem=(_b=existing[index])!==null&&_b!==void 0?_b:existing[index]={};Cloner.copyProperties(element,existingItem);this.clone(element,existingItem,others)}return existing}p=Cloner.copyProperties(p,(_c=dest[name])!==null&&_c!==void 0?_c:undefined);dest[name]=p;this.clone(original,p,others);return dest}});_export("PropertyCloner",PropertyCloner=class PropertyCloner extends Cloner{constructor(item,path,propertyPath){super(item,path);this.propertyPath=propertyPath}thenInclude(property){this.propertyPath.push(property);return new PropertyCloner(this.item,this.path,this.propertyPath)}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/IEntityModel");System.register([],(function(_export,_context){"use strict";var EntityContext;_export("EntityContext",void 0);return{setters:[],execute:function(){_export("EntityContext",EntityContext=class EntityContext{constructor(models){this.models=models;this.cache=[];for(const iterator of models){this.cache[iterator.name]=iterator}}for(name){return this.cache[name]}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/mergeProperties");System.register(["../models/cloneSource"],(function(_export,_context){"use strict";var cloneSource,isObject;function mergeProperties(src,target,path="0",visited=new Map,merged=new Map){if(visited.has(path)){return}if(merged.has(target)){return}merged.set(target,true);visited.set(path,true);if(Array.isArray(src)){for(let index=0;index<src.length;index++){const srcElement=src[index];const targetElement=target[index];if(isObject(targetElement)){mergeProperties(srcElement,targetElement,`${path}.${index}`,visited,merged);continue}target[index]=targetElement}return}const cloneTarget=target[cloneSource];for(const key in src){if(Object.prototype.hasOwnProperty.call(src,key)){const srcElement=src[key];if(typeof srcElement!=="object"){if(srcElement!==void 0){target[key]=srcElement;if(cloneTarget){cloneTarget[key]=srcElement}}continue}if(srcElement instanceof Date){target[key]=srcElement;if(cloneTarget){cloneTarget[key]=srcElement}continue}const targetElement=target[key];if(isObject(targetElement)){if(cloneTarget){const cloneTargetElement=cloneTarget[key];if(cloneTargetElement){mergeProperties(srcElement,cloneTargetElement,path+".$"+key,visited,merged)}}mergeProperties(srcElement,targetElement,path+"."+key,visited,merged);continue}if(targetElement===void 0&&srcElement){target[key]=srcElement;continue}target[key]=targetElement;if(cloneTarget&&targetElement!==void 0){cloneTarget[key]=targetElement}}}}_export("default",mergeProperties);return{setters:[function(_modelsCloneSource){cloneSource=_modelsCloneSource.default}],execute:function(){isObject=o=>typeof o==="object"&&o!==null&&!(o instanceof Date)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/StringHelper");System.register([],(function(_export,_context){"use strict";var StringHelper;_export("default",void 0);return{setters:[],execute:function(){_export("default",StringHelper=class StringHelper{static findParameter(f){let text=f.toString();let i=text.indexOf("=>");if(i!==-1){text=text.substring(0,i)}i=text.indexOf("(");if(i===-1){return text}text=text.substring(i+1);i=text.indexOf(")");return text.substring(0,i)}static contains(left,right){if(!left){return!right}return left.toLowerCase().includes(right.toLowerCase())}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/FetchBuilder");System.register(["tslib","../App"],(function(_export,_context){"use strict";var __addDisposableResource,__awaiter,__disposeResources,App,FetchBuilder,JsonError;_export("default",void 0);return{setters:[function(_tslib){__addDisposableResource=_tslib.__addDisposableResource;__awaiter=_tslib.__awaiter;__disposeResources=_tslib.__disposeResources},function(_App){App=_App.App}],execute:function(){_export("default",FetchBuilder=class FetchBuilder{static buildUrl(strings,...p){let r="";for(let index=0;index<strings.length;index++){const element=strings[index];r+=element;if(index<p.length){r+=encodeURIComponent(p[index])}}return r}static get(url){return this.method(url,"GET")}static put(url){return this.method(url,"PUT")}static post(url){return this.method(url,"POST")}static delete(url){return this.method(url,"DELETE")}static url(url){return this.method(url,"GET")}static header(name,value){return new FetchBuilder({headers:{url:"",method:"POST",[name]:value}})}static method(url,method){return new FetchBuilder({url,method})}constructor(request){this.request=request}log(logger){return this.append({log:logger})}logWhenFailed(logger){return this.append({logError:logger})}get(url){return this.method(url,"GET")}put(url){return this.method(url,"PUT")}post(url){return this.method(url,"POST")}delete(url){return this.method(url,"DELETE")}method(url,method){return this.append({url,method})}signal(signal){if(!signal){return this}return this.append({signal})}cancelToken(ct){if(!ct){return this}const ac=new AbortController;const signal=ac.signal;ct.registerForCancel((()=>ac.abort()));return this.signal(signal)}form(name,value,fileName){var _a;if(value===void 0){return this}const body=(_a=this.request.body)!==null&&_a!==void 0?_a:new FormData;if(fileName){if(typeof value==="string"){throw new Error("value must be a blob with content type set correctly.")}body.append(name,value,fileName)}else{body.append(name,value)}return this.append({body})}jsonBody(body,encode=true){var _a;if(encode){body=JSON.stringify(body)}const headers=(_a=this.request.headers)!==null&&_a!==void 0?_a:{};headers["content-type"]="application/json";return this.append({body,headers})}header(name,value){var _a;const headers=(_a=this.request.headers)!==null&&_a!==void 0?_a:{};headers[name]=value;return this.append({headers})}path(name,value,encode=true){let url=this.request.url;if(encode){value=encodeURIComponent(value)}url=url.replace(name,value);return this.append({url})}query(name,value,encode=true){if(value===void 0){return this}let url=this.request.url;if(encode){value=encodeURIComponent(value)}name=encodeURIComponent(name);if(url.indexOf("?")===-1){url+=`?${name}=${value}`}else{url+=`&${name}=${value}`}return this.append({url})}queries(obj,encode=true,encodeObjectAsJson=true){let url=this.request.url;let prefix=url.indexOf("?")===-1?"?":"&";for(const key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){let value=obj[key];if(value===void 0){continue}if(encodeObjectAsJson){if(typeof value==="object"&&value!==null){value=JSON.stringify(value)}encode=true}if(encode){value=encodeURIComponent(value)}const name=encodeURIComponent(key);url+=`${prefix}${name}=${value}`;prefix="&"}}return this.append({url})}asText(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){const{result}=yield this.asTextResponse(ensureSuccess);return result}))}asBlob(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){const{result}=yield this.asBlobResponse(ensureSuccess);return result}))}asJson(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){const{result}=yield this.asJsonResponse(ensureSuccess);return result}))}jsonPostProcessor(jsonPostProcessor){return this.append({jsonPostProcessor})}asJsonResponse(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){return this.execute(ensureSuccess,((x,jsonPostProcessor)=>__awaiter(this,void 0,void 0,(function*(){if(!/json/i.test(x.headers.get("content-type"))){throw new Error(`Failed to parse json from ${this.request.url}\n${yield x.text()}`)}if(jsonPostProcessor){return x.json().then(jsonPostProcessor)}return x.json()}))))}))}asTextResponse(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){return this.execute(ensureSuccess,(x=>x.text()))}))}asBlobResponse(ensureSuccess=true){return this.execute(ensureSuccess,(x=>x.blob()))}dispatcher(dispatcher){return this.append({dispatcher})}withFetchProxy(fetchProxy){return this.append({fetchProxy})}execute(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true,postProcessor){var _a,_b,_c,_e,_f,_g;const env_1={stack:[],error:void 0,hasError:false};try{let{log,logError,hideBusyIndicator}=this.request;const _d=__addDisposableResource(env_1,!hideBusyIndicator?App.current.createBusyIndicator():null,false);try{const{headers,fetchProxy,jsonPostProcessor}=this.request;const r=yield(fetchProxy!==null&&fetchProxy!==void 0?fetchProxy:fetch)(this.request.url,this.request);if(ensureSuccess){if(r.status>300){log=logError;log===null||log===void 0?void 0:log(`fetch: ${(_a=this.request.method)!==null&&_a!==void 0?_a:"GET"} ${this.request.url}`);if(log&&headers){for(const key in headers){if(headers.hasOwnProperty(key)){log===null||log===void 0?void 0:log(`${key}: ${headers[key]}`)}}}log===null||log===void 0?void 0:log(`${r.status} ${r.statusText||"Http Error"}`);const type=r.headers.get("content-type");if(/\/json/i.test(type)){const json=yield r.json();log===null||log===void 0?void 0:log(json);const message=(_f=(_e=(_c=(_b=json.title)!==null&&_b!==void 0?_b:json.detail)!==null&&_c!==void 0?_c:json.message)!==null&&_e!==void 0?_e:json.exceptionMessage)!==null&&_f!==void 0?_f:"Json Server Error";log=null;logError=null;throw new JsonError(message,json)}const text=yield r.text();log===null||log===void 0?void 0:log(text);log=null;logError=null;throw new Error(`Fetch failed with error ${r.status} for ${this.request.url}\n${text}`)}}log===null||log===void 0?void 0:log(`${(_g=this.request.method)!==null&&_g!==void 0?_g:"GET"} ${this.request.url}`);if(log&&headers){for(const key in headers){if(headers.hasOwnProperty(key)){log===null||log===void 0?void 0:log(`${key}: ${headers[key]}`)}}}const result=yield postProcessor(r,jsonPostProcessor);if(log){log(`${r.status} ${r.statusText||"OK"}`);log(result)}return{result,headers:r.headers,status:r.status}}catch(error){log===null||log===void 0?void 0:log(error);throw error}}catch(e_1){env_1.error=e_1;env_1.hasError=true}finally{__disposeResources(env_1)}}))}append(r){let{url}=this.request;const{url:newUrl}=r;if(newUrl){if(!url){url=newUrl}else{if(/^https?\:\/\//i.test(newUrl)){url=newUrl}else{let fullUrl=url;if(!/^https?\:\/\//i.test(url)){fullUrl=new URL(url,location.href).toString()}url=new URL(newUrl,fullUrl).toString()}}}return new FetchBuilder(Object.assign(Object.assign(Object.assign({},this.request),r),{url}))}});JsonError=class JsonError extends Error{constructor(message,json){super(message);this.json=json}};FetchBuilder.JsonError=JsonError}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/Query");System.register(["tslib","./StringHelper","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __addDisposableResource,__awaiter,__disposeResources,StringHelper,FetchBuilder,QueryComposer,Query,replacer,convertToLinq;function append(original,...item){if(original){return[...original,...item]}return[...item]}_export({append,QueryComposer:void 0,default:void 0});return{setters:[function(_tslib){__addDisposableResource=_tslib.__addDisposableResource;__awaiter=_tslib.__awaiter;__disposeResources=_tslib.__disposeResources},function(_StringHelper){StringHelper=_StringHelper.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){replacer=/(===)|(!==)|(\(\s*\{)|(\.[a-zA-Z0-9]+)|([a-zA-Z0-9]+\s*\:\s*\{?)/g;_export("convertToLinq",convertToLinq=x=>{x=x.replace("\n"," ");x=x.replace(/(\s+)|((CastAs|EF)\_[0-9]\.default\.)/g,((s,first,second)=>{if(s===first){return" "}if(s.startsWith("EF")){return"EF."}if(s.startsWith("CastAs")){return"CastAs."}return s}));replacer.lastIndex=0;x=x.replace(replacer,(s=>{switch(s){case"===":return"==";case"!==":return"!=";case"({":return"( new {";case".some":return".Any";case".map":return".Select";case".filter":return".Where";case".find":return".FirstOrDefault";case".includes":return".Contains";case".count":return".Count"}if(s.endsWith("{")){const index=s.indexOf(":");const v=s.substring(0,index)+" = new {";return v}const trimmed=s.trim();if(trimmed.endsWith(":")){return trimmed.substring(0,trimmed.length-1)+" = "}if(s.startsWith(".")&&s.length>2){return s[0]+s[1].toUpperCase()+s.substring(2)}return s}));return x});_export("QueryComposer",QueryComposer=class QueryComposer{constructor(separator=" || "){this.separator=separator;this.query="p => x => ";this.parameters={};this.index=0}add(p,q){if(this.index){this.query+=this.separator}const suffix=`_${this.index++}`;let text=q.toString();const pfn=StringHelper.findParameter(text).trim();text=text.substring(text.indexOf("=>")+2);const xfn=StringHelper.findParameter(text).trim();const target=this.parameters;for(const key in p){if(Object.prototype.hasOwnProperty.call(p,key)){const element=p[key];const name=`${key}${suffix}`;target[name]=element;text=text.split(`${pfn}.${key}`).join(`p.${name}`);text=text.split(`${xfn}.`).join(`x.`)}}text=text.substring(text.indexOf("=>")+2);this.query+=text}asQuery(){return[this.parameters,this.query]}});_export("default",Query=class Query{constructor(context,methods=[]){this.context=context;this.methods=methods;if(!methods){throw new Error("Methods cannot be empty")}}where(tOrP,q){return this.process("where",tOrP,q)}union(tOrP,q){return this.process("union",tOrP,q)}joinDateRange(start,end,step){return this.append(["joinDateRange","@0,@1,@2",start,end,step])}selectWith(model,tOrP,q){const nq=this.append(["selectWith",model.name]);return nq.process("select",tOrP,q)}select(tOrP,q){return this.process("select",tOrP,q)}whereLinq(query,...args){let filters="";const params=[];for(let index=0;index<args.length;index++){const element=args[index];const raw=query.raw[index];if(raw){filters+=raw}const pi=`@${index}`;filters+=pi;params.push(element)}const last=query.raw[args.length];if(last){filters+=last}return this.append(["where",filters,...params])}selectLinq(query,...args){let filters="";const params=[];for(let index=0;index<args.length;index++){const element=args[index];const raw=query.raw[index];if(raw){filters+=raw}const pi=`@${index}`;filters+=pi;params.push(element)}const last=query.raw[args.length];if(last){filters+=last}return this.append(["select",filters,...params])}join(model,left,right){return this.append(["join",model.name,this.convertToLinq(left.toString()),this.convertToLinq(right.toString())])}leftJoin(model,left,right){return this.append(["leftJoin",model.name,this.convertToLinq(left.toString()),this.convertToLinq(right.toString())])}include(tOrP,...q){if(typeof tOrP==="string"){return this.append(["include",tOrP],...q.map((s=>["include",s])))}const select=this.convertToLinq(tOrP.toString());return this.append(["include",select])}firstOrDefault(){return __awaiter(this,arguments,void 0,(function*(p={}){const lp=p;lp.size=1;lp.start=0;lp.count=false;const list=yield this.toPagedList(lp);return list.items[0]}))}orderBy(tOrP,q){return this.process("orderBy",tOrP,q)}orderByDescending(tOrP,q){return this.process("orderByDescending",tOrP,q)}thenBy(tOrP,q){return this.process("thenBy",tOrP,q)}thenByDescending(tOrP,q){return this.process("thenByDescending",tOrP,q)}trace(){this.context.traceQuery=true;return this}toArray(){return __awaiter(this,arguments,void 0,(function*({cancelToken,doNotResolve,hideActivityIndicator,cacheSeconds,cacheVersion}={}){const r=yield this.toPagedList({size:-1,count:false,cacheSeconds,cancelToken,doNotResolve,hideActivityIndicator,cacheVersion});return r.items}))}toPagedList(){return __awaiter(this,arguments,void 0,(function*({start=0,size=100,cancelToken,cacheVersion="1",hideActivityIndicator,splitInclude=false,cacheSeconds=0,cacheImmutable=cacheSeconds>0,count=true}={}){const env_1={stack:[],error:void 0,hasError:false};try{let url;const{traceQuery,name,service,queryFunction,entityKey,navigation,args}=this.context;const busy=__addDisposableResource(env_1,service.createBusyIndicator(hideActivityIndicator),false);const trace=traceQuery;const methods=JSON.stringify(this.methods);const fm=new URLSearchParams;fm.append("methods",methods);if(start){fm.append("start",start.toString())}if(size){fm.append("size",size.toString())}fm.append("count",count.toString());if(trace){fm.append("trace",trace?"true":"false")}if(queryFunction){fm.append("function",queryFunction);fm.append("args",JSON.stringify(args!==null&&args!==void 0?args:"[]"))}if(entityKey){fm.append("entityKey",entityKey)}if(navigation){fm.append("navigation",navigation)}const encodedMethods=fm.toString();let result;if(encodedMethods.length>1824){if(cacheSeconds>0){throw new Error("Generated query too big for caching")}url=`${service.url}methods/${name}`;result=yield FetchBuilder.post(url).cancelToken(cancelToken).jsonBody({methods:this.methods,start,size,split:splitInclude,count,navigation,trace,function:queryFunction||void 0,args:queryFunction?args:void 0,entityKey:entityKey!==null&&entityKey!==void 0?entityKey:void 0}).asJson();result=service.resultConverter(result);return result}if(cacheSeconds>0){fm.append("cache",cacheSeconds.toString());fm.append("cv",cacheVersion);if(!cacheImmutable){fm.append("cacheImmutable","false")}}else{}url=`${service.url}query/${name}?${fm.toString()}`;result=yield FetchBuilder.get(url).cancelToken(cancelToken).asJson();return service.resultConverter(result)}catch(e_1){env_1.error=e_1;env_1.hasError=true}finally{__disposeResources(env_1)}}))}thenInclude(a){const select=this.convertToLinq(a.toString());return this.append(["thenInclude",select])}append(...methods){return new Query(this.context,[...this.methods,...methods])}process(name,tOrP,q){if(!q){const select=this.convertToLinq(tOrP.toString());return this.append([name,select])}const pl=[];let i=0;const p=tOrP;let text=q(p).toString();const pfn=StringHelper.findParameter(q.toString()).trim();for(const key in p){if(Object.prototype.hasOwnProperty.call(p,key)){const element=p[key];const pn=`@${i++}`;text=text.split(`${pfn}.${key}`).join(pn);pl.push(element)}}text=this.convertToLinq(text);return this.append([name,text,...pl])}convertToLinq(text){if(this.context.service.queryProcessor==="DotNet"||this.context.queryProcessor==="DotNet"){return convertToLinq(text)}return text.replace(/\s+/g," ")}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/resolve");System.register(["@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var DateTime,dateFormatISORegEx;function resolve(target){const cache=[];function map(t){if(typeof t!=="object"){return t}if(Array.isArray(t)){return t.map(map)}const{$id,$ref}=t;if($ref){t=cache[$ref];return t}if($id){t.$deleted=false;cache[$id]=t}for(const key in t){if(Object.prototype.hasOwnProperty.call(t,key)){let element=t[key];switch(typeof element){case"object":if(!element){continue}element=map(element);t[key]=element;continue;case"string":if(dateFormatISORegEx.test(element)){t[key]=new DateTime(element)}}}}return t}target=map(target);return target}_export("default",resolve);return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("dateFormatISORegEx",dateFormatISORegEx=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/Queue");System.register([],(function(_export,_context){"use strict";var Queue;_export("default",void 0);return{setters:[],execute:function(){_export("default",Queue=class Queue{constructor(){this.head=0;this.tail=0;this.store=new Map}peek(){return this.store.get(this.head)}enqueue(item){this.store.set(this.tail,item);this.tail++}dequeue(){const{head,tail}=this;const size=tail-head;if(size<=0){return void 0}const item=this.store.get(head);this.store.delete(head);this.head++;if(this.head===this.tail){this.head=0;this.tail=0}return item}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/TaskManager");System.register(["tslib","./Queue"],(function(_export,_context){"use strict";var __awaiter,Queue,TaskManager,sleep;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_Queue){Queue=_Queue.default}],execute:function(){sleep=n=>new Promise((r=>setTimeout(r,n)));_export("default",TaskManager=class TaskManager{constructor(){this.rateLimit=10;this.running=new Set;this.waiting=new Queue}queueRun(fx){const pr=new Promise(((resolve,reject)=>{this.waiting.enqueue({resolve,reject,fx})}));pr.catch((error=>console.error(error)));this.processQueue();return pr}processQueue(){for(;;){if(this.running.size>=this.rateLimit){return}const t=this.waiting.dequeue();if(!t){return}const{fx,resolve,reject}=t;this.running.add(fx);fx().then((r=>{this.running.delete(fx);setTimeout((()=>this.processQueue()),1);resolve(r)}),(e=>{this.running.delete(fx);setTimeout((()=>this.processQueue()),1);reject(e)}))}}runAfterEnd(fx){(()=>__awaiter(this,void 0,void 0,(function*(){for(;;){yield sleep(100);if(this.running.size>0){continue}yield sleep(10);if(this.running.size>0){continue}break}fx()})))().catch(console.error)}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/BaseEntityService");System.register(["tslib","../models/Cloner","../models/IEntityModel","./mergeProperties","./Query","./resolve","../models/TaskManager","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __addDisposableResource,__awaiter,__disposeResources,Cloner,EntityContext,mergeProperties,Query,resolve,TaskManager,FetchBuilder,DefaultFactory,Model,BaseEntityService,_a,_b,_c,_d,ArrayPrototype,orderBy,orderByDescending;_export({DefaultFactory:void 0,Model:void 0,default:void 0});return{setters:[function(_tslib){__addDisposableResource=_tslib.__addDisposableResource;__awaiter=_tslib.__awaiter;__disposeResources=_tslib.__disposeResources},function(_modelsCloner){Cloner=_modelsCloner.Cloner},function(_modelsIEntityModel){EntityContext=_modelsIEntityModel.EntityContext},function(_mergeProperties){mergeProperties=_mergeProperties.default},function(_Query){Query=_Query.default},function(_resolve){resolve=_resolve.default},function(_modelsTaskManager){TaskManager=_modelsTaskManager.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){(_a=(_c=Symbol).asyncDispose)!==null&&_a!==void 0?_a:_c.asyncDispose=Symbol("asyncDispose");(_b=(_d=Symbol).dispose)!==null&&_b!==void 0?_b:_d.dispose=Symbol("dispose");ArrayPrototype=Array.prototype;orderBy=function(f){return[].concat(this).sort(((a,b)=>{const ak=f(a);const bk=f(b);if(typeof ak==="string"){return ak.toLowerCase().localeCompare(bk.toLowerCase())}return ak-bk}))};orderByDescending=function(f){return[].concat(this).sort(((a,b)=>{const ak=f(a);const bk=f(b);if(typeof ak==="string"){return bk.toLowerCase().localeCompare(ak.toLowerCase())}return bk-ak}))};Object.defineProperties(ArrayPrototype,{where:{enumerable:false,value:ArrayPrototype.filter,configurable:true},any:{enumerable:false,value:ArrayPrototype.some,configurable:true},select:{enumerable:false,value:ArrayPrototype.map,configurable:true},selectMany:{enumerable:false,value(x){const r=[];for(const iterator of this){const items=x(iterator);if(Array.isArray(items)){r.push(...items)}}return r},configurable:true},firstOrDefault:{enumerable:false,value(f){if(f){return ArrayPrototype.find.apply(this,arguments)}return this[0]},configurable:true},sum:{enumerable:false,value(f){var _a;let n=0;for(const iterator of this){n+=(_a=f(iterator))!==null&&_a!==void 0?_a:0}return n},configurable:true},average:{enumerable:false,value(f){var _a;if(this.length===0){return 0}let n=0;for(const iterator of this){n+=(_a=f(iterator))!==null&&_a!==void 0?_a:0}return n/this.length},configurable:true},orderBy:{enumerable:false,value:orderBy,configurable:true},thenBy:{enumerable:false,value:orderBy,configurable:false},orderByDescending:{enumerable:false,value:orderByDescending,configurable:true},thenByDescending:{enumerable:false,value:orderByDescending,configurable:false},count:{enumerable:false,value(f){if(!f){return this.length}let length=0;for(const iterator of this){if(f(iterator)){length++}}return length},configurable:false}});_export("DefaultFactory",DefaultFactory=class DefaultFactory{constructor(factory){this.factory=factory}});_export("Model",Model=class Model{constructor(name,keys=[],defaults=null,schema=null){this.name=name;this.keys=keys;this.schema=schema;if(defaults){this.defaults=[];for(const key in defaults){if(Object.prototype.hasOwnProperty.call(defaults,key)){const element=defaults[key];this.defaults.push([key,element])}}}}create(properties={}){properties.$type=this.name;if(this.defaults){for(const[key,value]of this.defaults){if(properties[key]===void 0){if(value instanceof DefaultFactory){properties[key]=value.factory()}else{properties[key]=value}}}}return properties}patch(original,updates){for(const iterator of this.keys){const originalKey=original[iterator];const updatedKey=updates[iterator];if(updatedKey&&updatedKey!==originalKey){throw new Error(`Cannot update ${iterator} as it is the primary key`)}updates[iterator]=originalKey}return Object.assign({$type:this.name},updates)}});_export("default",BaseEntityService=class BaseEntityService extends TaskManager{constructor(){super(...arguments);this.url="/api/entity/";this.resultConverter=resolve}cloner(item){return new Cloner(item)}model(){return __awaiter(this,void 0,void 0,(function*(){const env_1={stack:[],error:void 0,hasError:false};try{if(this.entityModel){return this.entityModel}const busy=__addDisposableResource(env_1,this.createBusyIndicator(false),false);const c=yield FetchBuilder.get(`${this.url}model`).asJson();this.entityModel=new EntityContext(c);return this.entityModel}catch(e_1){env_1.error=e_1;env_1.hasError=true}finally{__disposeResources(env_1)}}))}dateRange(start,end,step){return new Query({service:this,name:"NeuroSpeech.EntityAccessControl.DateRange",traceQuery:false},[["dateRange","@0,@1,@2",start,end,step]])}query(m,queryFunction,...args){return new Query({service:this,name:m.name,queryProcessor:this.queryProcessor,queryFunction,args})}queryNavigation(entity,navigation){const name=entity.$type;const{$key}=entity;return new Query({service:this,name,entityKey:$key,navigation})}queryEntity(m,entity,queryFunction,...args){let entityKey;const{$key}=entity;if(!$key){throw new Error(`Entity does not contain public/private key`)}entityKey=$key;return new Query({service:this,name:m.name,queryProcessor:this.queryProcessor,queryFunction,entityKey,args})}as(){return this}delete(body){return __awaiter(this,void 0,void 0,(function*(){const env_2={stack:[],error:void 0,hasError:false};try{const _busy=__addDisposableResource(env_2,this.createBusyIndicator(false),false);const url=this.url;return yield FetchBuilder.delete(url).jsonBody(body).asJson()}catch(e_2){env_2.error=e_2;env_2.hasError=true}finally{__disposeResources(env_2)}}))}insert(body){return __awaiter(this,void 0,void 0,(function*(){const env_3={stack:[],error:void 0,hasError:false};try{const _busy=__addDisposableResource(env_3,this.createBusyIndicator(false),false);const url=this.url;const result=yield FetchBuilder.put(url).jsonBody(body).asJson();return this.resultConverter(result)}catch(e_3){env_3.error=e_3;env_3.hasError=true}finally{__disposeResources(env_3)}}))}invoke(m,method,argEntity,...args){return __awaiter(this,void 0,void 0,(function*(){const env_4={stack:[],error:void 0,hasError:false};try{const _busy=__addDisposableResource(env_4,this.createBusyIndicator(false),false);const{$type,$key:key}=argEntity;let keys=void 0;if(!key){keys={};for(const key of m.schema.keys){keys[key.name]=argEntity[key.name]}}const result=yield FetchBuilder.post(`${this.url}invoke/${$type}/${method}`).withFetchProxy(((r,i)=>this.queueRun((()=>fetch(r,i))))).jsonBody({key,keys,args}).asJson();return this.resultConverter(result)}catch(e_4){env_4.error=e_4;env_4.hasError=true}finally{__disposeResources(env_4)}}))}buildRunUrl(m,method,argEntity,{args=void 0,cacheSeconds=0,cacheVersion=void 0}={}){const{$type,$key}=argEntity;if(!$key){throw new Error(`Run requires encrypted $key`)}const usp=new URLSearchParams;usp.append("key",$key);if(args){usp.append("args",JSON.stringify(args))}if(cacheSeconds){usp.append("cache",cacheSeconds.toString())}if(cacheVersion){usp.append("cv",cacheVersion)}return`${this.url}run/${$type}/${method}?${usp.toString()}`}run(m,method,argEntity,{args=void 0,cacheSeconds=0,cacheVersion=void 0}={}){const url=this.buildRunUrl(m,method,argEntity,{args,cacheSeconds,cacheVersion});return FetchBuilder.get(url).withFetchProxy(((r,i)=>this.queueRun((()=>fetch(r,i))))).jsonPostProcessor(this.resultConverter)}runFiltered(m,method,argEntity,...args){return __awaiter(this,void 0,void 0,(function*(){const env_5={stack:[],error:void 0,hasError:false};try{const _busy=__addDisposableResource(env_5,this.createBusyIndicator(false),false);const keys={};for(const key of m.schema.keys){keys[key.name]=argEntity[key.name]}return FetchBuilder.post(`${this.url}run/${m.name}/${method}`).withFetchProxy(((r,i)=>this.queueRun((()=>fetch(r,i))))).jsonBody({keys,args}).jsonPostProcessor(this.resultConverter)}catch(e_5){env_5.error=e_5;env_5.hasError=true}finally{__disposeResources(env_5)}}))}save(body,cloner,trace){return __awaiter(this,void 0,void 0,(function*(){const env_6={stack:[],error:void 0,hasError:false};try{if(Array.isArray(body)&&body.length===0){return body}const _busy=__addDisposableResource(env_6,this.createBusyIndicator(false),false);let url=this.url;if(body instanceof Cloner){body=body.copy}if(trace){const hasQuery=url.includes("?");if(hasQuery){url=url+="&trace=true"}else{url=url+="?trace=true"}}if(cloner){if(Array.isArray(body)){body=body.map((x=>cloner(new Cloner(x)).copy))}else{const c=cloner(new Cloner(body));body=c.copy}}let result=yield FetchBuilder.post(url).jsonBody(body).asJson();result=this.resultConverter(result);mergeProperties(result,body);return body}catch(e_6){env_6.error=e_6;env_6.hasError=true}finally{__disposeResources(env_6)}}))}update(e,update){return __awaiter(this,void 0,void 0,(function*(){yield this.bulkUpdate([e],update);for(const key in update){if(Object.prototype.hasOwnProperty.call(update,key)){const element=update[key];e[key]=element}}return e}))}bulkUpdate(entities_1,update_1){return __awaiter(this,arguments,void 0,(function*(entities,update,throwWhenNotFound=false){const env_7={stack:[],error:void 0,hasError:false};try{const model=yield this.model();const busy=__addDisposableResource(env_7,this.createBusyIndicator(false),false);const keys=[];for(const iterator of entities){const entityType=model.for(iterator.$type);const key={$type:iterator.$type};for(const{name}of entityType.keys){key[name]=iterator[name]}keys.push(key)}const body={keys,update,throwWhenNotFound};const url=`${this.url}bulk`;let results=yield FetchBuilder.post(url).jsonBody(body).asJson();results=this.resultConverter(results);return results}catch(e_7){env_7.error=e_7;env_7.hasError=true}finally{__disposeResources(env_7)}}))}bulkDelete(entities_1){return __awaiter(this,arguments,void 0,(function*(entities,throwWhenNotFound=false){const env_8={stack:[],error:void 0,hasError:false};try{const model=yield this.model();const busy=__addDisposableResource(env_8,this.createBusyIndicator(false),false);const keys=[];for(const iterator of entities){const entityType=model.for(iterator.$type);const key={$type:iterator.$type};for(const{name}of entityType.keys){key[name]=iterator[name]}keys.push(key)}const url=`${this.url}bulk`;const body={keys,throwWhenNotFound};let results=yield FetchBuilder.delete(url).jsonBody(body).asJson();results=this.resultConverter(results);return results}catch(e_8){env_8.error=e_8;env_8.hasError=true}finally{__disposeResources(env_8)}}))}createBusyIndicator(hideActivityIndicator=false){return{[Symbol.dispose](){}}}});delete BaseEntityService.prototype.createBusyIndicator}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/model/model");System.register(["@web-atoms/date-time/dist/DateTime","@web-atoms/entity/dist/services/BaseEntityService"],(function(_export,_context){"use strict";var DateTime,Model,DefaultFactory,modelEntitySchemas,AppRole,AppFileContentDispositionArray,AppFile,AppPassword,WebHookEventTypeArray,WebHookHttpVerbArray,WebHook,WebHookEvent,AccessToken,AppFileVersion,AppFileAccessTypeArray,AppFileAccess,AppFileTag,FileContent,Configuration,Contact,ContactEmail,ContactPhone,ContactItem,ContactDomain,ContactAddress,CachedItem,Domain,HostedDomain,DomainUser,HostedZone,HostedZoneRecordTypeArray,HostedZoneRecord,HostedZoneUser,DomainRelayTypeArray,DomainRelay,DomainKey,EmailStatusArray,Email,EmailEngagement,EmailLog,EmailRecipientTypeArray,EmailRecipient,EmailTag,EmailAddress,EmailTemplate,MailboxSubscriptionTypeArray,Mailbox,ChannelEmail,GeoIPBlock,MailboxContactStatusArray,MailboxContactSubscriptionTypeArray,MailboxContact,MailboxContactEvent,MailboxFolder,MailboxContactEmail,MailboxContactTag,MailboxTag,MailboxSyncTargetDirectionArray,MailboxSyncTargetProtocolArray,MailboxSyncTargetLastSyncStatusArray,MailboxSyncTarget,NameToken,ChannelConfig,SubscriberActivity,SearchWordStatusArray,SearchWord,SearchWordIndex,ServerActivityActivityArray,ServerActivity,StoreConfig,StoreItemItemTypeArray,StoreItemItemUnitTypeArray,StoreItem,StoreCouponTypeArray,StoreCoupon,StoreJournalCoupon,StoreItemFolder,StoreItemFolderTag,StoreItemPrice,StorePaymentAttempt,StoreMediaFile,StoreInsight,StoreAccount,StoreAccountAddress,StoreAccountEmail,StoreAccountPhone,StorePaymentGatewayPaymentGatewayArray,StorePaymentGateway,StoreJournalJournalTypeArray,StoreJournalStatusArray,StoreJournal,StoreJournalEntry,StoreJournalLineItemItemTypeArray,StoreJournalLineItem,StoreItemTax,StoreTag,StoreItemTag,UserStatusArray,User,UserGroupMember,UserPin,UserPushSubscription,UserRole,UserMailbox,UserAuthFactorMethodArray,UserAuthFactor,WebSite,WebSiteHost,WebSiteVersion,WebSiteChannelDomain,WebSiteChannel,WebSiteTag,LoginSessionDeviceTokenTypeArray,LoginSession,TextDocument,IncomingSmsSource,VerificationTokenTypeArray,VerificationToken,VerificationTokenAddress,EmailAddressName,ThreadParticipant,Tag,AppTempFile,fixRelatedSchemas;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsEntityDistServicesBaseEntityService){Model=_webAtomsEntityDistServicesBaseEntityService.Model;DefaultFactory=_webAtomsEntityDistServicesBaseEntityService.DefaultFactory}],execute:function(){_export("modelEntitySchemas",modelEntitySchemas={});_export("AppRole",AppRole=new Model("AppRole",["roleName"],{},{name:"app_roles",keys:[{name:"roleName",type:"string",dataType:"Char",length:100}],properties:[],relations:[{name:"roles",isCollection:true,isInverse:true,relatedName:"UserRole"}]}));modelEntitySchemas["AppRole"]=AppRole;_export("AppFileContentDispositionArray",AppFileContentDispositionArray=[{label:"attachment",value:"attachment"},{label:"inline",value:"inline"}]);_export("AppFile",AppFile=new Model("AppFile",["appFileID"],{isFolder:false,name:"",fileSize:0,contentType:"",isDeleted:false,isShared:false,dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_files",keys:[{name:"appFileID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"path",type:"string",dataType:"AsciiChar",length:400,default:["path",'""']},{name:"isFolder",type:"boolean",dataType:"Boolean",default:["isFolder","false"]},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"fileSize",type:"number",dataType:"BigInt",default:["fileSize","0"]},{name:"contentType",type:"string",dataType:"Char",length:200,default:["contentType",'""']},{name:"contentDisposition",type:"string",dataType:"AsciiChar",length:10,default:["contentDisposition",'"attachment"']},{name:"contentID",type:"string",dataType:"Char",default:["contentID",'""']},{name:"fileContentID",type:"number",dataType:"BigInt"},{name:"creatorID",type:"number",dataType:"BigInt"},{name:"parentID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"},{name:"isDeleted",type:"boolean",dataType:"Boolean",default:["isDeleted","false"]},{name:"isShared",type:"boolean",dataType:"Boolean",default:["isShared","false"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"versions",type:"number",dataType:"Int",default:["versions","0"]}],relations:[{name:"fileContent",fkMap:[{fk:"fileContentID",relatedKey:"fileContentID"}],relatedName:"FileContent"},{name:"creator",fkMap:[{fk:"creatorID",relatedKey:"userID"}],relatedName:"User"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"children",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mailboxLogos",isCollection:true,isInverse:true,relatedName:"Mailbox"},{name:"websiteFolder",isCollection:false,isInverse:true,relatedName:"WebSite"},{name:"currentVersionWebSites",isCollection:true,isInverse:true,relatedName:"WebSite"},{name:"storeItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"fileVersions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"folderVersions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"accessList",isCollection:true,isInverse:true,relatedName:"AppFileAccess"},{name:"tags",isCollection:true,isInverse:true,relatedName:"AppFileTag"},{name:"previewContacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"channelEmails",isCollection:true,isInverse:true,relatedName:"ChannelEmail"},{name:"storeJournals",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"storeMediaFiles",isCollection:true,isInverse:true,relatedName:"StoreMediaFile"},{name:"userPins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"websiteVersions",isCollection:true,isInverse:true,relatedName:"WebSiteVersion"}],queries:{storeItemFiles:"external",channelPostFiles:"external",channelEmailFiles:"external",channelFiles:"external",children:"external",templateSnapshot:"external"}}));modelEntitySchemas["AppFile"]=AppFile;_export("AppPassword",AppPassword=new Model("AppPassword",["userID","name"],{passwordHash:"",dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_passwords",keys:[{name:"userID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:400}],properties:[{name:"passwordHash",type:"string",dataType:"Char",length:200,default:["passwordHash",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"lastUsed",type:"DateTime",dataType:"DateTime",default:["lastUsed","new DefaultFactory(() => new DateTime())"]},{name:"expires",type:"DateTime",dataType:"DateTime",default:["expires","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["AppPassword"]=AppPassword;_export("WebHookEventTypeArray",WebHookEventTypeArray=[{label:"email-received",value:"email-received"},{label:"order-paid",value:"order-paid"}]);_export("WebHookHttpVerbArray",WebHookHttpVerbArray=[{label:"POST",value:"POST"},{label:"GET",value:"GET"}]);_export("WebHook",WebHook=new Model("WebHook",["webHookID"],{eventType:"email-received",name:"",url:"",httpVerb:"POST",lastEvent:""},{name:"web_hooks",keys:[{name:"webHookID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt",default:["emailAddressID","0"]},{name:"storeID",type:"number",dataType:"BigInt"},{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"eventType",type:"string",dataType:"Char",length:50,default:["eventType",'"email-received"']},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"url",type:"string",dataType:"Char",default:["url",'""']},{name:"httpVerb",type:"string",dataType:"Char",length:20,default:["httpVerb",'"POST"']},{name:"headers",type:"string",dataType:"Char",default:["headers",'""']},{name:"lastEvent",type:"string",dataType:"Char",length:50,default:["lastEvent",'""']},{name:"lastEventTime",type:"DateTime",dataType:"DateTime",default:["lastEventTime","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"},{name:"events",isCollection:true,isInverse:true,relatedName:"WebHookEvent"}]}));modelEntitySchemas["WebHook"]=WebHook;_export("WebHookEvent",WebHookEvent=new Model("WebHookEvent",["webHookEventID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"web_hook_events",keys:[{name:"webHookEventID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"webHookID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"number",dataType:"Int",default:["status","0"]},{name:"response",type:"string",dataType:"Char",length:400,default:["response",'""']},{name:"success",type:"boolean",dataType:"Boolean",default:["success","false"]},{name:"cloudPath",type:"string",dataType:"Char",length:200,default:["cloudPath",'""']}],relations:[{name:"webHook",fkMap:[{fk:"webHookID",relatedKey:"webHookID"}],relatedName:"WebHook"}]}));modelEntitySchemas["WebHookEvent"]=WebHookEvent;_export("AccessToken",AccessToken=new Model("AccessToken",["tokenID"],{dateCreated:new DefaultFactory((()=>new DateTime)),expiryDate:new DefaultFactory((()=>new DateTime))},{name:"access_tokens",keys:[{name:"tokenID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"secret",type:"string",dataType:"Char",length:400,default:["secret",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"expiryDate",type:"DateTime",dataType:"DateTime",default:["expiryDate","new DefaultFactory(() => new DateTime())"]},{name:"lastUsed",type:"DateTime",dataType:"DateTime",default:["lastUsed","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["AccessToken"]=AccessToken;_export("AppFileVersion",AppFileVersion=new Model("AppFileVersion",["versionID"],{name:"",dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_file_versions",keys:[{name:"versionID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"fileID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"},{name:"sessionID",type:"number",dataType:"BigInt"},{name:"fileContentID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"folderID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"file",fkMap:[{fk:"fileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"session",fkMap:[{fk:"sessionID",relatedKey:"sessionID"}],relatedName:"LoginSession"},{name:"fileContent",fkMap:[{fk:"fileContentID",relatedKey:"fileContentID"}],relatedName:"FileContent"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["AppFileVersion"]=AppFileVersion;_export("AppFileAccessTypeArray",AppFileAccessTypeArray=[{label:"create",value:"create"},{label:"read",value:"read"},{label:"write",value:"write"},{label:"delegate",value:"delegate"}]);_export("AppFileAccess",AppFileAccess=new Model("AppFileAccess",["fileID","userID","type"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"app_file_access",keys:[{name:"fileID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"},{name:"type",type:"string",dataType:"Char",length:10}],properties:[{name:"accessCode",type:"string",dataType:"Char",length:200,default:["accessCode",'""']},{name:"expires",type:"DateTime",dataType:"DateTimeOffset",default:["expires","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"file",fkMap:[{fk:"fileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["AppFileAccess"]=AppFileAccess;_export("AppFileTag",AppFileTag=new Model("AppFileTag",["appFileID","tagID"],{},{name:"app_file_tags",keys:[{name:"appFileID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"file",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["AppFileTag"]=AppFileTag;_export("FileContent",FileContent=new Model("FileContent",["fileContentID"],{contentHash:"",contentType:"",contentSize:0,dateCreated:new DefaultFactory((()=>new DateTime)),deleted:false},{name:"file_contents",keys:[{name:"fileContentID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"contentHash",type:"string",dataType:"AsciiChar",length:200,default:["contentHash",'""']},{name:"cloudPath",type:"string",dataType:"Char",length:450,default:["cloudPath",'""']},{name:"contentType",type:"string",dataType:"Char",length:200,default:["contentType",'""']},{name:"contentSize",type:"number",dataType:"BigInt",default:["contentSize","0"]},{name:"compression",type:"string",dataType:"Char",length:10,default:["compression",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"textDocumentID",type:"number",dataType:"BigInt",default:["textDocumentID","0"]},{name:"deleted",type:"boolean",dataType:"Boolean",default:["deleted","false"]}],relations:[{name:"appFiles",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"textDocument",isCollection:false,isInverse:true,relatedName:"TextDocument"},{name:"tempFiles",isCollection:true,isInverse:true,relatedName:"AppTempFile"}]}));modelEntitySchemas["FileContent"]=FileContent;_export("Configuration",Configuration=new Model("Configuration",["name"],{},{name:"configuration",keys:[{name:"name",type:"string",dataType:"Char",length:200}],properties:[{name:"configValue",type:"string",dataType:"Char",default:["configValue",'""']}],relations:[]}));modelEntitySchemas["Configuration"]=Configuration;_export("Contact",Contact=new Model("Contact",["contactID"],{name:"",type:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"contacts",keys:[{name:"contactID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"externalID",type:"string",dataType:"Char",length:400,default:["externalID",'""']},{name:"userID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"domainID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"description",type:"string",dataType:"Char",length:200,default:["description",'""']},{name:"companyID",type:"string",dataType:"Char",length:200,default:["companyID",'""']},{name:"salesTaxID",type:"string",dataType:"Char",length:200,default:["salesTaxID",'""']},{name:"gstTaxID",type:"string",dataType:"Char",length:200,default:["gstTaxID",'""']},{name:"vatTaxID",type:"string",dataType:"Char",length:200,default:["vatTaxID",'""']},{name:"incomeTaxID",type:"string",dataType:"Char",length:200,default:["incomeTaxID",'""']},{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"synchronization",type:"string",dataType:"Char",default:["synchronization",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"previewID",type:"number",dataType:"BigInt"},{name:"billingAddressID",type:"number",dataType:"BigInt"},{name:"shippingAddressID",type:"number",dataType:"BigInt"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"preview",fkMap:[{fk:"previewID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"billingAddress",fkMap:[{fk:"billingAddressID",relatedKey:"addressID"}],relatedName:"ContactAddress"},{name:"addresses",isCollection:true,isInverse:true,relatedName:"ContactAddress"},{name:"shippingAddress",fkMap:[{fk:"shippingAddressID",relatedKey:"addressID"}],relatedName:"ContactAddress"},{name:"emails",isCollection:true,isInverse:true,relatedName:"ContactEmail"},{name:"phones",isCollection:true,isInverse:true,relatedName:"ContactPhone"},{name:"items",isCollection:true,isInverse:true,relatedName:"ContactItem"},{name:"domains",isCollection:true,isInverse:true,relatedName:"ContactDomain"}]}));modelEntitySchemas["Contact"]=Contact;_export("ContactEmail",ContactEmail=new Model("ContactEmail",["emailAddressID","contactID"],{type:"",blocked:false},{name:"contact_emails",keys:[{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"contactID",type:"number",dataType:"BigInt"}],properties:[{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']},{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]}],relations:[{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactEmail"]=ContactEmail;_export("ContactPhone",ContactPhone=new Model("ContactPhone",["contactID","phoneNumberE64"],{type:""},{name:"contact_phones",keys:[{name:"contactID",type:"number",dataType:"BigInt"},{name:"phoneNumberE64",type:"string",dataType:"Char",length:50}],properties:[{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactPhone"]=ContactPhone;_export("ContactItem",ContactItem=new Model("ContactItem",["itemID"],{type:"",title:"",valuesJson:""},{name:"contact_items",keys:[{name:"itemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"contactID",type:"number",dataType:"BigInt"},{name:"type",type:"string",dataType:"Char",length:200,default:["type",'""']},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"valuesJson",type:"string",dataType:"Char",default:["valuesJson",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactItem"]=ContactItem;_export("ContactDomain",ContactDomain=new Model("ContactDomain",["domainID","contactID"],{blocked:false},{name:"contact_domains",keys:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"contactID",type:"number",dataType:"BigInt"}],properties:[{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactDomain"]=ContactDomain;_export("ContactAddress",ContactAddress=new Model("ContactAddress",["addressID"],{title:"",line1:""},{name:"contact_addresses",keys:[{name:"addressID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"contactID",type:"number",dataType:"BigInt"},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"line1",type:"string",dataType:"Char",length:400,default:["line1",'""']},{name:"line2",type:"string",dataType:"Char",length:400,default:["line2",'""']},{name:"line3",type:"string",dataType:"Char",length:400,default:["line3",'""']},{name:"city",type:"string",dataType:"Char",length:50,default:["city",'""']},{name:"state",type:"string",dataType:"Char",length:50,default:["state",'""']},{name:"countryCode",type:"string",dataType:"Char",length:5,default:["countryCode",'""']},{name:"phoneNumber",type:"string",dataType:"Char",length:5,default:["phoneNumber",'""']},{name:"notes",type:"string",dataType:"Char",length:5,default:["notes",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"},{name:"billingContacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"shippingContacts",isCollection:true,isInverse:true,relatedName:"Contact"}]}));modelEntitySchemas["ContactAddress"]=ContactAddress;_export("CachedItem",CachedItem=new Model("CachedItem",["itemID"],{keyHash:"",key:"",expiry:new DefaultFactory((()=>new DateTime)),ready:false,slide:false},{name:"cached_item",keys:[{name:"itemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"keyHash",type:"string",dataType:"Char",length:450,default:["keyHash",'""']},{name:"key",type:"string",dataType:"Char",default:["key",'""']},{name:"expiry",type:"DateTime",dataType:"DateTime",default:["expiry","new DefaultFactory(() => new DateTime())"]},{name:"ready",type:"boolean",dataType:"Boolean",default:["ready","false"]},{name:"value",type:"string",dataType:"Char",default:["value",'""']},{name:"slide",type:"boolean",dataType:"Boolean",default:["slide","false"]}],relations:[]}));modelEntitySchemas["CachedItem"]=CachedItem;_export("Domain",Domain=new Model("Domain",["domainID"],{name:"",received:0,failed:0},{name:"domains",keys:[{name:"domainID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"received",type:"number",dataType:"Int",default:["received","0"]},{name:"failed",type:"number",dataType:"Int",default:["failed","0"]}],relations:[{name:"emailAddresses",isCollection:true,isInverse:true,relatedName:"EmailAddress"},{name:"mailboxes",isCollection:true,isInverse:true,relatedName:"Mailbox"},{name:"hostedDomain",isCollection:false,isInverse:true,relatedName:"HostedDomain"},{name:"contactDomains",isCollection:true,isInverse:true,relatedName:"ContactDomain"},{name:"hostedZone",isCollection:false,isInverse:true,relatedName:"HostedZone"},{name:"activities",isCollection:true,isInverse:true,relatedName:"ServerActivity"}],queries:{forSignup:"external"}}));modelEntitySchemas["Domain"]=Domain;_export("HostedDomain",HostedDomain=new Model("HostedDomain",["domainID"],{enableReceive:false,enableSend:false,useRelay:false,maxSendPerSecond:0,allowSignup:false},{name:"hosted_domains",keys:[{name:"domainID",type:"number",dataType:"BigInt"}],properties:[{name:"enableReceive",type:"boolean",dataType:"Boolean",default:["enableReceive","false"]},{name:"enableSend",type:"boolean",dataType:"Boolean",default:["enableSend","false"]},{name:"useRelay",type:"boolean",dataType:"Boolean",default:["useRelay","false"]},{name:"maxSendPerSecond",type:"number",dataType:"Decimal",default:["maxSendPerSecond","0"]},{name:"allowSignup",type:"boolean",dataType:"Boolean",default:["allowSignup","false"]},{name:"aliasForName",type:"string",dataType:"Char",length:200}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"aliasFor",fkMap:[{fk:"aliasForName",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"aliases",isCollection:true,isInverse:true,relatedName:"HostedDomain"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"domainUsers",isCollection:true,isInverse:true,relatedName:"DomainUser"},{name:"relays",isCollection:true,isInverse:true,relatedName:"DomainRelay"},{name:"domainKeys",isCollection:true,isInverse:true,relatedName:"DomainKey"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"websiteChannelDomains",isCollection:true,isInverse:true,relatedName:"WebSiteChannelDomain"}],queries:{hosted:"external"},actions:{deleteDomain:"external"}}));modelEntitySchemas["HostedDomain"]=HostedDomain;_export("DomainUser",DomainUser=new Model("DomainUser",["domainID","userID"],{isAdmin:false,allowCreateMailbox:false},{name:"domain_users",keys:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"}],properties:[{name:"prefix",type:"string",dataType:"Char",length:20,default:["prefix",'""']},{name:"isAdmin",type:"boolean",dataType:"Boolean",default:["isAdmin","false"]},{name:"allowCreateMailbox",type:"boolean",dataType:"Boolean",default:["allowCreateMailbox","false"]}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["DomainUser"]=DomainUser;_export("HostedZone",HostedZone=new Model("HostedZone",["zoneID"],{dnsHosted:false,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"hosted_zones",keys:[{name:"zoneID",type:"number",dataType:"BigInt"}],properties:[{name:"dnsHosted",type:"boolean",dataType:"Boolean",default:["dnsHosted","false"]},{name:"unsigned",type:"string",dataType:"Char",default:["unsigned",'""']},{name:"digest",type:"string",dataType:"Char",default:["digest",'""']},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"dateSigned",type:"DateTime",dataType:"DateTime",default:["dateSigned","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"domain",fkMap:[{fk:"zoneID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"records",isCollection:true,isInverse:true,relatedName:"HostedZoneRecord"},{name:"users",isCollection:true,isInverse:true,relatedName:"HostedZoneUser"}],actions:{updateHosting:"external"}}));modelEntitySchemas["HostedZone"]=HostedZone;_export("HostedZoneRecordTypeArray",HostedZoneRecordTypeArray=[{label:"A",value:"A"},{label:"AAAA",value:"AAAA"},{label:"CNAME",value:"CNAME"},{label:"MX",value:"MX"},{label:"TXT",value:"TXT"},{label:"PTR",value:"PTR"},{label:"SRV",value:"SRV"},{label:"CAA",value:"CAA"},{label:"NS",value:"NS"},{label:"SOA",value:"SOA"}]);_export("HostedZoneRecord",HostedZoneRecord=new Model("HostedZoneRecord",["recordID"],{disabled:false,readonly:false,name:"",type:"A",isAlias:false,value:"",ttl:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),hosted:false},{name:"hosted_zone_records",keys:[{name:"recordID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"zoneID",type:"number",dataType:"BigInt"},{name:"disabled",type:"boolean",dataType:"Boolean",default:["disabled","false"]},{name:"readonly",type:"boolean",dataType:"Boolean",default:["readonly","false"]},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"type",type:"Object",dataType:"Char",length:15,default:["type",'"A"']},{name:"isAlias",type:"boolean",dataType:"Boolean",default:["isAlias","false"]},{name:"value",type:"string",dataType:"Char",default:["value",'""']},{name:"ttl",type:"number",dataType:"Int",default:["ttl","0"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']},{name:"expiryDate",type:"DateTime",dataType:"DateTimeOffset",default:["expiryDate","new DefaultFactory(() => new DateTime())"]},{name:"hosted",type:"boolean",dataType:"Boolean",default:["hosted","false"]},{name:"fqdn",type:"string",dataType:"Char",default:["fqdn",'""']}],relations:[{name:"zone",fkMap:[{fk:"zoneID",relatedKey:"zoneID"}],relatedName:"HostedZone"}]}));modelEntitySchemas["HostedZoneRecord"]=HostedZoneRecord;_export("HostedZoneUser",HostedZoneUser=new Model("HostedZoneUser",["zoneID","userID"],{},{name:"hosted_zone_users",keys:[{name:"zoneID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"zone",fkMap:[{fk:"zoneID",relatedKey:"zoneID"}],relatedName:"HostedZone"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["HostedZoneUser"]=HostedZoneUser;_export("DomainRelayTypeArray",DomainRelayTypeArray=[{label:"smtp",value:"smtp"},{label:"ses",value:"ses"},{label:"https",value:"https"}]);_export("DomainRelay",DomainRelay=new Model("DomainRelay",["domainRelayID"],{type:"smtp",host:"",username:"",password:"",priority:0},{name:"domain_relays",keys:[{name:"domainRelayID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"type",type:"string",dataType:"AsciiChar",length:20,default:["type",'"smtp"']},{name:"host",type:"string",dataType:"Char",length:400,default:["host",'""']},{name:"username",type:"string",dataType:"Char",length:100,default:["username",'""']},{name:"password",type:"string",dataType:"Char",length:100,default:["password",'""']},{name:"priority",type:"number",dataType:"Int",default:["priority","0"]},{name:"script",type:"string",dataType:"Char",default:["script",'""']}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["DomainRelay"]=DomainRelay;_export("DomainKey",DomainKey=new Model("DomainKey",["domainKeyID"],{name:"",keyType:"",publicKey:""},{name:"domain_keys",keys:[{name:"domainKeyID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:100,default:["name",'""']},{name:"keyType",type:"string",dataType:"Char",length:20,default:["keyType",'""']},{name:"publicKey",type:"string",dataType:"Char",default:["publicKey",'""']},{name:"domainID",type:"number",dataType:"BigInt"},{name:"privateKey",type:"string",dataType:"Char",default:["privateKey",'""']}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["DomainKey"]=DomainKey;_export("EmailStatusArray",EmailStatusArray=[{label:"queued",value:"queued"},{label:"received",value:"received"},{label:"draft",value:"draft"},{label:"published",value:"published"},{label:"pending-approval",value:"pending-approval"},{label:"approved",value:"approved"},{label:"scheduled",value:"scheduled"},{label:"sent",value:"sent"},{label:"sent-failed",value:"sent-failed"},{label:"deleted",value:"deleted"},{label:"closed",value:"closed"}]);_export("Email",Email=new Model("Email",["emailID"],{senderName:"",received:false,hasUnsubscribe:false,dateReceived:new DefaultFactory((()=>new DateTime)),dateCreated:new DefaultFactory((()=>new DateTime)),status:"queued",forwardCount:0,replyCount:0,viewCount:0,engagementCount:0,emailSize:0,originalFileSize:0},{name:"emails",keys:[{name:"emailID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"subject",type:"string",dataType:"Char",default:["subject",'""']},{name:"summary",type:"string",dataType:"Char",length:200,default:["summary",'""']},{name:"textBody",type:"string",dataType:"Char",default:["textBody",'""']},{name:"htmlBody",type:"string",dataType:"Char",default:["htmlBody",'""']},{name:"senderName",type:"string",dataType:"Char",default:["senderName",'""']},{name:"senderID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"},{name:"received",type:"boolean",dataType:"Boolean",default:["received","false"]},{name:"headers",type:"string",dataType:"Char",default:["headers",'""']},{name:"hasUnsubscribe",type:"boolean",dataType:"Boolean",default:["hasUnsubscribe","false"]},{name:"headerMessageID",type:"string",dataType:"Char",default:["headerMessageID",'""']},{name:"inReplyTo",type:"string",dataType:"Char",default:["inReplyTo",'""']},{name:"externalEmailID",type:"string",dataType:"Char",length:200,default:["externalEmailID",'""']},{name:"syncedMailboxID",type:"number",dataType:"BigInt",default:["syncedMailboxID","0"]},{name:"dateReceived",type:"DateTime",dataType:"DateTime",default:["dateReceived","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateSent",type:"DateTime",dataType:"DateTime",default:["dateSent","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",dataType:"AsciiChar",length:20,default:["status",'"queued"']},{name:"forwardCount",type:"number",dataType:"Int",default:["forwardCount","0"]},{name:"replyCount",type:"number",dataType:"Int",default:["replyCount","0"]},{name:"viewCount",type:"number",dataType:"Int",default:["viewCount","0"]},{name:"engagementCount",type:"number",dataType:"Int",default:["engagementCount","0"]},{name:"mimeFileID",type:"number",dataType:"BigInt"},{name:"sentMessageID",type:"string",dataType:"Char",length:200,default:["sentMessageID",'""']},{name:"htmlBodyID",type:"number",dataType:"BigInt"},{name:"emailSize",type:"number",dataType:"BigInt",default:["emailSize","0"]},{name:"originalFileSize",type:"number",dataType:"Int",default:["originalFileSize","0"]},{name:"workflowID",type:"string",dataType:"Char",length:400,default:["workflowID",'""']},{name:"parentID",type:"number",dataType:"BigInt"},{name:"threadID",type:"number",dataType:"BigInt"},{name:"forwardedID",type:"number",dataType:"BigInt"},{name:"lastReplyID",type:"number",dataType:"BigInt"},{name:"engagement",type:"string",dataType:"Char",length:200,default:["engagement",'""']},{name:"tags",type:"string",dataType:"Char",default:["tags",'""']},{name:"stateReferencesUpdated",type:"boolean",dataType:"Boolean",default:["stateReferencesUpdated","false"]},{name:"statePostReceiveInvoked",type:"boolean",dataType:"Boolean",default:["statePostReceiveInvoked","false"]}],relations:[{name:"senderEmail",fkMap:[{fk:"senderID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"senderUser",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mimeFile",fkMap:[{fk:"mimeFileID",relatedKey:"logID"}],relatedName:"EmailLog"},{name:"logs",isCollection:true,isInverse:true,relatedName:"EmailLog"},{name:"htmlBodyFile",fkMap:[{fk:"htmlBodyID",relatedKey:"logID"}],relatedName:"EmailLog"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"emailID"}],relatedName:"Email"},{name:"children",isCollection:true,isInverse:true,relatedName:"Email"},{name:"thread",fkMap:[{fk:"threadID",relatedKey:"emailID"}],relatedName:"Email"},{name:"threadChildren",isCollection:true,isInverse:true,relatedName:"Email"},{name:"forwarded",fkMap:[{fk:"forwardedID",relatedKey:"emailID"}],relatedName:"Email"},{name:"forwards",isCollection:true,isInverse:true,relatedName:"Email"},{name:"lastReply",fkMap:[{fk:"lastReplyID",relatedKey:"emailID"}],relatedName:"Email"},{name:"lastRepliedThreads",isCollection:true,isInverse:true,relatedName:"Email"},{name:"attachments",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"lastEmailThreads",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"engagements",isCollection:true,isInverse:true,relatedName:"EmailEngagement"},{name:"recipients",isCollection:true,isInverse:true,relatedName:"EmailRecipient"},{name:"emailTags",isCollection:true,isInverse:true,relatedName:"EmailTag"},{name:"channelEmails",isCollection:true,isInverse:true,relatedName:"ChannelEmail"},{name:"mailboxContactEvents",isCollection:true,isInverse:true,relatedName:"MailboxContactEvent"},{name:"threadContacts",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"},{name:"threadParticipants",isCollection:true,isInverse:true,relatedName:"ThreadParticipant"}],queries:{channelEmails:"external"},actions:{getBody:"external"}}));modelEntitySchemas["Email"]=Email;_export("EmailEngagement",EmailEngagement=new Model("EmailEngagement",["emailID","engagement"],{count:0},{name:"email_engagements",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"engagement",type:"string",dataType:"Char",length:200}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"}]}));modelEntitySchemas["EmailEngagement"]=EmailEngagement;_export("EmailLog",EmailLog=new Model("EmailLog",["logID"],{fileName:"",fileSize:0,compression:"",dateCreated:new DefaultFactory((()=>new DateTime)),cloudPath:""},{name:"email_logs",keys:[{name:"logID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"fileName",type:"string",dataType:"Char",length:200,default:["fileName",'""']},{name:"fileSize",type:"number",dataType:"Int",default:["fileSize","0"]},{name:"compression",type:"string",dataType:"Char",length:20,default:["compression",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"cloudPath",type:"string",dataType:"Char",length:200,default:["cloudPath",'""']}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mimeFileEmails",isCollection:true,isInverse:true,relatedName:"Email"},{name:"htmlBodyFileEmails",isCollection:true,isInverse:true,relatedName:"Email"}]}));modelEntitySchemas["EmailLog"]=EmailLog;_export("EmailRecipientTypeArray",EmailRecipientTypeArray=[{label:"from",value:"from"},{label:"to",value:"to"},{label:"cc",value:"cc"},{label:"bcc",value:"bcc"},{label:"viewer",value:"viewer"},{label:"editor",value:"editor"},{label:"unsubscribed",value:"unsubscribed"}]);_export("EmailRecipient",EmailRecipient=new Model("EmailRecipient",["emailID","emailAddressID"],{type:"from"},{name:"email_recipients",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[{name:"type",type:"string",dataType:"Char",length:20,default:["type",'"from"']},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"dateSent",type:"DateTime",dataType:"DateTimeOffset",default:["dateSent","new DefaultFactory(() => new DateTime())"]},{name:"error",type:"string",dataType:"Char",default:["error",'""']},{name:"status",type:"string",dataType:"Char",length:15,default:["status",'""']},{name:"replyTo",type:"string",dataType:"Char",length:400,default:["replyTo",'""']}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["EmailRecipient"]=EmailRecipient;_export("EmailTag",EmailTag=new Model("EmailTag",["emailID","tagID"],{},{name:"email_tags",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["EmailTag"]=EmailTag;_export("EmailAddress",EmailAddress=new Model("EmailAddress",["emailAddressID"],{emailAddress:"",name:"",blocked:false},{name:"email_addresses",keys:[{name:"emailAddressID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"emailAddress",type:"string",dataType:"Char",length:400,default:["emailAddress",'""']},{name:"domainID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"senders",isCollection:true,isInverse:true,relatedName:"Email"},{name:"mailbox",isCollection:false,isInverse:true,relatedName:"Mailbox"},{name:"threads",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"contactEmails",isCollection:true,isInverse:true,relatedName:"ContactEmail"},{name:"recipients",isCollection:true,isInverse:true,relatedName:"EmailRecipient"},{name:"mailboxContactEmails",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"},{name:"storeAccounts",isCollection:true,isInverse:true,relatedName:"StoreAccountEmail"},{name:"names",isCollection:true,isInverse:true,relatedName:"EmailAddressName"},{name:"threadParticipants",isCollection:true,isInverse:true,relatedName:"ThreadParticipant"}]}));modelEntitySchemas["EmailAddress"]=EmailAddress;_export("EmailTemplate",EmailTemplate=new Model("EmailTemplate",["templateID"],{},{name:"email_templates",keys:[{name:"templateID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"folderID",type:"number",dataType:"BigInt"}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["EmailTemplate"]=EmailTemplate;_export("MailboxSubscriptionTypeArray",MailboxSubscriptionTypeArray=[{label:"all",value:"all"},{label:"daily",value:"daily"},{label:"weekly",value:"weekly"},{label:"engaged",value:"engaged"}]);_export("Mailbox",Mailbox=new Model("Mailbox",["mailboxID"],{storage:0,maxStorage:0,indexAttachments:false,indexImageAttachments:false,openThreads:0,totalThreads:0,pendingModerationCount:0,unread:0,isExternal:false,maxSendPerSecond:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),isChannel:false,isLibrary:false,isPrivateChannel:false,membersCanPostTopLevel:false,nonMembersCanPost:false,nonMembersCanComment:false,nonMembersCanReact:false,requiresMembershipApproval:false,requiresPostModeration:false,requiresCommentModeration:false,requiresSignup:false,subscriberCount:0},{name:"mailboxes",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"storage",type:"number",dataType:"BigInt",default:["storage","0"]},{name:"maxStorage",type:"number",dataType:"BigInt",default:["maxStorage","0"]},{name:"indexAttachments",type:"boolean",dataType:"Boolean",default:["indexAttachments","false"]},{name:"indexImageAttachments",type:"boolean",dataType:"Boolean",default:["indexImageAttachments","false"]},{name:"firstID",type:"number",dataType:"BigInt",default:["firstID","0"]},{name:"recentID",type:"number",dataType:"BigInt",default:["recentID","0"]},{name:"uniqueAddress",type:"string",dataType:"Char",length:400,default:["uniqueAddress",'""']},{name:"openThreads",type:"number",dataType:"Int",default:["openThreads","0"]},{name:"totalThreads",type:"number",dataType:"Int",default:["totalThreads","0"]},{name:"pendingModerationCount",type:"number",dataType:"Int",default:["pendingModerationCount","0"]},{name:"unread",type:"number",dataType:"Int",default:["unread","0"]},{name:"logoID",type:"number",dataType:"BigInt"},{name:"isExternal",type:"boolean",dataType:"Boolean",default:["isExternal","false"]},{name:"maxSendPerSecond",type:"number",dataType:"Decimal",default:["maxSendPerSecond","0"]},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"isChannel",type:"boolean",dataType:"Boolean",default:["isChannel","false"]},{name:"isLibrary",type:"boolean",dataType:"Boolean",default:["isLibrary","false"]},{name:"isPrivateChannel",type:"boolean",dataType:"Boolean",default:["isPrivateChannel","false"]},{name:"membersCanPostTopLevel",type:"boolean",dataType:"Boolean",default:["membersCanPostTopLevel","false"]},{name:"nonMembersCanPost",type:"boolean",dataType:"Boolean",default:["nonMembersCanPost","false"]},{name:"nonMembersCanComment",type:"boolean",dataType:"Boolean",default:["nonMembersCanComment","false"]},{name:"nonMembersCanReact",type:"boolean",dataType:"Boolean",default:["nonMembersCanReact","false"]},{name:"requiresMembershipApproval",type:"boolean",dataType:"Boolean",default:["requiresMembershipApproval","false"]},{name:"requiresPostModeration",type:"boolean",dataType:"Boolean",default:["requiresPostModeration","false"]},{name:"requiresCommentModeration",type:"boolean",dataType:"Boolean",default:["requiresCommentModeration","false"]},{name:"requiresSignup",type:"boolean",dataType:"Boolean",default:["requiresSignup","false"]},{name:"subscriberCount",type:"number",dataType:"Int",default:["subscriberCount","0"]},{name:"subscriptionType",type:"string",dataType:"AsciiChar",length:20,default:["subscriptionType",'"all"']},{name:"datePublished",type:"DateTime",dataType:"DateTime",default:["datePublished","new DefaultFactory(() => new DateTime())"]},{name:"dateEngaged",type:"DateTime",dataType:"DateTime",default:["dateEngaged","new DefaultFactory(() => new DateTime())"]},{name:"parentID",type:"number",dataType:"BigInt",default:["parentID","0"]}],relations:[{name:"emailAddress",fkMap:[{fk:"mailboxID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"logo",fkMap:[{fk:"logoID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"mailboxContacts",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"emails",isCollection:true,isInverse:true,relatedName:"ChannelEmail"},{name:"mailboxEvents",isCollection:true,isInverse:true,relatedName:"MailboxContactEvent"},{name:"folders",isCollection:true,isInverse:true,relatedName:"MailboxFolder"},{name:"threadEmails",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"tags",isCollection:true,isInverse:true,relatedName:"MailboxTag"},{name:"syncTargets",isCollection:true,isInverse:true,relatedName:"MailboxSyncTarget"},{name:"channelConfig",isCollection:false,isInverse:true,relatedName:"ChannelConfig"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"},{name:"userPins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"userMailboxes",isCollection:true,isInverse:true,relatedName:"UserMailbox"},{name:"websiteChannels",isCollection:true,isInverse:true,relatedName:"WebSiteChannel"}],queries:{channels:"external"},actions:{updateFolders:"external",fetch:"external"}}));modelEntitySchemas["Mailbox"]=Mailbox;_export("ChannelEmail",ChannelEmail=new Model("ChannelEmail",["mailboxID","emailID"],{engagementCount:0,isThread:false},{name:"mailbox_emails",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"}],properties:[{name:"engagementCount",type:"number",dataType:"Int",default:["engagementCount","0"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"datePublished",type:"DateTime",dataType:"DateTime",default:["datePublished","new DefaultFactory(() => new DateTime())"]},{name:"isThread",type:"boolean",dataType:"Boolean",default:["isThread","false"]},{name:"previewFileID",type:"number",dataType:"BigInt"}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"previewFile",fkMap:[{fk:"previewFileID",relatedKey:"appFileID"}],relatedName:"AppFile"}],queries:{channelEmails:"external",libraryEmails:"external"},actions:{getBody:"external"}}));modelEntitySchemas["ChannelEmail"]=ChannelEmail;_export("GeoIPBlock",GeoIPBlock=new Model("GeoIPBlock",["blockStart","blockEnd"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateExpires:new DefaultFactory((()=>new DateTime)),country:"",verified:false},{name:"geo_ipblocks",keys:[{name:"blockStart",type:"number",dataType:"BigInt"},{name:"blockEnd",type:"number",dataType:"BigInt"}],properties:[{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateExpires",type:"DateTime",dataType:"DateTime",default:["dateExpires","new DefaultFactory(() => new DateTime())"]},{name:"country",type:"string",dataType:"Char",length:50,default:["country",'""']},{name:"verified",type:"boolean",dataType:"Boolean",default:["verified","false"]},{name:"error",type:"string",dataType:"Char",default:["error",'""']}],relations:[]}));modelEntitySchemas["GeoIPBlock"]=GeoIPBlock;_export("MailboxContactStatusArray",MailboxContactStatusArray=[{label:"invited",value:"invited"},{label:"added",value:"added"},{label:"active",value:"active"},{label:"unsubscribed",value:"unsubscribed"},{label:"blocked",value:"blocked"}]);_export("MailboxContactSubscriptionTypeArray",MailboxContactSubscriptionTypeArray=[{label:"all",value:"all"},{label:"daily",value:"daily"},{label:"weekly",value:"weekly"},{label:"engaged",value:"engaged"}]);_export("MailboxContact",MailboxContact=new Model("MailboxContact",["mailboxID","emailAddressID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),unread:0,openThreads:0,totalThreads:0,autoClose:false,total:0,isOwner:false,isModerator:false,canContribute:false,priority:0,blocked:false,newRequest:false,spam:false,mute:false,status:"invited"},{name:"mailbox_contacts",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[{name:"folderTagID",type:"number",dataType:"BigInt",default:["folderTagID","0"]},{name:"lastEmailID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"unread",type:"number",dataType:"Int",default:["unread","0"]},{name:"openThreads",type:"number",dataType:"Int",default:["openThreads","0"]},{name:"totalThreads",type:"number",dataType:"Int",default:["totalThreads","0"]},{name:"autoClose",type:"boolean",dataType:"Boolean",default:["autoClose","false"]},{name:"total",type:"number",dataType:"Int",default:["total","0"]},{name:"doNotIndex",type:"boolean",dataType:"Boolean",default:["doNotIndex","false"]},{name:"doNotIndexAttachments",type:"boolean",dataType:"Boolean",default:["doNotIndexAttachments","false"]},{name:"isOwner",type:"boolean",dataType:"Boolean",default:["isOwner","false"]},{name:"isModerator",type:"boolean",dataType:"Boolean",default:["isModerator","false"]},{name:"canContribute",type:"boolean",dataType:"Boolean",default:["canContribute","false"]},{name:"priority",type:"number",dataType:"Int",default:["priority","0"]},{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]},{name:"newRequest",type:"boolean",dataType:"Boolean",default:["newRequest","false"]},{name:"spam",type:"boolean",dataType:"Boolean",default:["spam","false"]},{name:"mute",type:"boolean",dataType:"Boolean",default:["mute","false"]},{name:"status",type:"string",dataType:"Char",length:15,default:["status",'"invited"']},{name:"subscriptionType",type:"string",dataType:"AsciiChar",length:10,default:["subscriptionType",'"all"']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"lastEmail",fkMap:[{fk:"lastEmailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"contactEvents",isCollection:true,isInverse:true,relatedName:"MailboxContactEvent"},{name:"contactEmails",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"tags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"}]}));modelEntitySchemas["MailboxContact"]=MailboxContact;_export("MailboxContactEvent",MailboxContactEvent=new Model("MailboxContactEvent",["eventID"],{emailAddressID:0,startDate:new DefaultFactory((()=>new DateTime)),endDate:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_events",keys:[{name:"eventID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt",default:["emailAddressID","0"]},{name:"emailID",type:"number",dataType:"BigInt"},{name:"startDate",type:"DateTime",dataType:"DateTime",default:["startDate","new DefaultFactory(() => new DateTime())"]},{name:"endDate",type:"DateTime",dataType:"DateTime",default:["endDate","new DefaultFactory(() => new DateTime())"]},{name:"title",type:"string",dataType:"Char",length:200,default:["title",'""']},{name:"description",type:"string",dataType:"Char",length:400,default:["description",'""']},{name:"location",type:"string",dataType:"Char",length:400,default:["location",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"}],queries:{calendarMonth:"external"}}));modelEntitySchemas["MailboxContactEvent"]=MailboxContactEvent;_export("MailboxFolder",MailboxFolder=new Model("MailboxFolder",["mailboxID","tagID"],{count:0,isSystem:false},{name:"mailbox_folders",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]},{name:"isSystem",type:"boolean",dataType:"Boolean",default:["isSystem","false"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["MailboxFolder"]=MailboxFolder;_export("MailboxContactEmail",MailboxContactEmail=new Model("MailboxContactEmail",["mailboxID","emailAddressID","emailID"],{dateReceived:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_emails",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"}],properties:[{name:"dateReceived",type:"DateTime",dataType:"DateTimeOffset",default:["dateReceived","new DefaultFactory(() => new DateTime())"]},{name:"timeRead",type:"DateTime",dataType:"DateTimeOffset",default:["timeRead","new DefaultFactory(() => new DateTime())"]},{name:"engagement",type:"string",dataType:"Char",length:200,default:["engagement",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"}],actions:{markAsRead:"external"}}));modelEntitySchemas["MailboxContactEmail"]=MailboxContactEmail;_export("MailboxContactTag",MailboxContactTag=new Model("MailboxContactTag",["mailboxID","emailAddressID","tagID"],{count:0,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_tags",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"},{name:"mailboxTag",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"tagID",relatedKey:"tagID"}],relatedName:"MailboxTag"}]}));modelEntitySchemas["MailboxContactTag"]=MailboxContactTag;_export("MailboxTag",MailboxTag=new Model("MailboxTag",["mailboxID","tagID"],{count:0,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"mailbox_tags",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"contactTags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"}],queries:{channelTags:"external"}}));modelEntitySchemas["MailboxTag"]=MailboxTag;_export("MailboxSyncTargetDirectionArray",MailboxSyncTargetDirectionArray=[{label:"in",value:"in"},{label:"out",value:"out"}]);_export("MailboxSyncTargetProtocolArray",MailboxSyncTargetProtocolArray=[{label:"imap",value:"imap"},{label:"smtp",value:"smtp"}]);_export("MailboxSyncTargetLastSyncStatusArray",MailboxSyncTargetLastSyncStatusArray=[{label:"none",value:"none"},{label:"success",value:"success"},{label:"failed",value:"failed"}]);_export("MailboxSyncTarget",MailboxSyncTarget=new Model("MailboxSyncTarget",["syncTargetID"],{direction:"in",protocol:"imap",username:"",host:"",port:0,isSecure:false,syncAllFolders:false,syncJunkMails:false,intervalSeconds:0,active:false},{name:"mailbox_sync_targets",keys:[{name:"syncTargetID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"direction",type:"string",dataType:"Char",length:5,default:["direction",'"in"']},{name:"protocol",type:"string",dataType:"Char",length:20,default:["protocol",'"imap"']},{name:"username",type:"string",dataType:"Char",length:200,default:["username",'""']},{name:"password",type:"string",dataType:"Char",length:200,default:["password",'""']},{name:"host",type:"string",dataType:"Char",length:200,default:["host",'""']},{name:"port",type:"number",dataType:"Int",default:["port","0"]},{name:"isSecure",type:"boolean",dataType:"Boolean",default:["isSecure","false"]},{name:"syncAllFolders",type:"boolean",dataType:"Boolean",default:["syncAllFolders","false"]},{name:"syncJunkMails",type:"boolean",dataType:"Boolean",default:["syncJunkMails","false"]},{name:"allFolderName",type:"string",dataType:"Char",length:200,default:["allFolderName",'""']},{name:"intervalSeconds",type:"number",dataType:"Int",default:["intervalSeconds","0"]},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]},{name:"lastSync",type:"DateTime",dataType:"DateTimeOffset",default:["lastSync","new DefaultFactory(() => new DateTime())"]},{name:"lastSyncStatus",type:"string",dataType:"Char",length:200,default:["lastSyncStatus",'"none"']},{name:"syncState",type:"string",dataType:"Char",default:["syncState",'""']},{name:"lastSyncError",type:"string",dataType:"Char",default:["lastSyncError",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["MailboxSyncTarget"]=MailboxSyncTarget;_export("NameToken",NameToken=new Model("NameToken",["nameTokenID"],{word:""},{name:"name_tokens",keys:[{name:"nameTokenID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"word",type:"string",dataType:"Char",length:400,default:["word",'""']},{name:"suggest",type:"boolean",generated:"computed",dataType:"Boolean"}],relations:[{name:"emailAddressNames",isCollection:true,isInverse:true,relatedName:"EmailAddressName"}]}));modelEntitySchemas["NameToken"]=NameToken;_export("ChannelConfig",ChannelConfig=new Model("ChannelConfig",["mailboxID"],{sendInviteOnEngagement:false,memberOnlyEngagement:false,notSafeForWork:false},{name:"channel_configs",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"}],properties:[{name:"inviteContent",type:"string",dataType:"Char",default:["inviteContent",'""']},{name:"welcomeContent",type:"string",dataType:"Char",default:["welcomeContent",'""']},{name:"sendInviteOnEngagement",type:"boolean",dataType:"Boolean",default:["sendInviteOnEngagement","false"]},{name:"memberOnlyEngagement",type:"boolean",dataType:"Boolean",default:["memberOnlyEngagement","false"]},{name:"notSafeForWork",type:"boolean",dataType:"Boolean",default:["notSafeForWork","false"]},{name:"postFooter",type:"string",dataType:"Char",default:["postFooter",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["ChannelConfig"]=ChannelConfig;_export("SubscriberActivity",SubscriberActivity=new Model("SubscriberActivity",["activityID"],{activity:"",dateCreated:new DefaultFactory((()=>new DateTime))},{name:"subscriber_activities",keys:[{name:"activityID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"activity",type:"string",dataType:"Char",length:20,default:["activity",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"accessCode",type:"string",dataType:"Char",length:50,default:["accessCode",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"subscriber",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["SubscriberActivity"]=SubscriberActivity;_export("SearchWordStatusArray",SearchWordStatusArray=[{label:"begin",value:"begin"},{label:"ready",value:"ready"},{label:"deleted",value:"deleted"}]);_export("SearchWord",SearchWord=new Model("SearchWord",["wordID"],{word:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),status:"begin"},{name:"search_words",keys:[{name:"wordID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"word",type:"string",dataType:"Char",default:["word",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"expires",type:"DateTime",dataType:"DateTimeOffset",default:["expires","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",dataType:"Char",length:10,default:["status",'"begin"']},{name:"recentID",type:"number",dataType:"BigInt",default:["recentID","0"]},{name:"firstID",type:"number",dataType:"BigInt",default:["firstID","0"]}],relations:[{name:"indexes",isCollection:true,isInverse:true,relatedName:"SearchWordIndex"}]}));modelEntitySchemas["SearchWord"]=SearchWord;_export("SearchWordIndex",SearchWordIndex=new Model("SearchWordIndex",["wordID","fileContentID"],{rank:0},{name:"search_word_index",keys:[{name:"wordID",type:"number",dataType:"BigInt"},{name:"fileContentID",type:"number",dataType:"BigInt"}],properties:[{name:"rank",type:"number",dataType:"Int",default:["rank","0"]}],relations:[{name:"word",fkMap:[{fk:"wordID",relatedKey:"wordID"}],relatedName:"SearchWord"}]}));modelEntitySchemas["SearchWordIndex"]=SearchWordIndex;_export("ServerActivityActivityArray",ServerActivityActivityArray=[{label:"visit",value:"visit"},{label:"rcpt-not-found",value:"rcpt-not-found"},{label:"mail-received",value:"mail-received"}]);_export("ServerActivity",ServerActivity=new Model("ServerActivity",["activityID"],{dateCreated:new DefaultFactory((()=>new DateTime)),ipAddress:"",activity:"visit"},{name:"server_activities",keys:[{name:"activityID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"webSiteFolderID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"activity",type:"string",dataType:"Char",length:50,default:["activity",'"visit"']}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"webSite",fkMap:[{fk:"webSiteFolderID",relatedKey:"folderID"}],relatedName:"WebSite"}]}));modelEntitySchemas["ServerActivity"]=ServerActivity;_export("StoreConfig",StoreConfig=new Model("StoreConfig",["storeID","groupName","configName"],{encrypted:false,configValue:""},{name:"store_configs",keys:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"groupName",type:"string",dataType:"Char",length:50},{name:"configName",type:"string",dataType:"Char",length:200}],properties:[{name:"encrypted",type:"boolean",dataType:"Boolean",default:["encrypted","false"]},{name:"configValue",type:"string",dataType:"Char",default:["configValue",'""']}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"}]}));modelEntitySchemas["StoreConfig"]=StoreConfig;_export("StoreItemItemTypeArray",StoreItemItemTypeArray=[{label:"product",value:"product"},{label:"e-product",value:"e-product"},{label:"shipping",value:"shipping"},{label:"service",value:"service"},{label:"tax",value:"tax"},{label:"fee",value:"fee"},{label:"commission",value:"commission"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreItemItemUnitTypeArray",StoreItemItemUnitTypeArray=[{label:"product",value:"product"},{label:"e-product",value:"e-product"},{label:"shipping",value:"shipping"},{label:"service",value:"service"},{label:"tax",value:"tax"},{label:"fee",value:"fee"},{label:"commission",value:"commission"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreItem",StoreItem=new Model("StoreItem",["storeItemID"],{name:"",active:false,itemType:"product",itemUnit:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),price:0,maxPrice:0},{name:"store_items",keys:[{name:"storeItemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"itemFolderID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]},{name:"internalNotes",type:"string",dataType:"Char",default:["internalNotes",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"itemType",type:"string",dataType:"Char",length:20,default:["itemType",'"product"']},{name:"itemUnitType",type:"string",dataType:"Char",length:50,default:["itemUnitType",'"product"']},{name:"itemUnit",type:"number",dataType:"Decimal",default:["itemUnit","0"]},{name:"folderID",type:"number",dataType:"BigInt"},{name:"sizeForID",type:"number",dataType:"BigInt"},{name:"variantForID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"vendorID",type:"number",dataType:"BigInt"},{name:"price",type:"number",dataType:"Decimal",default:["price","0"]},{name:"maxPrice",type:"number",dataType:"Decimal",default:["maxPrice","0"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"itemFolder",fkMap:[{fk:"itemFolderID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"fileFolder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"sizeFor",fkMap:[{fk:"sizeForID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"sizes",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"variantFor",fkMap:[{fk:"variantForID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"variants",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"vendor",fkMap:[{fk:"vendorID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"itemCoupons",isCollection:true,isInverse:true,relatedName:"StoreCoupon"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"storeItemPrices",isCollection:true,isInverse:true,relatedName:"StoreItemPrice"},{name:"mediaFiles",isCollection:true,isInverse:true,relatedName:"StoreMediaFile"},{name:"insights",isCollection:true,isInverse:true,relatedName:"StoreInsight"},{name:"applicableTaxes",isCollection:true,isInverse:true,relatedName:"StoreItemTax"},{name:"taxItems",isCollection:true,isInverse:true,relatedName:"StoreItemTax"},{name:"storeItemTags",isCollection:true,isInverse:true,relatedName:"StoreItemTag"}],queries:{storeQuery:"external"}}));modelEntitySchemas["StoreItem"]=StoreItem;_export("StoreCouponTypeArray",StoreCouponTypeArray=[{label:"discount",value:"discount"},{label:"subtract",value:"subtract"}]);_export("StoreCoupon",StoreCoupon=new Model("StoreCoupon",["couponID"],{code:"",active:false,hidden:false,startDate:new DefaultFactory((()=>new DateTime)),dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),exclusive:false,minOrderAmount:0,maxOrderAmount:0,minQuantity:0,maxQuantity:0,amount:0,type:"discount"},{name:"store_coupons",keys:[{name:"couponID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"code",type:"string",dataType:"Char",length:100,default:["code",'""']},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]},{name:"hidden",type:"boolean",dataType:"Boolean",default:["hidden","false"]},{name:"itemID",type:"number",dataType:"BigInt"},{name:"startDate",type:"DateTime",dataType:"DateTime",default:["startDate","new DefaultFactory(() => new DateTime())"]},{name:"endDate",type:"DateTime",dataType:"DateTime",default:["endDate","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"exclusive",type:"boolean",dataType:"Boolean",default:["exclusive","false"]},{name:"minOrderAmount",type:"number",dataType:"Decimal",default:["minOrderAmount","0"]},{name:"maxOrderAmount",type:"number",dataType:"Decimal",default:["maxOrderAmount","0"]},{name:"minQuantity",type:"number",dataType:"Int",default:["minQuantity","0"]},{name:"maxQuantity",type:"number",dataType:"Int",default:["maxQuantity","0"]},{name:"amount",type:"number",dataType:"Int",default:["amount","0"]},{name:"type",type:"string",dataType:"Char",length:50,default:["type",'"discount"']}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"item",fkMap:[{fk:"itemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"orders",isCollection:true,isInverse:true,relatedName:"StoreJournalCoupon"}]}));modelEntitySchemas["StoreCoupon"]=StoreCoupon;_export("StoreJournalCoupon",StoreJournalCoupon=new Model("StoreJournalCoupon",["appliedCouponID"],{couponCode:""},{name:"store_journal_coupons",keys:[{name:"appliedCouponID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"couponID",type:"number",dataType:"BigInt"},{name:"orderID",type:"number",dataType:"BigInt"},{name:"lineItemID",type:"number",dataType:"BigInt"},{name:"couponCode",type:"string",dataType:"Char",length:200,default:["couponCode",'""']}],relations:[{name:"coupon",fkMap:[{fk:"couponID",relatedKey:"couponID"}],relatedName:"StoreCoupon"},{name:"order",fkMap:[{fk:"orderID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"lineItem",fkMap:[{fk:"lineItemID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["StoreJournalCoupon"]=StoreJournalCoupon;_export("StoreItemFolder",StoreItemFolder=new Model("StoreItemFolder",["itemFolderID"],{name:"",path:""},{name:"store_item_folders",keys:[{name:"itemFolderID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"path",type:"string",dataType:"Char",length:400,default:["path",'""']},{name:"parentID",type:"number",dataType:"BigInt"}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"children",isCollection:true,isInverse:true,relatedName:"StoreItemFolder"},{name:"items",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"tags",isCollection:true,isInverse:true,relatedName:"StoreItemFolderTag"}]}));modelEntitySchemas["StoreItemFolder"]=StoreItemFolder;_export("StoreItemFolderTag",StoreItemFolderTag=new Model("StoreItemFolderTag",["itemFolderID","tagID"],{count:0},{name:"store_item_folder_tags",keys:[{name:"itemFolderID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]}],relations:[{name:"itemFolder",fkMap:[{fk:"itemFolderID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["StoreItemFolderTag"]=StoreItemFolderTag;_export("StoreItemPrice",StoreItemPrice=new Model("StoreItemPrice",["priceID"],{startDate:new DefaultFactory((()=>new DateTime)),currency:"",recurring:false,amount:0,maxQuantity:0,taxIncluded:false,taxAmount:0,active:false},{name:"store_item_prices",keys:[{name:"priceID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"startDate",type:"DateTime",dataType:"DateTimeOffset",default:["startDate","new DefaultFactory(() => new DateTime())"]},{name:"endDate",type:"DateTime",dataType:"DateTimeOffset",default:["endDate","new DefaultFactory(() => new DateTime())"]},{name:"currency",type:"string",dataType:"Char",length:5,default:["currency",'""']},{name:"recurring",type:"boolean",dataType:"Boolean",default:["recurring","false"]},{name:"durationDays",type:"number",dataType:"Int",default:["durationDays","0"]},{name:"amount",type:"number",dataType:"Decimal",default:["amount","0"]},{name:"maxAmount",type:"number",dataType:"Decimal",default:["maxAmount","0"]},{name:"maxQuantity",type:"number",dataType:"Decimal",default:["maxQuantity","0"]},{name:"taxIncluded",type:"boolean",dataType:"Boolean",default:["taxIncluded","false"]},{name:"taxAmount",type:"number",dataType:"Decimal",default:["taxAmount","0"]},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"}],queries:{storeQuery:"external"}}));modelEntitySchemas["StoreItemPrice"]=StoreItemPrice;_export("StorePaymentAttempt",StorePaymentAttempt=new Model("StorePaymentAttempt",["attemptID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),success:false,timedout:false},{name:"store_payment_attempt",keys:[{name:"attemptID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"orderID",type:"number",dataType:"BigInt"},{name:"gatewayID",type:"number",dataType:"BigInt"},{name:"externalID",type:"string",dataType:"Char",length:400,default:["externalID",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"success",type:"boolean",dataType:"Boolean",default:["success","false"]},{name:"timedout",type:"boolean",dataType:"Boolean",default:["timedout","false"]}],relations:[{name:"order",fkMap:[{fk:"orderID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"gateway",fkMap:[{fk:"gatewayID",relatedKey:"accountID"}],relatedName:"StorePaymentGateway"}]}));modelEntitySchemas["StorePaymentAttempt"]=StorePaymentAttempt;_export("StoreMediaFile",StoreMediaFile=new Model("StoreMediaFile",["storeItemID","appFileID"],{sortOrder:0,title:"",isPreview:false,isDeleted:false},{name:"store_media_files",keys:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"appFileID",type:"number",dataType:"BigInt"}],properties:[{name:"fileContentID",type:"number",dataType:"BigInt",default:["fileContentID","0"]},{name:"sortOrder",type:"number",dataType:"Int",default:["sortOrder","0"]},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"isPreview",type:"boolean",dataType:"Boolean",default:["isPreview","false"]},{name:"isDeleted",type:"boolean",dataType:"Boolean",default:["isDeleted","false"]},{name:"fileHtmlView",type:"string",dataType:"Char",default:["fileHtmlView",'""']},{name:"fileLink",type:"string",dataType:"Char",default:["fileLink",'""']}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"appFile",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["StoreMediaFile"]=StoreMediaFile;_export("StoreInsight",StoreInsight=new Model("StoreInsight",["insightID"],{name:"",value:0,isPublic:false},{name:"store_insights",keys:[{name:"insightID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"value",type:"number",dataType:"Decimal",default:["value","0"]},{name:"isPublic",type:"boolean",dataType:"Boolean",default:["isPublic","false"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"}]}));modelEntitySchemas["StoreInsight"]=StoreInsight;_export("StoreAccount",StoreAccount=new Model("StoreAccount",["accountID"],{dateCreated:new DefaultFactory((()=>new DateTime)),ledgerType:"",name:"",balance:0},{name:"store_accounts",keys:[{name:"accountID",type:"number",dataType:"BigInt"}],properties:[{name:"path",type:"string",dataType:"Char",length:400,default:["path",'""']},{name:"storeID",type:"number",dataType:"BigInt"},{name:"parentID",type:"number",dataType:"BigInt"},{name:"head",type:"string",dataType:"Char",length:50,default:["head",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ledgerType",type:"string",dataType:"Char",length:50,default:["ledgerType",'""']},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"balance",type:"number",dataType:"Decimal",default:["balance","0"]},{name:"billingAddressID",type:"number",dataType:"BigInt",default:["billingAddressID","0"]},{name:"shippingAddressID",type:"number",dataType:"BigInt",default:["shippingAddressID","0"]}],relations:[{name:"user",fkMap:[{fk:"accountID",relatedKey:"userID"}],relatedName:"User"},{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"children",isCollection:true,isInverse:true,relatedName:"StoreAccount"},{name:"vendorItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"soldInvoices",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"boughtInvoices",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"addresses",isCollection:true,isInverse:true,relatedName:"StoreAccountAddress"},{name:"soldItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"storePaymentGateway",isCollection:false,isInverse:true,relatedName:"StorePaymentGateway"},{name:"emails",isCollection:true,isInverse:true,relatedName:"StoreAccountEmail"},{name:"phones",isCollection:true,isInverse:true,relatedName:"StoreAccountPhone"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreAccount"]=StoreAccount;_export("StoreAccountAddress",StoreAccountAddress=new Model("StoreAccountAddress",["addressID"],{title:"",line1:""},{name:"store_account_addresses",keys:[{name:"addressID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"accountID",type:"number",dataType:"BigInt"},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"line1",type:"string",dataType:"Char",length:400,default:["line1",'""']},{name:"line2",type:"string",dataType:"Char",length:400,default:["line2",'""']},{name:"line3",type:"string",dataType:"Char",length:400,default:["line3",'""']},{name:"city",type:"string",dataType:"Char",length:50,default:["city",'""']},{name:"state",type:"string",dataType:"Char",length:50,default:["state",'""']},{name:"countryCode",type:"string",dataType:"Char",length:5,default:["countryCode",'""']},{name:"phoneNumber",type:"string",dataType:"Char",length:5,default:["phoneNumber",'""']},{name:"incomeTaxID",type:"string",dataType:"Char",length:200,default:["incomeTaxID",'""']},{name:"gstTaxID",type:"string",dataType:"Char",length:200,default:["gstTaxID",'""']},{name:"salesTaxID",type:"string",dataType:"Char",length:200,default:["salesTaxID",'""']},{name:"vatTaxID",type:"string",dataType:"Char",length:200,default:["vatTaxID",'""']},{name:"otherTaxID",type:"string",dataType:"Char",length:200,default:["otherTaxID",'""']},{name:"notes",type:"string",dataType:"Char",length:5,default:["notes",'""']}],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"billedOrders",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"shippedOrders",isCollection:true,isInverse:true,relatedName:"StoreJournal"}]}));modelEntitySchemas["StoreAccountAddress"]=StoreAccountAddress;_export("StoreAccountEmail",StoreAccountEmail=new Model("StoreAccountEmail",["accountID","emailAddressID"],{},{name:"store_account_emails",keys:[{name:"accountID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["StoreAccountEmail"]=StoreAccountEmail;_export("StoreAccountPhone",StoreAccountPhone=new Model("StoreAccountPhone",["accountID","phoneNumberE64"],{},{name:"store_account_phones",keys:[{name:"accountID",type:"number",dataType:"BigInt"},{name:"phoneNumberE64",type:"string",dataType:"Char",length:200}],properties:[{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']}],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"}]}));modelEntitySchemas["StoreAccountPhone"]=StoreAccountPhone;_export("StorePaymentGatewayPaymentGatewayArray",StorePaymentGatewayPaymentGatewayArray=[{label:"paypal",value:"paypal"},{label:"phone-pe",value:"phone-pe"},{label:"stripe",value:"stripe"}]);_export("StorePaymentGateway",StorePaymentGateway=new Model("StorePaymentGateway",["accountID"],{isGatewayActive:false,isDefault:false,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"store_payment_gateways",keys:[{name:"accountID",type:"number",dataType:"BigInt"}],properties:[{name:"paymentGateway",type:"string",dataType:"Char",length:50,default:["paymentGateway",'"paypal"']},{name:"isGatewayActive",type:"boolean",dataType:"Boolean",default:["isGatewayActive","false"]},{name:"isDefault",type:"boolean",dataType:"Boolean",default:["isDefault","false"]},{name:"merchantID",type:"string",dataType:"Char",length:400,default:["merchantID",'""']},{name:"url",type:"string",dataType:"Char",default:["url",'""']},{name:"accessID",type:"string",dataType:"Char",default:["accessID",'""']},{name:"publicKey",type:"string",dataType:"Char",default:["publicKey",'""']},{name:"clientID",type:"string",dataType:"Char",default:["clientID",'""']},{name:"saltIndex",type:"string",dataType:"Char",length:50,default:["saltIndex",'""']},{name:"encryptedSalt",type:"string",dataType:"Char",length:400,default:["encryptedSalt",'""']},{name:"encryptedSecret",type:"string",dataType:"Char",default:["encryptedSecret",'""']},{name:"country",type:"string",dataType:"Char",length:20,default:["country",'""']},{name:"currency",type:"string",dataType:"Char",length:20,default:["currency",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"paymentAttempts",isCollection:true,isInverse:true,relatedName:"StorePaymentAttempt"}]}));modelEntitySchemas["StorePaymentGateway"]=StorePaymentGateway;_export("StoreJournalJournalTypeArray",StoreJournalJournalTypeArray=[{label:"order",value:"order"},{label:"purchase-order",value:"purchase-order"},{label:"sales-invoice",value:"sales-invoice"},{label:"journal",value:"journal"},{label:"purchase-bill",value:"purchase-bill"},{label:"payment",value:"payment"}]);_export("StoreJournalStatusArray",StoreJournalStatusArray=[{label:"new",value:"new"},{label:"paid",value:"paid"},{label:"draft",value:"draft"}]);_export("StoreJournal",StoreJournal=new Model("StoreJournal",["journalID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),journalType:"order",posted:false,status:"new",total:0,balance:0,taxExempt:false},{name:"store_journals",keys:[{name:"journalID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"journalType",type:"string",dataType:"AsciiChar",length:50,default:["journalType",'"order"']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"posted",type:"boolean",dataType:"Boolean",default:["posted","false"]},{name:"status",type:"string",dataType:"Char",length:50,default:["status",'"new"']},{name:"sellerID",type:"number",dataType:"BigInt"},{name:"buyerID",type:"number",dataType:"BigInt"},{name:"buyerBillingAddressID",type:"number",dataType:"BigInt"},{name:"buyerShippingAddressID",type:"number",dataType:"BigInt"},{name:"total",type:"number",dataType:"Decimal",default:["total","0"]},{name:"balance",type:"number",dataType:"Decimal",default:["balance","0"]},{name:"referenceID",type:"number",dataType:"BigInt"},{name:"folderID",type:"number",dataType:"BigInt"},{name:"taxExempt",type:"boolean",dataType:"Boolean",default:["taxExempt","false"]},{name:"taxExemptNotes",type:"string",dataType:"Char",default:["taxExemptNotes",'""']},{name:"taxExemptTaxID",type:"string",dataType:"Char",default:["taxExemptTaxID",'""']}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"seller",fkMap:[{fk:"sellerID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"buyer",fkMap:[{fk:"buyerID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"buyerBillingAddress",fkMap:[{fk:"buyerBillingAddressID",relatedKey:"addressID"}],relatedName:"StoreAccountAddress"},{name:"buyerShippingAddress",fkMap:[{fk:"buyerShippingAddressID",relatedKey:"addressID"}],relatedName:"StoreAccountAddress"},{name:"reference",fkMap:[{fk:"referenceID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"references",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"orderCoupons",isCollection:true,isInverse:true,relatedName:"StoreJournalCoupon"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"paymentAttempts",isCollection:true,isInverse:true,relatedName:"StorePaymentAttempt"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreJournal"]=StoreJournal;_export("StoreJournalEntry",StoreJournalEntry=new Model("StoreJournalEntry",["entryID"],{credit:0,debit:0},{name:"store_journal_entries",keys:[{name:"entryID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"journalID",type:"number",dataType:"BigInt"},{name:"accountID",type:"number",dataType:"BigInt"},{name:"credit",type:"number",dataType:"Decimal",default:["credit","0"]},{name:"debit",type:"number",dataType:"Decimal",default:["debit","0"]},{name:"balance",type:"number",dataType:"Decimal",default:["balance","0"]},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"lineItemID",type:"number",dataType:"BigInt"}],relations:[{name:"journal",fkMap:[{fk:"journalID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"lineItem",fkMap:[{fk:"lineItemID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["StoreJournalEntry"]=StoreJournalEntry;_export("StoreJournalLineItemItemTypeArray",StoreJournalLineItemItemTypeArray=[{label:"product",value:"product"},{label:"e-product",value:"e-product"},{label:"shipping",value:"shipping"},{label:"service",value:"service"},{label:"tax",value:"tax"},{label:"fee",value:"fee"},{label:"commission",value:"commission"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreJournalLineItem",StoreJournalLineItem=new Model("StoreJournalLineItem",["lineItemID"],{price:0,discountPercentage:0,discount:0,priceAfterDiscount:0,couponDiscount:0,quantity:0,amount:0,taxes:0,total:0,inclusive:false,hide:false},{name:"store_journal_line_items",keys:[{name:"lineItemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"journalID",type:"number",dataType:"BigInt"},{name:"itemID",type:"number",dataType:"BigInt"},{name:"itemPriceID",type:"number",dataType:"BigInt"},{name:"price",type:"number",dataType:"Decimal",default:["price","0"]},{name:"discountPercentage",type:"number",dataType:"Decimal",default:["discountPercentage","0"]},{name:"discount",type:"number",dataType:"Decimal",default:["discount","0"]},{name:"priceAfterDiscount",type:"number",dataType:"Decimal",default:["priceAfterDiscount","0"]},{name:"couponDiscount",type:"number",dataType:"Decimal",default:["couponDiscount","0"]},{name:"quantity",type:"number",dataType:"Decimal",default:["quantity","0"]},{name:"amount",type:"number",dataType:"Decimal",default:["amount","0"]},{name:"taxes",type:"number",dataType:"Decimal",default:["taxes","0"]},{name:"total",type:"number",dataType:"Decimal",default:["total","0"]},{name:"inclusive",type:"boolean",dataType:"Boolean",default:["inclusive","false"]},{name:"itemType",type:"string",dataType:"Char",length:50,default:["itemType",'"product"']},{name:"hide",type:"boolean",dataType:"Boolean",default:["hide","false"]},{name:"vendorID",type:"number",dataType:"BigInt"},{name:"sourceID",type:"number",dataType:"BigInt"},{name:"taxForID",type:"number",dataType:"BigInt"}],relations:[{name:"journal",fkMap:[{fk:"journalID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"item",fkMap:[{fk:"itemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"itemPrice",fkMap:[{fk:"itemPriceID",relatedKey:"priceID"}],relatedName:"StoreItemPrice"},{name:"vendor",fkMap:[{fk:"vendorID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"source",fkMap:[{fk:"sourceID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"},{name:"relatedItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"taxFor",fkMap:[{fk:"taxForID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"},{name:"taxLineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"coupons",isCollection:true,isInverse:true,relatedName:"StoreJournalCoupon"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreJournalLineItem"]=StoreJournalLineItem;_export("StoreItemTax",StoreItemTax=new Model("StoreItemTax",["storeItemID","taxItemID"],{inclusive:false,print:false},{name:"store_item_taxes",keys:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"taxItemID",type:"number",dataType:"BigInt"}],properties:[{name:"inclusive",type:"boolean",dataType:"Boolean",default:["inclusive","false"]},{name:"print",type:"boolean",dataType:"Boolean",default:["print","false"]}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"taxItem",fkMap:[{fk:"taxItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"}]}));modelEntitySchemas["StoreItemTax"]=StoreItemTax;_export("StoreTag",StoreTag=new Model("StoreTag",["storeID","tagID"],{count:0},{name:"store_tags",keys:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}],queries:{storeQuery:"external"}}));modelEntitySchemas["StoreTag"]=StoreTag;_export("StoreItemTag",StoreItemTag=new Model("StoreItemTag",["storeItemID","tagID"],{sortOrder:0},{name:"store_item_tags",keys:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"sortOrder",type:"number",dataType:"Int",default:["sortOrder","0"]},{name:"tagValue",type:"string",dataType:"Char",default:["tagValue",'""']}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["StoreItemTag"]=StoreItemTag;_export("UserStatusArray",UserStatusArray=[{label:"active",value:"active"},{label:"blocked",value:"blocked"},{label:"locked",value:"locked"},{label:"change-password",value:"change-password"},{label:"external",value:"external"}]);_export("User",User=new Model("User",["userID"],{userName:"",displayName:"",status:"active",isExternal:false,multiFactor:false,dateUpdated:new DefaultFactory((()=>new DateTime)),storage:0,maxStorage:0,maxWebSites:0,maxExternalInboxes:0,maxChildUsers:0,isGroup:false},{name:"users",keys:[{name:"userID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userName",type:"string",dataType:"Char",length:200,default:["userName",'""']},{name:"displayName",type:"string",dataType:"Char",length:200,default:["displayName",'""']},{name:"passwordHash",type:"string",dataType:"Char",default:["passwordHash",'""']},{name:"passwordSalt",type:"string",dataType:"Char",length:20,default:["passwordSalt",'""']},{name:"externalUID",type:"string",dataType:"Char",length:400,default:["externalUID",'""']},{name:"status",type:"string",dataType:"AsciiChar",length:15,default:["status",'"active"']},{name:"isExternal",type:"boolean",dataType:"Boolean",default:["isExternal","false"]},{name:"multiFactor",type:"boolean",dataType:"Boolean",default:["multiFactor","false"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"storage",type:"number",dataType:"BigInt",default:["storage","0"]},{name:"uniquePhoneNumber",type:"string",dataType:"Char",length:20,default:["uniquePhoneNumber",'""']},{name:"contactEmail",type:"string",dataType:"Char",length:200,default:["contactEmail",'""']},{name:"maxStorage",type:"number",dataType:"BigInt",default:["maxStorage","0"]},{name:"maxWebSites",type:"number",dataType:"BigInt",default:["maxWebSites","0"]},{name:"maxExternalInboxes",type:"number",dataType:"BigInt",default:["maxExternalInboxes","0"]},{name:"maxChildUsers",type:"number",dataType:"BigInt",default:["maxChildUsers","0"]},{name:"parentID",type:"number",dataType:"BigInt"},{name:"isGroup",type:"boolean",dataType:"Boolean",default:["isGroup","false"]}],relations:[{name:"parent",fkMap:[{fk:"parentID",relatedKey:"userID"}],relatedName:"User"},{name:"children",isCollection:true,isInverse:true,relatedName:"User"},{name:"createdFiles",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"sentEmails",isCollection:true,isInverse:true,relatedName:"Email"},{name:"appPasswords",isCollection:true,isInverse:true,relatedName:"AppPassword"},{name:"storeAccount",isCollection:false,isInverse:true,relatedName:"StoreAccount"},{name:"accessTokens",isCollection:true,isInverse:true,relatedName:"AccessToken"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"sessions",isCollection:true,isInverse:true,relatedName:"LoginSession"},{name:"fileAccessList",isCollection:true,isInverse:true,relatedName:"AppFileAccess"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"domainUsers",isCollection:true,isInverse:true,relatedName:"DomainUser"},{name:"hostedZones",isCollection:true,isInverse:true,relatedName:"HostedZoneUser"},{name:"groups",isCollection:true,isInverse:true,relatedName:"UserGroupMember"},{name:"groupMembers",isCollection:true,isInverse:true,relatedName:"UserGroupMember"},{name:"pins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"userPushSubscriptions",isCollection:true,isInverse:true,relatedName:"UserPushSubscription"},{name:"roles",isCollection:true,isInverse:true,relatedName:"UserRole"},{name:"userMailboxes",isCollection:true,isInverse:true,relatedName:"UserMailbox"},{name:"authFactors",isCollection:true,isInverse:true,relatedName:"UserAuthFactor"},{name:"publishedWebSiteVersions",isCollection:true,isInverse:true,relatedName:"WebSiteVersion"}],actions:{createWebSite:"external"}}));modelEntitySchemas["User"]=User;_export("UserGroupMember",UserGroupMember=new Model("UserGroupMember",["ownerID","groupID"],{},{name:"user_group_members",keys:[{name:"ownerID",type:"number",dataType:"BigInt"},{name:"groupID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"owner",fkMap:[{fk:"ownerID",relatedKey:"userID"}],relatedName:"User"},{name:"group",fkMap:[{fk:"groupID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["UserGroupMember"]=UserGroupMember;_export("UserPin",UserPin=new Model("UserPin",["pinID"],{},{name:"user_pins",keys:[{name:"pinID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"appFileID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"file",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["UserPin"]=UserPin;_export("UserPushSubscription",UserPushSubscription=new Model("UserPushSubscription",["subscriptionID"],{notify:false},{name:"user_push_subscriptions",keys:[{name:"subscriptionID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt",default:["mailboxID","0"]},{name:"emailAddressID",type:"number",dataType:"BigInt",default:["emailAddressID","0"]},{name:"notify",type:"boolean",dataType:"Boolean",default:["notify","false"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["UserPushSubscription"]=UserPushSubscription;_export("UserRole",UserRole=new Model("UserRole",["userID","roleName"],{},{name:"user_roles",keys:[{name:"userID",type:"number",dataType:"BigInt"},{name:"roleName",type:"string",dataType:"Char",length:200}],properties:[],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"role",fkMap:[{fk:"roleName",relatedKey:"roleName"}],relatedName:"AppRole"}]}));modelEntitySchemas["UserRole"]=UserRole;_export("UserMailbox",UserMailbox=new Model("UserMailbox",["userID","mailboxID"],{},{name:"user_mailboxes",keys:[{name:"userID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["UserMailbox"]=UserMailbox;_export("UserAuthFactorMethodArray",UserAuthFactorMethodArray=[{label:"totp",value:"totp"},{label:"hotp",value:"hotp"},{label:"fido2",value:"fido2"},{label:"one-time",value:"one-time"},{label:"otp",value:"otp"},{label:"otp-in",value:"otp-in"},{label:"sms-to-user",value:"sms-to-user"}]);_export("UserAuthFactor",UserAuthFactor=new Model("UserAuthFactor",["authFactorID"],{method:"totp",verified:false,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"user_auth_factor",keys:[{name:"authFactorID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"method",type:"string",dataType:"Char",length:20,default:["method",'"totp"']},{name:"secret",type:"string",dataType:"Char",default:["secret",'""']},{name:"hint",type:"string",dataType:"Char",length:100,default:["hint",'""']},{name:"phoneNumber",type:"string",dataType:"Char",length:20,default:["phoneNumber",'""']},{name:"isdCode",type:"string",dataType:"Char",length:20,default:["isdCode",'""']},{name:"verificationID",type:"number",dataType:"BigInt"},{name:"verified",type:"boolean",dataType:"Boolean",default:["verified","false"]},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"verificationToken",fkMap:[{fk:"verificationID",relatedKey:"verificationID"}],relatedName:"VerificationToken"}]}));modelEntitySchemas["UserAuthFactor"]=UserAuthFactor;_export("WebSite",WebSite=new Model("WebSite",["folderID"],{isStatic:false,isTemplate:false,isDesign:false,templateSites:0,templateRank:0,storeEnabled:false,isModified:false,snapshotStorage:0,currency:""},{name:"web_sites",keys:[{name:"folderID",type:"number",dataType:"BigInt"}],properties:[{name:"currentVersionID",type:"number",dataType:"BigInt"},{name:"isStatic",type:"boolean",dataType:"Boolean",default:["isStatic","false"]},{name:"isTemplate",type:"boolean",dataType:"Boolean",default:["isTemplate","false"]},{name:"isDesign",type:"boolean",dataType:"Boolean",default:["isDesign","false"]},{name:"templateSites",type:"number",dataType:"Int",default:["templateSites","0"]},{name:"templateRank",type:"number",dataType:"Int",default:["templateRank","0"]},{name:"remoteUrl",type:"string",dataType:"Char",length:1024,default:["remoteUrl",'""']},{name:"title",type:"string",dataType:"Char",length:200,default:["title",'""']},{name:"storeEnabled",type:"boolean",dataType:"Boolean",default:["storeEnabled","false"]},{name:"description",type:"string",dataType:"Char",length:450,default:["description",'""']},{name:"isModified",type:"boolean",dataType:"Boolean",default:["isModified","false"]},{name:"snapshotStorage",type:"number",dataType:"BigInt",default:["snapshotStorage","0"]},{name:"supportEmail",type:"string",dataType:"Char",length:200,default:["supportEmail",'""']},{name:"fromEmail",type:"string",dataType:"Char",length:200,default:["fromEmail",'""']},{name:"currency",type:"string",dataType:"Char",length:10,default:["currency",'""']}],relations:[{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"currentVersion",fkMap:[{fk:"currentVersionID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"storeItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"itemFolders",isCollection:true,isInverse:true,relatedName:"StoreItemFolder"},{name:"storeAccounts",isCollection:true,isInverse:true,relatedName:"StoreAccount"},{name:"activities",isCollection:true,isInverse:true,relatedName:"ServerActivity"},{name:"configs",isCollection:true,isInverse:true,relatedName:"StoreConfig"},{name:"coupons",isCollection:true,isInverse:true,relatedName:"StoreCoupon"},{name:"journals",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"insights",isCollection:true,isInverse:true,relatedName:"StoreInsight"},{name:"tags",isCollection:true,isInverse:true,relatedName:"StoreTag"},{name:"hosts",isCollection:true,isInverse:true,relatedName:"WebSiteHost"},{name:"versions",isCollection:true,isInverse:true,relatedName:"WebSiteVersion"},{name:"channelDomains",isCollection:true,isInverse:true,relatedName:"WebSiteChannelDomain"},{name:"channels",isCollection:true,isInverse:true,relatedName:"WebSiteChannel"},{name:"webSiteTags",isCollection:true,isInverse:true,relatedName:"WebSiteTag"}],queries:{templates:"external"},actions:{deleteSite:"external"}}));modelEntitySchemas["WebSite"]=WebSite;_export("WebSiteHost",WebSiteHost=new Model("WebSiteHost",["host"],{},{name:"web_site_hosts",keys:[{name:"host",type:"string",dataType:"Char",length:200}],properties:[{name:"folderID",type:"number",dataType:"BigInt"}],relations:[{name:"folder",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"}]}));modelEntitySchemas["WebSiteHost"]=WebSiteHost;_export("WebSiteVersion",WebSiteVersion=new Model("WebSiteVersion",["folderID","snapshotFolderID"],{dateCreated:new DefaultFactory((()=>new DateTime)),name:""},{name:"web_site_versions",keys:[{name:"folderID",type:"number",dataType:"BigInt"},{name:"snapshotFolderID",type:"number",dataType:"BigInt"}],properties:[{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"authorID",type:"number",dataType:"BigInt"}],relations:[{name:"websiteFolder",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"snapshotFolder",fkMap:[{fk:"snapshotFolderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"author",fkMap:[{fk:"authorID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["WebSiteVersion"]=WebSiteVersion;_export("WebSiteChannelDomain",WebSiteChannelDomain=new Model("WebSiteChannelDomain",["folderID","domainID"],{},{name:"web_site_channel_domains",keys:[{name:"folderID",type:"number",dataType:"BigInt"},{name:"domainID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"website",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["WebSiteChannelDomain"]=WebSiteChannelDomain;_export("WebSiteChannel",WebSiteChannel=new Model("WebSiteChannel",["folderID","channelID"],{},{name:"web_site_channels",keys:[{name:"folderID",type:"number",dataType:"BigInt"},{name:"channelID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"website",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"channel",fkMap:[{fk:"channelID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["WebSiteChannel"]=WebSiteChannel;_export("WebSiteTag",WebSiteTag=new Model("WebSiteTag",["webSiteID","tagID"],{},{name:"web_site_tags",keys:[{name:"webSiteID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"webSite",fkMap:[{fk:"webSiteID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["WebSiteTag"]=WebSiteTag;_export("LoginSessionDeviceTokenTypeArray",LoginSessionDeviceTokenTypeArray=[{label:"WebPush",value:"WebPush"},{label:"fcm",value:"fcm"},{label:"apn",value:"apn"}]);_export("LoginSession",LoginSession=new Model("LoginSession",["sessionID"],{invalid:false,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"login_sessions",keys:[{name:"sessionID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"start",type:"DateTime",dataType:"DateTimeOffset",default:["start","new DefaultFactory(() => new DateTime())"]},{name:"expiry",type:"DateTime",dataType:"DateTimeOffset",default:["expiry","new DefaultFactory(() => new DateTime())"]},{name:"invalid",type:"boolean",dataType:"Boolean",default:["invalid","false"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",dataType:"AsciiChar",length:20,default:["status",'""']},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"deviceToken",type:"string",dataType:"AsciiChar",default:["deviceToken",'""']},{name:"deviceTokenType",type:"string",dataType:"AsciiChar",length:50,default:["deviceTokenType",'"WebPush"']},{name:"verificationID",type:"number",dataType:"BigInt"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"verificationToken",fkMap:[{fk:"verificationID",relatedKey:"verificationID"}],relatedName:"VerificationToken"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"}],queries:{currentUser:"external"},actions:{updateDeviceToken:"external"}}));modelEntitySchemas["LoginSession"]=LoginSession;_export("TextDocument",TextDocument=new Model("TextDocument",["textDocumentID"],{searchable:""},{name:"text_documents",keys:[{name:"textDocumentID",type:"number",dataType:"BigInt"}],properties:[{name:"searchable",type:"string",dataType:"Char",default:["searchable",'""']}],relations:[{name:"fileContent",fkMap:[{fk:"textDocumentID",relatedKey:"fileContentID"}],relatedName:"FileContent"}]}));modelEntitySchemas["TextDocument"]=TextDocument;_export("IncomingSmsSource",IncomingSmsSource=new Model("IncomingSmsSource",["textInSourceID"],{name:"",isdPrefix:"",phoneNumber:"",dateUpdated:new DefaultFactory((()=>new DateTime)),countryCode:""},{name:"incoming_sms_source",keys:[{name:"textInSourceID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:100,default:["name",'""']},{name:"username",type:"string",dataType:"Char",default:["username",'""']},{name:"encryptedPassword",type:"string",dataType:"Char",default:["encryptedPassword",'""']},{name:"isdPrefix",type:"string",dataType:"Char",default:["isdPrefix",'""']},{name:"keyword",type:"string",dataType:"Char",default:["keyword",'""']},{name:"phoneNumber",type:"string",dataType:"Char",default:["phoneNumber",'""']},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"countryCode",type:"string",dataType:"Char",length:20,default:["countryCode",'""']}],relations:[]}));modelEntitySchemas["IncomingSmsSource"]=IncomingSmsSource;_export("VerificationTokenTypeArray",VerificationTokenTypeArray=[{label:"email",value:"email"},{label:"sms",value:"sms"},{label:"captcha",value:"captcha"},{label:"totp",value:"totp"},{label:"sms-to-user",value:"sms-to-user"}]);_export("VerificationToken",VerificationToken=new Model("VerificationToken",["verificationID"],{dateCreated:new DefaultFactory((()=>new DateTime)),expiry:new DefaultFactory((()=>new DateTime)),verified:false,accessCode:"",attempt:0,type:"email"},{name:"verification_tokens",keys:[{name:"verificationID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"externalID",type:"string",dataType:"Char",length:200,default:["externalID",'""']},{name:"userID",type:"number",dataType:"BigInt",default:["userID","0"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"expiry",type:"DateTime",dataType:"DateTimeOffset",default:["expiry","new DefaultFactory(() => new DateTime())"]},{name:"email",type:"string",dataType:"Char",length:200,default:["email",'""']},{name:"phone",type:"string",dataType:"Char",length:20,default:["phone",'""']},{name:"verified",type:"boolean",dataType:"Boolean",default:["verified","false"]},{name:"code",type:"string",dataType:"Char",length:20,default:["code",'""']},{name:"accessCode",type:"string",dataType:"Char",length:50,default:["accessCode",'""']},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"attempt",type:"number",dataType:"Int",default:["attempt","0"]},{name:"externalConfig",type:"string",dataType:"Char",default:["externalConfig",'""']},{name:"type",type:"string",dataType:"AsciiChar",length:50,default:["type",'"email"']},{name:"webSiteFolderID",type:"number",dataType:"BigInt",default:["webSiteFolderID","0"]}],relations:[{name:"loginSessions",isCollection:true,isInverse:true,relatedName:"LoginSession"},{name:"authFactors",isCollection:true,isInverse:true,relatedName:"UserAuthFactor"},{name:"addresses",isCollection:true,isInverse:true,relatedName:"VerificationTokenAddress"}],actions:{updatePhone:"external",resendPhone:"external",verifyPhone:"external",resendCode:"external",verifyCode:"external",login:"external",getCaptchaGif:"external"}}));modelEntitySchemas["VerificationToken"]=VerificationToken;_export("VerificationTokenAddress",VerificationTokenAddress=new Model("VerificationTokenAddress",["verificationID","address"],{},{name:"verification_token_addresses",keys:[{name:"verificationID",type:"number",dataType:"BigInt"},{name:"address",type:"string",dataType:"Char",length:200}],properties:[{name:"displayAddress",type:"string",dataType:"Char",length:200,default:["displayAddress",'""']}],relations:[{name:"verificationToken",fkMap:[{fk:"verificationID",relatedKey:"verificationID"}],relatedName:"VerificationToken"}]}));modelEntitySchemas["VerificationTokenAddress"]=VerificationTokenAddress;_export("EmailAddressName",EmailAddressName=new Model("EmailAddressName",["nameTokenID","emailAddressID"],{},{name:"email_address_names",keys:[{name:"nameTokenID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"nameToken",fkMap:[{fk:"nameTokenID",relatedKey:"nameTokenID"}],relatedName:"NameToken"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["EmailAddressName"]=EmailAddressName;_export("ThreadParticipant",ThreadParticipant=new Model("ThreadParticipant",["emailID","emailAddressID"],{unsubscribed:false},{name:"thread_participants",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[{name:"unsubscribed",type:"boolean",dataType:"Boolean",default:["unsubscribed","false"]}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["ThreadParticipant"]=ThreadParticipant;_export("Tag",Tag=new Model("Tag",["tagID"],{name:"",label:"",isSystemTag:false},{name:"tags",keys:[{name:"tagID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"label",type:"string",dataType:"Char",length:200,default:["label",'""']},{name:"lowerCaseName",type:"string",generated:"computed",dataType:"Char",length:200},{name:"path",type:"string",dataType:"AsciiChar",length:400,default:["path",'""']},{name:"isSystemTag",type:"boolean",dataType:"Boolean",default:["isSystemTag","false"]},{name:"contentTypes",type:"string",dataType:"Char",default:["contentTypes",'""']},{name:"parentID",type:"number",dataType:"BigInt"}],relations:[{name:"parent",fkMap:[{fk:"parentID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"children",isCollection:true,isInverse:true,relatedName:"Tag"},{name:"fileTags",isCollection:true,isInverse:true,relatedName:"AppFileTag"},{name:"emailTags",isCollection:true,isInverse:true,relatedName:"EmailTag"},{name:"mailboxFolders",isCollection:true,isInverse:true,relatedName:"MailboxFolder"},{name:"mailboxContactTags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"},{name:"mailboxTags",isCollection:true,isInverse:true,relatedName:"MailboxTag"},{name:"storeItemFolderTags",isCollection:true,isInverse:true,relatedName:"StoreItemFolderTag"},{name:"storeTags",isCollection:true,isInverse:true,relatedName:"StoreTag"},{name:"storeItemTags",isCollection:true,isInverse:true,relatedName:"StoreItemTag"},{name:"webSiteTags",isCollection:true,isInverse:true,relatedName:"WebSiteTag"}]}));modelEntitySchemas["Tag"]=Tag;_export("AppTempFile",AppTempFile=new Model("AppTempFile",["tempFileID"],{path:"",name:"",contentType:"",isFolder:false,fileSize:0,dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_temp_files",keys:[{name:"tempFileID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"path",type:"string",dataType:"Char",length:900,default:["path",'""']},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"contentType",type:"string",dataType:"Char",length:200,default:["contentType",'""']},{name:"isFolder",type:"boolean",dataType:"Boolean",default:["isFolder","false"]},{name:"fileSize",type:"number",dataType:"BigInt",default:["fileSize","0"]},{name:"rootID",type:"number",dataType:"BigInt"},{name:"fileContentID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"root",fkMap:[{fk:"rootID",relatedKey:"tempFileID"}],relatedName:"AppTempFile"},{name:"descendants",isCollection:true,isInverse:true,relatedName:"AppTempFile"},{name:"fileContent",fkMap:[{fk:"fileContentID",relatedKey:"fileContentID"}],relatedName:"FileContent"}]}));modelEntitySchemas["AppTempFile"]=AppTempFile;fixRelatedSchemas=schema=>{for(const key in schema){if(Object.prototype.hasOwnProperty.call(schema,key)){const element=schema[key];if(!element.name){continue}const{relations}=element.schema;if(!relations){continue}for(const iterator of relations){iterator.relatedModel=schema[iterator.relatedName]}}}};fixRelatedSchemas(modelEntitySchemas)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/cache/CacheTTL");System.register([],(function(_export,_context){"use strict";var CacheTTL;return{setters:[],execute:function(){_export("CacheTTL",CacheTTL={seconds:{oneHour:60*60,oneDay:60*60*24,oneMonth:60*60*24*30,fifteenMinutes:15*60}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/WatchProperty");System.register(["./AtomBinder","./AtomWatcher"],(function(_export,_context){"use strict";var AtomBinder,AtomWatcher;function WatchProperty(target,key,descriptor){const{get}=descriptor;const isSetup=Symbol.for(`isSetup${key}`);return{get:function(){const watcher=new AtomWatcher(this,get,(()=>{AtomBinder.refreshValue(this,key)}),this);watcher.init(false);this.registerDisposable(watcher);this[isSetup]=watcher;Object.defineProperty(this,key,descriptor);return get.apply(this)},configurable:true}}_export("default",WatchProperty);return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder},function(_AtomWatcher){AtomWatcher=_AtomWatcher.AtomWatcher}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Colors");System.register([],(function(_export,_context){"use strict";var ColorItem,Colors;function toFixedString(t){return("0"+t.toString(16)).slice(-2)}_export("ColorItem",void 0);return{setters:[],execute:function(){_export("ColorItem",ColorItem=class ColorItem{constructor(colorCodeOrRed,namedColorOrGreen,blue,alpha){if(typeof colorCodeOrRed==="string"){this.colorCode=colorCodeOrRed;if(typeof namedColorOrGreen==="string"){this.namedColor=namedColorOrGreen}const r=ColorItem.parseRgb(this.colorCode);this.red=r.red;this.green=r.green;this.blue=r.blue;this.alpha=r.alpha}else{this.red=colorCodeOrRed;if(typeof namedColorOrGreen==="number"){this.green=namedColorOrGreen}this.blue=blue;this.alpha=alpha;this.colorCode=ColorItem.rgb(this.red,this.green,this.blue,this.alpha)}}toString(){return this.colorCode}withAlphaPercent(a){return new ColorItem(this.red,this.green,this.blue,a)}static parseRgb(rgba){if(/^\#/.test(rgba)){rgba=rgba.substr(1);if(rgba.length===3){rgba=rgba.split("").map((x=>x+x)).join("")}const red=Number.parseInt(rgba[0]+rgba[1],16);const green=Number.parseInt(rgba[2]+rgba[3],16);const blue=Number.parseInt(rgba[4]+rgba[5],16);if(rgba.length>6){const alpha=Number.parseInt(rgba[6]+rgba[7],16);return{red,green,blue,alpha}}return{red,green,blue}}if(/^rgba/i.test(rgba)){rgba=rgba.substr(5);rgba=rgba.substr(0,rgba.length-1);const a=rgba.split(",").map(((x,i)=>i===3?Number.parseFloat(x):Number.parseInt(x,10)));return{red:a[0],green:a[1],blue:a[2],alpha:a[3]}}if(/^rgb/i.test(rgba)){rgba=rgba.substr(4);rgba=rgba.substr(0,rgba.length-1);const a=rgba.split(",").map((x=>Number.parseInt(x,10)));return{red:a[0],green:a[1],blue:a[2]}}throw new Error("Unknown color format "+rgba)}static rgb(r,g,b,a){if(a!==undefined){return`rgba(${r},${g},${b},${a})`}return"#"+toFixedString(r)+toFixedString(g)+toFixedString(b)}});Colors=class Colors{static rgba(red,green,blue,alpha){return new ColorItem(red,green,blue,alpha)}static parse(color){if(!color){return null}color=color.toLowerCase();for(const key in Colors){if(Colors.hasOwnProperty(key)){const element=Colors[key];if(element instanceof ColorItem){const ci=element;if(ci.namedColor===color){return ci}}}}if(/^(\#|rgb\(|rgba\()/i.test(color)){return new ColorItem(color)}throw new Error("Invalid color format "+color)}};Colors.black=new ColorItem("#000000","black");Colors.silver=new ColorItem("#c0c0c0","silver");Colors.gray=new ColorItem("#808080","gray");Colors.white=new ColorItem("#ffffff","white");Colors.maroon=new ColorItem("#800000","maroon");Colors.red=new ColorItem("#ff0000","red");Colors.purple=new ColorItem("#800080","purple");Colors.fuchsia=new ColorItem("#ff00ff","fuchsia");Colors.green=new ColorItem("#008000","green");Colors.lime=new ColorItem("#00ff00","lime");Colors.olive=new ColorItem("#808000","olive");Colors.yellow=new ColorItem("#ffff00","yellow");Colors.navy=new ColorItem("#000080","navy");Colors.blue=new ColorItem("#0000ff","blue");Colors.teal=new ColorItem("#008080","teal");Colors.aqua=new ColorItem("#00ffff","aqua");Colors.orange=new ColorItem("#ffa500","orange");Colors.aliceBlue=new ColorItem("#f0f8ff","aliceblue");Colors.antiqueWhite=new ColorItem("#faebd7","antiquewhite");Colors.aquaMarine=new ColorItem("#7fffd4","aquamarine");Colors.azure=new ColorItem("#f0ffff","azure");Colors.beige=new ColorItem("#f5f5dc","beige");Colors.bisque=new ColorItem("#ffe4c4","bisque");Colors.blanchedAlmond=new ColorItem("#ffebcd","blanchedalmond");Colors.blueViolet=new ColorItem("#8a2be2","blueviolet");Colors.brown=new ColorItem("#a52a2a","brown");Colors.burlyWood=new ColorItem("#deb887","burlywood");Colors.cadetBlue=new ColorItem("#5f9ea0","cadetblue");Colors.chartReuse=new ColorItem("#7fff00","chartreuse");Colors.chocolate=new ColorItem("#d2691e","chocolate");Colors.coral=new ColorItem("#ff7f50","coral");Colors.cornFlowerBlue=new ColorItem("#6495ed","cornflowerblue");Colors.cornSilk=new ColorItem("#fff8dc","cornsilk");Colors.crimson=new ColorItem("#dc143c","crimson");Colors.cyan=new ColorItem("#00ffff","cyan");Colors.darkBlue=new ColorItem("#00008b","darkblue");Colors.darkCyan=new ColorItem("#008b8b","darkcyan");Colors.darkGoldenRod=new ColorItem("#b8860b","darkgoldenrod");Colors.darkGray=new ColorItem("#a9a9a9","darkgray");Colors.darkGreen=new ColorItem("#006400","darkgreen");Colors.darkGrey=new ColorItem("#a9a9a9","darkgrey");Colors.darkKhaki=new ColorItem("#bdb76b","darkkhaki");Colors.darkMagenta=new ColorItem("#8b008b","darkmagenta");Colors.darkOliveGreen=new ColorItem("#556b2f","darkolivegreen");Colors.darkOrange=new ColorItem("#ff8c00","darkorange");Colors.darkOrchid=new ColorItem("#9932cc","darkorchid");Colors.darkRed=new ColorItem("#8b0000","darkred");Colors.darkSalmon=new ColorItem("#e9967a","darksalmon");Colors.darkSeaGreen=new ColorItem("#8fbc8f","darkseagreen");Colors.darkSlateBlue=new ColorItem("#483d8b","darkslateblue");Colors.darkSlateGray=new ColorItem("#2f4f4f","darkslategray");Colors.darkSlateGrey=new ColorItem("#2f4f4f","darkslategrey");Colors.darkTurquoise=new ColorItem("#00ced1","darkturquoise");Colors.darkViolet=new ColorItem("#9400d3","darkviolet");Colors.deepPink=new ColorItem("#ff1493","deeppink");Colors.deepSkyBlue=new ColorItem("#00bfff","deepskyblue");Colors.dimGray=new ColorItem("#696969","dimgray");Colors.dimGrey=new ColorItem("#696969","dimgrey");Colors.dodgerBlue=new ColorItem("#1e90ff","dodgerblue");Colors.fireBrick=new ColorItem("#b22222","firebrick");Colors.floralWhite=new ColorItem("#fffaf0","floralwhite");Colors.forestGreen=new ColorItem("#228b22","forestgreen");Colors.gainsboro=new ColorItem("#dcdcdc","gainsboro");Colors.ghostWhite=new ColorItem("#f8f8ff","ghostwhite");Colors.gold=new ColorItem("#ffd700","gold");Colors.goldenRod=new ColorItem("#daa520","goldenrod");Colors.greenYellow=new ColorItem("#adff2f","greenyellow");Colors.grey=new ColorItem("#808080","grey");Colors.honeyDew=new ColorItem("#f0fff0","honeydew");Colors.hotPink=new ColorItem("#ff69b4","hotpink");Colors.indianRed=new ColorItem("#cd5c5c","indianred");Colors.indigo=new ColorItem("#4b0082","indigo");Colors.ivory=new ColorItem("#fffff0","ivory");Colors.khaki=new ColorItem("#f0e68c","khaki");Colors.lavender=new ColorItem("#e6e6fa","lavender");Colors.lavenderBlush=new ColorItem("#fff0f5","lavenderblush");Colors.lawnGreen=new ColorItem("#7cfc00","lawngreen");Colors.lemonChiffon=new ColorItem("#fffacd","lemonchiffon");Colors.lightBlue=new ColorItem("#add8e6","lightblue");Colors.lightCoral=new ColorItem("#f08080","lightcoral");Colors.lightCyan=new ColorItem("#e0ffff","lightcyan");Colors.lightGoldenRodYellow=new ColorItem("#fafad2","lightgoldenrodyellow");Colors.lightGray=new ColorItem("#d3d3d3","lightgray");Colors.lightGreen=new ColorItem("#90ee90","lightgreen");Colors.lightGrey=new ColorItem("#d3d3d3","lightgrey");Colors.lightPink=new ColorItem("#ffb6c1","lightpink");Colors.lightSalmon=new ColorItem("#ffa07a","lightsalmon");Colors.lightSeaGreen=new ColorItem("#20b2aa","lightseagreen");Colors.lightSkyBlue=new ColorItem("#87cefa","lightskyblue");Colors.lightSlateGray=new ColorItem("#778899","lightslategray");Colors.lightSlateGrey=new ColorItem("#778899","lightslategrey");Colors.lightSteelBlue=new ColorItem("#b0c4de","lightsteelblue");Colors.lightYellow=new ColorItem("#ffffe0","lightyellow");Colors.limeGreen=new ColorItem("#32cd32","limegreen");Colors.linen=new ColorItem("#faf0e6","linen");Colors.magenta=new ColorItem("#ff00ff","magenta");Colors.mediumAquaMarine=new ColorItem("#66cdaa","mediumaquamarine");Colors.mediumBlue=new ColorItem("#0000cd","mediumblue");Colors.mediumOrchid=new ColorItem("#ba55d3","mediumorchid");Colors.mediumPurple=new ColorItem("#9370db","mediumpurple");Colors.mediumSeaGreen=new ColorItem("#3cb371","mediumseagreen");Colors.mediumSlateBlue=new ColorItem("#7b68ee","mediumslateblue");Colors.mediumSpringGreen=new ColorItem("#00fa9a","mediumspringgreen");Colors.mediumTurquoise=new ColorItem("#48d1cc","mediumturquoise");Colors.mediumVioletred=new ColorItem("#c71585","mediumvioletred");Colors.midNightBlue=new ColorItem("#191970","midnightblue");Colors.mintCream=new ColorItem("#f5fffa","mintcream");Colors.mistyRose=new ColorItem("#ffe4e1","mistyrose");Colors.moccasin=new ColorItem("#ffe4b5","moccasin");Colors.navajoWhite=new ColorItem("#ffdead","navajowhite");Colors.oldLace=new ColorItem("#fdf5e6","oldlace");Colors.oliveDrab=new ColorItem("#6b8e23","olivedrab");Colors.orangeRed=new ColorItem("#ff4500","orangered");Colors.orchid=new ColorItem("#da70d6","orchid");Colors.paleGoldenRod=new ColorItem("#eee8aa","palegoldenrod");Colors.paleGreen=new ColorItem("#98fb98","palegreen");Colors.paleTurquoise=new ColorItem("#afeeee","paleturquoise");Colors.paleVioletRed=new ColorItem("#db7093","palevioletred");Colors.papayaWhip=new ColorItem("#ffefd5","papayawhip");Colors.peachPuff=new ColorItem("#ffdab9","peachpuff");Colors.peru=new ColorItem("#cd853f","peru");Colors.pink=new ColorItem("#ffc0cb","pink");Colors.plum=new ColorItem("#dda0dd","plum");Colors.powderBlue=new ColorItem("#b0e0e6","powderblue");Colors.rosyBrown=new ColorItem("#bc8f8f","rosybrown");Colors.royalBlue=new ColorItem("#4169e1","royalblue");Colors.saddleBrown=new ColorItem("#8b4513","saddlebrown");Colors.salmon=new ColorItem("#fa8072","salmon");Colors.sandyBrown=new ColorItem("#f4a460","sandybrown");Colors.seaGreen=new ColorItem("#2e8b57","seagreen");Colors.seaShell=new ColorItem("#fff5ee","seashell");Colors.sienna=new ColorItem("#a0522d","sienna");Colors.skyBlue=new ColorItem("#87ceeb","skyblue");Colors.slateBlue=new ColorItem("#6a5acd","slateblue");Colors.slateGray=new ColorItem("#708090","slategray");Colors.slateGrey=new ColorItem("#708090","slategrey");Colors.snow=new ColorItem("#fffafa","snow");Colors.springGreen=new ColorItem("#00ff7f","springgreen");Colors.steelBlue=new ColorItem("#4682b4","steelblue");Colors.tan=new ColorItem("#d2b48c","tan");Colors.thistle=new ColorItem("#d8bfd8","thistle");Colors.tomato=new ColorItem("#ff6347","tomato");Colors.turquoise=new ColorItem("#40e0d0","turquoise");Colors.violet=new ColorItem("#ee82ee","violet");Colors.wheat=new ColorItem("#f5deb3","wheat");Colors.whiteSmoke=new ColorItem("#f5f5f5","whitesmoke");Colors.yellowGreen=new ColorItem("#9acd32","yellowgreen");Colors.rebeccaPurple=new ColorItem("#663399","rebeccapurple");Colors.transparent=new ColorItem("#00000000","transparent");_export("default",Colors)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/MergeNode");System.register([],(function(_export,_context){"use strict";var MergeNode,empty;_export("default",void 0);return{setters:[],execute:function(){empty=[];_export("default",MergeNode=class MergeNode{static none(){return new MergeNode(empty)}static remove(){return new MergeNode([{remove:true}])}static childSelector(name,p){if(p!==void 0){const{parent,after}=p;return new MergeNode([{replace:"* > "+name,parent,after}])}return new MergeNode(["* > "+name])}static nestedSelector(name,p){if(p!==void 0){const{parent,after}=p;return new MergeNode([{replace:"* "+name,parent,after}])}return new MergeNode(["* "+name])}constructor(classes=empty){this.classes=classes}childSelector(name,p){if(p!==void 0){const{parent,after}=p;return new MergeNode([...this.classes,{replace:"* > "+name,parent,after}])}return new MergeNode([...this.classes,"* > "+name])}nestedSelector(name,p){if(p!==void 0){const{parent,after}=p;return new MergeNode([...this.classes,{replace:"* "+name,parent,after}])}return new MergeNode([...this.classes,"* "+name])}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/ItemPath");System.register([],(function(_export,_context){"use strict";var ItemPath,get;function*getFragments(path){const regex=/([^\=\:]+)\s*[\=\:]\s*((('[^\\']*(((\\')|(''))[^\\']*)*')|("[^\\"]*(((\\")|(""))[^\\"]*)*"))|([^\,\;]+))\s*[\,\;]?\s*/gim;let m;while((m=regex.exec(path))!==null){if(m.index===regex.lastIndex){regex.lastIndex++}yield[m[1].trim(),m[2].trim()]}}_export("default",void 0);return{setters:[],execute:function(){get=(start,path)=>{let item=start;for(const iterator of path.split(".")){if(iterator==="$"){item=start;continue}item=item[iterator]}return item};_export("default",ItemPath=class ItemPath{static get(item,path){if(path.startsWith("$.")){return get(item,path)}if(/^[\{\"]/.test(path)){const json=JSON.parse(path);return json}const target={};this.build(item,path,target);return target}static build(item,path,target){for(let[key,value]of getFragments(path)){if(value.startsWith("$")){value=get(item,value);target[key]=value;continue}if(value.startsWith('"')){value=JSON.parse(value);target[key]=value;continue}if(value.startsWith("'")){value=value.substring(1,value.length-1);value=value.replace(/((\'\')|(\\\'))/,"'");target[key]=value;continue}if(value==="true"){target[key]=true;continue}if(value==="false"){target[key]=false;continue}if(value==="null"){target[key]=null;continue}target[key]=Number(value)}}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/DataAttributes");System.register([],(function(_export,_context){"use strict";var DataAttributes;_export("default",void 0);return{setters:[],execute:function(){_export("default",DataAttributes=class DataAttributes{static from(e,till){return new DataAttributes(e,till)}constructor(element,till){this.element=element;this.till=till}get(name){let start=this.element;const till=this.till;while(start&&start!==till){const a=start.getAttribute(name);if(a){return a}start=start.parentElement}}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/elements/relativeRect");System.register([],(function(_export,_context){"use strict";var getScreenRect;function relativeRect(e,cb){const ebr=getScreenRect(e);const cbr=getScreenRect(cb);let left=ebr.left;let top=ebr.top;let bottom=ebr.bottom;let right=ebr.right;if(cb.offsetParent){left-=cbr.left;top-=cbr.top;bottom-=cbr.bottom;right-=cbr.right}const height=e.offsetHeight;const width=e.offsetWidth;return{left,top,bottom,right,width,height,e}}_export("relativeRect",relativeRect);return{setters:[],execute:function(){getScreenRect=(e,cbr=e.getBoundingClientRect())=>{const{left,top,height,width}=cbr;const right=visualViewport.width-left-width;const bottom=visualViewport.height-top-height;return{left,top,right,bottom,height,width}}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/elements/getContainingBlock");System.register([],(function(_export,_context){"use strict";var getContainingBlock;return{setters:[],execute:function(){getContainingBlock=node=>{if(!node||!node.parentElement){return document.body}let start=node.parentElement;while(start){const cs=getComputedStyle(start);if(cs.filter!=="none"){return start}if(cs.backdropFilter!=="none"){return start}if(cs.transform!=="none"){return start}if(cs.perspective!=="none"){return start}if(/layout|paint|strict|content/i.test(cs.contain)){return start}if(cs.containerType&&cs.containerType!=="normal"){return start}if(/filter|transform/i.test(cs.willChange)){return start}if(/auto/i.test(cs.contentVisibility)){return start}start=start.parentElement}return document.body};_export("default",getContainingBlock)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/elements/AtomPopover");System.register(["tslib","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","./AtomPopover.css","./relativeRect","./getContainingBlock"],(function(_export,_context){"use strict";var __awaiter,AtomDisposableList,CancelToken,XNode,xnodeSymbol,AtomControl,ElementValueSetters,relativeRect,getContainingBlock,AtomPopoverElement,AtomPopover,existingPopup;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreAtomDisposableList){AtomDisposableList=_webAtomsCoreDistCoreAtomDisposableList.AtomDisposableList},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default;xnodeSymbol=_webAtomsCoreDistCoreXNode.xnodeSymbol},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl;ElementValueSetters=_webAtomsCoreDistWebControlsAtomControl.ElementValueSetters},function(_AtomPopoverCss){},function(_relativeRect){relativeRect=_relativeRect.relativeRect},function(_getContainingBlock){getContainingBlock=_getContainingBlock.default}],execute:function(){ElementValueSetters["anchor-left"]=(c,e,v)=>e.setAttribute("anchor-left",v);ElementValueSetters["anchor-right"]=(c,e,v)=>e.setAttribute("anchor-right",v);ElementValueSetters["anchor-top"]=(c,e,v)=>e.setAttribute("anchor-top",v);ElementValueSetters["anchor-bottom"]=(c,e,v)=>e.setAttribute("anchor-bottom",v);AtomPopoverElement=class AtomPopoverElement extends HTMLElement{constructor(){super(...arguments);this.aborted="cancel";this.closePopover=e=>{const cancelOnBlur=/^(true|yes|1)$/i.test(this.getAttribute("cancel-on-blur")||"true");if(!cancelOnBlur){return}setTimeout((()=>{let target=e.target;while(target){if(target.hasAttribute("data-close-on-click")){break}if(target===this.parentElement){return}target=target.parentElement}this.lastParent=null;const ce=new CustomEvent("removing",{detail:{result:this.result,aborted:this.aborted},bubbles:true,cancelable:true});this.dispatchEvent(ce);if(ce.defaultPrevented){return}this.dispatchEvent(new CustomEvent("removed",{detail:{result:this.result,aborted:this.aborted},bubbles:true}));this.remove()}),250)};this.updatePosition=()=>{if(!this.parentElement){return}const lastParent=this.lastParent=this.parentElement;if(!lastParent){return}const cb=getContainingBlock(lastParent);if(!cb){return}this.containingBlock=cb;const cbr=cb.getBoundingClientRect();const rrSelf=relativeRect(this,cb);const rrParent=relativeRect(this.parentElement,cb);const firstChild=this.firstElementChild.getBoundingClientRect();let diffTop=Math.min(window.visualViewport.height,cbr.height)-(rrParent.top+firstChild.height);if(diffTop>0){diffTop=0}else{diffTop-=40}let diffBottom=rrParent.top-firstChild.height;if(diffBottom>0){diffBottom=0}const topLeft={"parent-left":`${rrParent.left}px`,"parent-right":`${rrSelf.left}px`,"parent-top":`${rrParent.top+diffTop}px`,"parent-bottom":`${rrParent.top+rrParent.height+diffTop}px`};const bottomRight={"parent-left":`${rrParent.right}px`,"parent-right":`${rrSelf.right}px`,"parent-top":`${rrParent.bottom+rrSelf.height+diffBottom}px`,"parent-bottom":`${rrParent.bottom+rrParent.height+diffBottom}px`};let anchorBottom=this.getAttribute("anchor-bottom");let anchorRight=this.getAttribute("anchor-right");let anchorTop=this.getAttribute("anchor-top");let anchorLeft=this.getAttribute("anchor-left");const style=this.slotElement.style;style.removeProperty("left");style.removeProperty("top");style.removeProperty("right");style.removeProperty("bottom");if(!anchorBottom){anchorTop||(anchorTop="parent-bottom")}if(!anchorRight){anchorLeft||(anchorLeft="parent-right")}if(anchorTop){style.top=topLeft[anchorTop]}if(anchorLeft){style.left=topLeft[anchorLeft]}if(anchorBottom){style.bottom=bottomRight[anchorBottom]}if(anchorRight){style.right=bottomRight[anchorRight]}}}connectedCallback(){if(!this.root){const root=this.root=this.attachShadow({mode:"open"});const slot=document.createElement("slot");slot.setAttribute("part","container");this.slotElement=slot;root.appendChild(slot)}setTimeout((()=>this.updatePosition()),100);window.addEventListener("scroll",this.updatePosition,{passive:true,capture:true});setTimeout((()=>{document.body.addEventListener("click",this.closePopover)}),100)}disconnectedCallback(){var _a;if((_a=this.lastParent)===null||_a===void 0?void 0:_a.isConnected){this.dispatchEvent(new CustomEvent("removed",{detail:{result:this.result,aborted:this.aborted},bubbles:true}))}document.body.removeEventListener("click",this.closePopover);window.removeEventListener("scroll",this.updatePosition);clearInterval(this.timer)}};existingPopup=Symbol("popup");_export("default",AtomPopover=class AtomPopover{static create(parent,options={}){var _a;return(_a=parent[existingPopup])!==null&&_a!==void 0?_a:parent[existingPopup]=new this(parent,options)}static show(parent,options={}){var _a;const p=(_a=parent[existingPopup])!==null&&_a!==void 0?_a:parent[existingPopup]=new this(parent,options);return p.resultPromise}static menu(parent,node,options={}){const ct=new CancelToken;options.nodeFactory=()=>node;const p=new this(parent,options);p.result=1;p.disposables.add(p.owner.bindEvent(p.popover,"click",(()=>{setTimeout((()=>{ct.cancel()}),10)})));return p}set renderer(v){var _a,_b;const owner=this.owner;let first=this.popoverContainer.firstElementChild;while(first){const next=first.nextElementSibling;owner.dispose(first);first.remove();first=next}if(!v){return}if(v[xnodeSymbol]){this.owner.render(XNode.create("div",null," ",v," "),this.popoverContainer,this.owner)}else{this.popoverContainer.appendChild(v)}(_b=(_a=this.popoverContainer).updatePosition)===null||_b===void 0?void 0:_b.call(_a)}constructor(parent,options={}){var _a,_b;this.disposables=new AtomDisposableList;this.removing=ce=>{var _a;if(this.cancel){ce===null||ce===void 0?void 0:ce.preventDefault();const c=(_a=this.cancel)===null||_a===void 0?void 0:_a.call(this);if(c===null||c===void 0?void 0:c.then){c.then((()=>{this.renderer=void 0;this.remove()}),console.warn)}}};this.remove=()=>{var _a,_b;const{result}=this.popover;if(result===void 0){(_a=this.resultReject)===null||_a===void 0?void 0:_a.call(this,"canceled")}else{(_b=this.resultResolve)===null||_b===void 0?void 0:_b.call(this,result)}this.disposables.dispose();this.popover.remove()};const p1=parent;this.disposables.add((()=>p1[existingPopup]=null));if(parent instanceof AtomControl){this.owner=parent;parent=this.owner.element}else{this.owner=AtomControl.from(parent)}const popover=this.popover=document.createElement("atom-pop-over");this.popoverContainer=popover;parent.appendChild(popover);const{cancelToken,nodeFactory,dataFactory,closeOnClick=true,"anchor-left":anchorLeft,"anchor-right":anchorRight,"anchor-top":anchorTop,"anchor-bottom":anchorBottom}=options;cancelToken===null||cancelToken===void 0?void 0:cancelToken.registerForCancel(this.removing);if(anchorLeft){popover.setAttribute("anchor-left",anchorLeft)}if(anchorRight){popover.setAttribute("anchor-right",anchorRight)}if(anchorTop){popover.setAttribute("anchor-top",anchorTop)}if(anchorBottom){popover.setAttribute("anchor-bottom",anchorBottom)}if(closeOnClick){popover.setAttribute("data-close-on-click","1")}popover.addEventListener("removing",this.removing);popover.addEventListener("removed",this.remove);this.disposables.add((()=>{popover.removeEventListener("removed",this.remove);popover.removeEventListener("removing",this.removing)}));(_a=this.init)!==null&&_a!==void 0?_a:this.init=data=>{if(nodeFactory){this.renderer=nodeFactory(data)}};const p=(_b=this.init)===null||_b===void 0?void 0:_b.call(this,dataFactory===null||dataFactory===void 0?void 0:dataFactory());if(p===null||p===void 0?void 0:p.then){p.then((()=>void 0),console.warn)}this.resultPromise=new Promise(((resolve,reject)=>{this.resultResolve=resolve;this.resultReject=reject}));this.resultPromise.catch((()=>void 0))}close(r){this.popover.result=r!==null&&r!==void 0?r:null;this.popover.remove()}cancel(){return __awaiter(this,void 0,void 0,(function*(){delete this.popover.result;this.popover.remove()}))}});customElements.define("atom-pop-over",AtomPopoverElement)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/AtomRepeater");System.register(["tslib","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/core/WatchProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/services/PopupService","./MergeNode","./ItemPath","./styles/popup.global.css","./styles/suggestion-popup.global.css","./styles/repeater.global.css","@web-atoms/core/dist/web/core/AtomUI","../DataAttributes","./elements/AtomPopover"],(function(_export,_context){"use strict";var __decorate,__metadata,__rest,AtomBinder,Bind,BindableProperty,Colors,StringHelper,WatchProperty,XNode,AtomControl,PopupWindow,MergeNode,ItemPath,ChildEnumerator,DataAttributes,AtomPopover,SelectAllControl,AtomRepeater,getParentRepeaterItem,MatchTrue,MatchFalse,ArrowToString,MatchCaseInsensitive,MatchAnyCaseInsensitive,SameObjectValue,getFirstChild,hoverItem,dragOver;function askSuggestion(items,itemRenderer,match,options){class Suggestions extends PopupWindow{create(){var _a;this.title=(_a=options===null||options===void 0?void 0:options.title)!==null&&_a!==void 0?_a:"Select";this.render(XNode.create("div",{"data-repeater-popup":"popup"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),autofocus:true}),XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",itemRenderer,visibilityFilter:Bind.oneWay((()=>match(this.search))),eventItemClick:e=>{this.close(e.detail)},items}))))}}__decorate([BindableProperty,__metadata("design:type",String)],Suggestions.prototype,"search",void 0);options!==null&&options!==void 0?options:options={};if(typeof options.maximize==="undefined"){if(typeof options.width==="undefined"){options.maxWidth="90%";options.minWidth="300px"}if(typeof options.height==="undefined"){options.height="80%"}}return Suggestions.showModal(options)}function askSuggestionPopup(opener,items,itemRenderer,match,selectedItem){const itemsInOpener="items"in opener;class Suggestions extends AtomPopover{constructor(){super(...arguments);this.anchorItem=null;this.anchorIndex=null}init(){const disableSearch=opener.disableSearch;this.renderer=XNode.create("div",{"data-suggestion-popup":"suggestion-popup"},!disableSearch&&XNode.create("input",{type:"search",value:Bind.sourceTwoWays(opener,(x=>x.source.search)),eventKeydown:e=>this.onKey(e),autofocus:true}),XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",selectedItem:Bind.source(this,(x=>x.source.anchorItem)),itemRenderer,visibilityFilter:Bind.source(opener,(x=>match(x.source.search))),eventItemClick:e=>{this.anchorItem=e.detail;setTimeout((()=>this.close(e.detail)),50)},items:Bind.source(opener,(x=>x.source.items))})))}onKey(e){var _a;const suggested=match?(_a=opener.items)===null||_a===void 0?void 0:_a.filter(match(opener.search)):opener.items;switch(e.key){case"Enter":const anchorItem=this.anchorItem;if(!anchorItem){return}this.anchorIndex=0;this.close(anchorItem);this.anchorItem=null;opener.search="";break;case"ArrowDown":if(suggested){if(!this.anchorItem){this.anchorIndex=0}else{if(this.anchorIndex<suggested.length-1){this.anchorIndex++}}this.anchorItem=suggested[this.anchorIndex]}break;case"ArrowUp":if(suggested){if(!this.anchorItem){return}if(this.anchorIndex){this.anchorIndex--}this.anchorItem=suggested[this.anchorIndex]}break}}}return Suggestions.show(opener.element,{"anchor-left":"parent-left"})}function SelectorCheckBox(_a,...nodes){var{text,icon="far fa-square",iconSelected="fas fa-check-square"}=_a,a=__rest(_a,["text","icon","iconSelected"]);if(text){return XNode.create("label",Object.assign({"data-selector":"check-box"},a),XNode.create("i",{class:icon,"data-click-event":"item-select"}),XNode.create("i",{class:iconSelected,"data-click-event":"item-deselect"}),XNode.create("span",{"data-no-wrap":"true",text}),...nodes)}return XNode.create("label",Object.assign({"data-selector":"check-box"},a),XNode.create("i",{class:icon,"data-click-event":"item-select"}),XNode.create("i",{class:iconSelected,"data-click-event":"item-deselect"}),...nodes)}function SelectAll(_a,...nodes){var{text="Select All",icon="far fa-square",iconSelected="fas fa-check-square"}=_a,a=__rest(_a,["text","icon","iconSelected"]);if(text){return XNode.create(SelectAllControl,Object.assign({for:"label"},a),XNode.create("i",{class:icon,"data-ui-type":"item-select"}),XNode.create("i",{class:iconSelected,"data-ui-type":"item-deselect"}),XNode.create("span",{"data-no-wrap":"true",text}))}return XNode.create(SelectAllControl,Object.assign({for:"label"},a),XNode.create("i",{class:icon,"data-ui-type":"item-select"}),XNode.create("i",{class:iconSelected,"data-ui-type":"item-deselect"}),...nodes)}function disposeChildren(owner,e){if(!e){return}let s=e.firstElementChild;while(s){const c=s;s=s.nextElementSibling;const ac=c.atomControl;if(ac){ac.dispose();continue}disposeChildren(owner,c);owner.unbind(c);owner.unbindEvent(c)}e.innerHTML=""}function disposeChild(owner,e){const ac=e.atomControl;if(ac){ac.dispose();return}disposeChildren(owner,e);owner.unbind(e);owner.unbindEvent(e);e.remove()}function defaultComparer(left,right){if(left&&right){if(left instanceof Date){if(right instanceof Date){return left.getTime()===right.getTime()}return false}}return left===right}function updateDragDrop(e,force=false){if(!e){return}if(force){e.draggable=false}else{force=e.draggable}e=e.firstElementChild;while(e){updateDragDrop(e,force);e=e.nextElementSibling}}_export({askSuggestion,askSuggestionPopup,SelectorCheckBox,SelectAll,disposeChildren,disposeChild,defaultComparer,default:void 0});return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__rest=_tslib.__rest},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreColors){Colors=_webAtomsCoreDistCoreColors.default},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper},function(_webAtomsCoreDistCoreWatchProperty){WatchProperty=_webAtomsCoreDistCoreWatchProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebServicesPopupService){PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_MergeNode){MergeNode=_MergeNode.default},function(_ItemPath){ItemPath=_ItemPath.default},function(_stylesPopupGlobalCss){},function(_stylesSuggestionPopupGlobalCss){},function(_stylesRepeaterGlobalCss){},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator},function(_DataAttributes){DataAttributes=_DataAttributes.default},function(_elementsAtomPopover){AtomPopover=_elementsAtomPopover.default}],execute:function(){_export("getParentRepeaterItem",getParentRepeaterItem=target=>{let eventName;let repeater;let index;let root;while(target){const a=target.atomControl;if(a!==undefined&&a instanceof AtomRepeater){repeater=a;break}if(index===undefined){const itemIndex=target.getAttribute("data-item-index");if(typeof itemIndex!=="undefined"){root=target;index=~~itemIndex}}if(eventName===undefined){const itemClickEvent=target.getAttribute("data-click-event");if(itemClickEvent){eventName=itemClickEvent.replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}}target=target.parentElement}if(index===void 0||repeater===void 0){return undefined}const item=repeater.items[~~index];return[eventName,repeater,item,index,root]});_export("MatchTrue",MatchTrue=(...a)=>true);_export("MatchFalse",MatchFalse=(...a)=>false);_export("ArrowToString",ArrowToString=item=>{var _a,_b;return(_b=(_a=item.label)===null||_a===void 0?void 0:_a.toString())!==null&&_b!==void 0?_b:item.toString()});_export("MatchCaseInsensitive",MatchCaseInsensitive=(textField=ArrowToString)=>s=>{if(!s){return MatchTrue}const r=StringHelper.createContainsRegExp(s);return item=>r.test(textField(item))});_export("MatchAnyCaseInsensitive",MatchAnyCaseInsensitive=(textField=ArrowToString)=>s=>{if(!s){return MatchTrue}const r=StringHelper.createContainsAnyWordRegExp(s);return item=>r.test(textField(item))});_export("SameObjectValue",SameObjectValue=item=>item);SelectAllControl=class SelectAllControl extends AtomControl{preCreate(){this.element.setAttribute("data-select-all","select-all");this.items=[];this.selectedItems=[];this.render(XNode.create(SelectAllControl,{"data-is-selected":Bind.oneWay((()=>this.items.length>0&&this.items.length===this.selectedItems.length),false)}));this.bindEvent(this.element,"click",(()=>{const si=this.selectedItems;const items=this.items;if(!si){return}if(!items){return}if(items.length===0){return}if(items.length===si.length){si.clear()}else{si.length=0;si.push(...items);si.refresh()}}))}};__decorate([BindableProperty,__metadata("design:type",Array)],SelectAllControl.prototype,"items",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],SelectAllControl.prototype,"selectedItems",void 0);getFirstChild=container=>{let child=container.firstElementChild;while(child&&!child.hasAttribute("data-item-index")){child=child.nextElementSibling}return child};_export("default",AtomRepeater=class AtomRepeater extends AtomControl{constructor(){super(...arguments);this.bubbleEvents=true}static from(element){while(element){const{atomControl}=element;if(atomControl instanceof AtomRepeater){return atomControl}element=element.parentElement}}static itemFromElement(e,ar=this.from(e)){const da=new DataAttributes(e,ar);const recreate=da.get("data-recreate");const header=da.get("data-header");const footer=da.get("data-footer");const itemIndex=da.get("data-item-index");const itemPath=da.get("data-item-path");let clickEvent=da.get("data-click-event")||(header?"headerClick":footer?"footerClick":"itemClick");clickEvent=clickEvent.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));const index=~~itemIndex;const item=ar.items[index];let nestedItem=null;if(item){if(itemPath||false){nestedItem=ItemPath.get(item,itemPath.trim())}}return{recreate,header,footer,itemPath,itemIndex,item,nestedItem,clickEvent,target:e}}set refreshEventScope(v){this.registerDisposable(v.listen((ce=>{this.refreshItem(ce.detail)})))}get allSelected(){const selectedItems=this.selectedItems;const items=this.items;if(!(items&&selectedItems)){return false}return items.length&&items.length===selectedItems.length}get value(){var _a;if(this.initialValue!==undefined){return this.initialValue}const sp=this.selectedItem;if(sp===undefined){return sp}const vp=(_a=this.valuePath)!==null&&_a!==void 0?_a:SameObjectValue;return vp(sp)}set value(v){var _a,_b;this.initialValue=v;if(!this.items||!this.items.length){AtomBinder.refreshValue(this,"value");return}const vp=(_a=this.valuePath)!==null&&_a!==void 0?_a:SameObjectValue;const c=(_b=this.comparer)!==null&&_b!==void 0?_b:defaultComparer;const selectedItem=this.items.find((item=>c(vp(item),v)));this.selectedItem=selectedItem;delete this.initialValue}get selectedItem(){var _a;return(_a=this.selectedItems)===null||_a===void 0?void 0:_a[0]}set selectedItem(value){var _a;const si=(_a=this.selectedItems)!==null&&_a!==void 0?_a:this.selectedItems=[];const first=si[0];if(value===first){return}si.set(0,value)}onPropertyChanged(name){var _a,_b;switch(name){case"items":(_a=this.itemsDisposable)===null||_a===void 0?void 0:_a.dispose();const items=this.items;const d=items===null||items===void 0?void 0:items.watch(((target,type,index,item)=>{switch(type){case"add":case"remove":case"set":this.updatePartial(type,index,item);break;default:this.updateItems();break}this.dispatchCustomEvent("items-updated",{type,items,index});AtomBinder.refreshValue(this,"selectedItem");AtomBinder.refreshValue(this,"value")}));if(d){this.itemsDisposable=this.registerDisposable(d)}const iv=this.initialValue;if(iv){this.value=iv}this.updateItems();this.dispatchCustomEvent("items-updated",{type:"reset",items,index:0});if(this.scrollToSelection){this.bringSelectionIntoView()}break;case"selectedItems":(_b=this.selectedItemsDisposable)===null||_b===void 0?void 0:_b.dispose();const selectedItems=this.selectedItems;const sd=selectedItems===null||selectedItems===void 0?void 0:selectedItems.watch((()=>{this.updateClasses();if(this.scrollToSelection){this.bringSelectionIntoView()}if(this.selectedItem){delete this.initialValue}AtomBinder.refreshValue(this,"selectedItem");AtomBinder.refreshValue(this,"value");AtomBinder.refreshValue(this,"allSelected");this.dispatchCustomEvent("selection-updated",selectedItems)}));if(sd){this.selectedItemsDisposable=this.registerDisposable(sd)}this.updateClasses();this.dispatchCustomEvent("selection-updated",selectedItems);AtomBinder.refreshValue(this,"allSelected");break;case"itemRenderer":case"watch":this.updateItems();break;case"visibilityFilter":this.updateVisibility();break;case"header":case"headerRenderer":this.updateHeaderFooter("header",this.headerPresenter,this.header,this.headerRenderer,true);break;case"footer":case"footerRenderer":this.updateHeaderFooter("footer",this.footerPresenter,this.footer,this.footerRenderer);break}}bringSelectionIntoView(force){if(force){const selection=this.selectedItem;if(selection){const element=this.elementForItem(selection);element===null||element===void 0?void 0:element.scrollIntoView()}return}if(this.bringIntoViewId){clearTimeout(this.bringIntoViewId)}this.bringIntoViewId=setTimeout((()=>{clearTimeout(this.bringIntoViewId);this.bringIntoViewId=undefined;this.bringSelectionIntoView(true)}),100)}forEach(action,container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let start=getFirstChild(container);while(start){const index=start.getAttribute("data-item-index");const item=items[~~index];action(item,start);start=start.nextElementSibling}}*any(fx,itemSelector,container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let node=getFirstChild(container);while(node){const index=node.getAttribute("data-item-index");const item=items[~~index];let element=node;if(itemSelector){element=element.querySelector(itemSelector)}const ie={item,element};if(fx){if(fx(item)){yield ie}continue}yield ie;node=node.nextElementSibling}}*all(container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let element=getFirstChild(container);while(element){const index=element.getAttribute("data-item-index");const item=items[~~index];yield{item,element};element=element.nextElementSibling}}elementAt(index,container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const indexText=index.toString();const element=ChildEnumerator.find(container,(e=>e.getAttribute("data-item-index")===indexText));return element}elementForItem(itemToFind,container){const index=this.items.indexOf(itemToFind);return this.elementAt(index,container)}refreshItem(item,fx,index=-1){if(index===-1){index=this.items.indexOf(item)}if(fx===null||fx===void 0?void 0:fx.then){const finalize=v=>{this.refreshItem(item,v,index)};fx.then(finalize,finalize);return}if(fx instanceof MergeNode){this.mergeItem(index,fx);return}this.updatePartial("set",index,item)}mergeItem(index,m){var _a,_b,_c;const item=this.items[index];if(!item){return}if((_b=(_a=m.classes)===null||_a===void 0?void 0:_a[0])===null||_b===void 0?void 0:_b.remove){this.items.removeAt(index);return}const container=(_c=this.itemsPresenter)!==null&&_c!==void 0?_c:this.element;const node=this.itemRenderer(item,index,this);const sourceElement=document.createElement("div");sourceElement.style.display="none";container.appendChild(sourceElement);this.render(node,sourceElement);const targetElement=this.elementAt(index);for(const iterator of m.classes){if(typeof iterator==="string"){const source=sourceElement.querySelectorAll(iterator);const target=targetElement.querySelectorAll(iterator);for(let i=0;i<source.length&&i<target.length;i++){const element=source[i];const te=target[i];for(const name of te.getAttributeNames()){te.removeAttribute(name)}te.innerHTML=element.innerHTML;for(const name of element.getAttributeNames()){te.setAttribute(name,element.getAttribute(name))}}continue}if(iterator.parent){const targetParent=/self|\*/.test(iterator.parent)?targetElement:targetElement.querySelector(iterator.parent);if(!targetParent){continue}for(const i of Array.from(targetElement.querySelectorAll(iterator.replace))){i.remove()}for(const i of Array.from(sourceElement.querySelectorAll(iterator.replace))){targetParent.appendChild(i)}continue}let targetPrevious=targetElement.querySelector(iterator.after);for(const i of Array.from(targetElement.querySelectorAll(iterator.replace))){i.remove()}for(const i of Array.from(sourceElement.querySelectorAll(iterator.replace))){targetPrevious.insertAdjacentElement("afterend",i);targetPrevious=i}}this.dispose(sourceElement);sourceElement.remove()}updatePartial(key,index,item,container){var _a,_b,_c,_d,_e,_f,_g;const items=this.items;if(!items){return}const ir=this.itemRenderer;if(!ir){return}container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;let start=getFirstChild(container);let ei;while(start){ei=~~start.getAttribute("data-item-index");if(ei===index){break}start=start.nextElementSibling}if(key!=="add"&&!start){return}const vp=(_b=this.valuePath)!==null&&_b!==void 0?_b:it=>it;const si=((_c=this.selectedItems)!==null&&_c!==void 0?_c:[]).map(vp);const isRemove=key==="remove";if(isRemove||key==="set"){const current=start;start=start.nextElementSibling;const ac=current.atomControl;if(ac){ac.dispose()}else{this.unbind(current);this.unbindEvent(current)}current.remove()}const end=((_d=this.footerElement)===null||_d===void 0?void 0:_d.parentElement)===container?this.footerElement:null;if(!isRemove){const en=ir(item,index,this);const ea=(_e=en.attributes)!==null&&_e!==void 0?_e:en.attributes={};const v=vp(item);const e=document.createElement((_g=(_f=ea.for)!==null&&_f!==void 0?_f:en.name)!==null&&_g!==void 0?_g:"div");e.setAttribute("data-item-index",`${index++}`);if(si.indexOf(v)!==-1){e.setAttribute("data-selected-item","true")}else{e.removeAttribute("data-selected-item")}if(this.enableDragDrop){updateDragDrop(e)}if(start){container.insertBefore(e,start)}else if(end){container.insertBefore(e,end)}else{container.appendChild(e)}this.render(en,e,this.creator||this)}while(start){const ci=items[index];const cv=vp(ci);start.setAttribute("data-item-index",`${index++}`);if(si.indexOf(cv)!==-1){start.setAttribute("data-selected-item","true")}else{start.removeAttribute("data-selected-item")}start=start.nextElementSibling;if(start===null||start===void 0?void 0:start.hasAttribute("data-footer")){break}}}updateItems(container,force){var _a,_b,_c,_d,_e,_f;if(this.deferUpdates&&!force){if(this.deferredUpdateId){return}this.deferredUpdateId=setTimeout((()=>{this.deferredUpdateId=0;this.updateItems(container,true)}),1);return}container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;if(!container){return}disposeChildren(this,container);this.onPropertyChanged("header");const ir=this.itemRenderer;if(!ir){this.onPropertyChanged("footer");return}const items=this.items;if(!items){this.onPropertyChanged("footer");return}const vp=(_b=this.valuePath)!==null&&_b!==void 0?_b:it=>it;const si=((_c=this.selectedItems)!==null&&_c!==void 0?_c:[]).map(vp);let i=0;for(const iterator of items){const index=i++;const e=ir(iterator,index,this);const ea=(_d=e.attributes)!==null&&_d!==void 0?_d:e.attributes={};const v=vp(iterator);const element=document.createElement((_f=(_e=ea.for)!==null&&_e!==void 0?_e:e.name)!==null&&_f!==void 0?_f:"div");element.setAttribute("data-item-index",`${index}`);if(si.indexOf(v)!==-1){element.setAttribute("data-selected-item","true")}else{element.removeAttribute("data-selected-item")}this.render(e,element,this.creator||this);if(this.enableDragDrop){updateDragDrop(element)}container.appendChild(element)}this.onPropertyChanged("footer")}render(node,e,creator){if(!this.creator&&this!==creator){this.creator=creator}this.render=super.render;return super.render(node,e,creator)}preCreate(){this.mergeOnRefresh=false;this.selectOnClick=false;this.element.setAttribute("data-click-event","item-click")}dispatchCustomEvent(type,detail){if(!this.element){return}const eventName=this.element.getAttribute("data-"+type+"-event");type=StringHelper.fromHyphenToCamel(eventName!==null&&eventName!==void 0?eventName:type);this.element.dispatchEvent(new CustomEvent(type,{detail,bubbles:eventName!==null,cancelable:true}))}updateClasses(){var _a,_b,_c;const container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let element=getFirstChild(container);const vp=(_b=this.valuePath)!==null&&_b!==void 0?_b:i=>i;const si=((_c=this.selectedItems)!==null&&_c!==void 0?_c:[]).map(vp);while(element){const index=~~element.getAttribute("data-item-index");const item=items[index];const v=vp(item);if(si.indexOf(v)!==-1){element.setAttribute("data-selected-item","true")}else{element.removeAttribute("data-selected-item")}element=element.nextElementSibling}}updateVisibility(){var _a,_b;const container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let element=container.firstElementChild;const vf=(_b=this.visibilityFilter)!==null&&_b!==void 0?_b:MatchTrue;while(element){const index=~~element.getAttribute("data-item-index");const item=items[index];if(vf(item)){element.removeAttribute("data-ui-display")}else{element.setAttribute("data-ui-display","none")}element=element.nextElementSibling}}updateHeaderFooter(name,presenter,item,itemRenderer,insert){var _a,_b,_c,_d;presenter!==null&&presenter!==void 0?presenter:presenter=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.itemsPresenter=this.element;if(!presenter){this[name+"Element"]=null;return}let current;if(insert){current=presenter.firstElementChild;while(current&¤t.dataset[name]!==name){current=current.nextElementSibling}}else{current=presenter.lastElementChild;while(current&¤t.dataset[name]!==name){current=current.previousElementSibling}}if(current){disposeChild(this,current);this[name+"Element"]=null}if(!(item&&itemRenderer)){return}const node=itemRenderer(item);const element=document.createElement((_d=(_c=(_b=node.attributes)===null||_b===void 0?void 0:_b.for)!==null&&_c!==void 0?_c:node.name)!==null&&_d!==void 0?_d:"div");element.dataset[name]=name;this.render(node,element,this.creator||this);if(insert){presenter.insertBefore(element,presenter.firstElementChild)}else{presenter.appendChild(element)}this[name+"Element"]=element}dispatchHeaderFooterEvent(eventName,type,recreate,originalTarget){const detail=this[type];const ce=new CustomEvent(eventName!==null&&eventName!==void 0?eventName:`${type}Click`,{detail,bubbles:this.bubbleEvents,cancelable:true});originalTarget.dispatchEvent(ce);if(ce.defaultPrevented||!ce.executed){return}if(recreate){this.onPropertyChanged(type)}}dispatchItemEvent(eventName,item,recreate,originalTarget,nestedItem){var _a;const ce=new CustomEvent(eventName!==null&&eventName!==void 0?eventName:"itemClick",{detail:nestedItem!==null&&nestedItem!==void 0?nestedItem:item,bubbles:this.bubbleEvents,cancelable:true});originalTarget.dispatchEvent(ce);if(!ce.defaultPrevented){if(this.selectOnClick||eventName==="itemSelect"||eventName==="itemDeselect"){const si=(_a=this.selectedItems)!==null&&_a!==void 0?_a:this.selectedItems=[];if(si){const index=si.indexOf(item);if(index===-1){if(this.allowMultipleSelection){si.add(item)}else{si.set(0,item)}}else{si.removeAt(index)}}}}if(ce.defaultPrevented||!ce.executed){return}const promise=ce.promise;if(recreate){this.refreshItem(item,promise);return}if(promise){promise.then((r=>r instanceof MergeNode&&this.refreshItem(item,r)))}}dispatchClickEvent(e,data){const{recreate,header,footer,itemIndex,itemPath,clickEvent,item,nestedItem}=AtomRepeater.itemFromElement(e.target,this);if(itemIndex!==void 0){if(item){if(nestedItem){this.dispatchItemEvent(clickEvent,item,recreate,e.target,nestedItem);return}this.dispatchItemEvent(clickEvent,item,recreate,e.target)}return}if(header){this.dispatchHeaderFooterEvent(clickEvent,header,recreate,e.target)}if(footer){this.dispatchHeaderFooterEvent(clickEvent,footer,recreate,e.target)}}});__decorate([BindableProperty,__metadata("design:type",Boolean)],AtomRepeater.prototype,"allowMultipleSelection",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"selectOnClick",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],AtomRepeater.prototype,"selectedItems",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"itemsPresenter",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],AtomRepeater.prototype,"items",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"watch",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"visibilityFilter",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"enableFunc",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"itemRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"valuePath",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"comparer",void 0);__decorate([BindableProperty,__metadata("design:type",Boolean)],AtomRepeater.prototype,"deferUpdates",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"header",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"headerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"footer",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"footerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"enableDragDrop",void 0);__decorate([WatchProperty,__metadata("design:type",Object),__metadata("design:paramtypes",[])],AtomRepeater.prototype,"allSelected",null);hoverItem={repeater:null,target:null,item:null,placeholder:null};document.body.addEventListener("dragstart",(e=>{const{target}=e;if(target.draggable){const ri=getParentRepeaterItem(target);if(!ri){return}const[type,repeater,item,index]=ri;if(!repeater||!repeater.enableDragDrop){return}const placeholder=document.createElement("div");placeholder.style.width=target.offsetWidth+"px";placeholder.style.height=target.offsetHeight+"px";placeholder.style.backgroundColor=Colors.lightGray.toString();placeholder.style.border="solid 1px gray";placeholder.style.borderRadius="10px";hoverItem={repeater,target,item,placeholder};e.dataTransfer.dropEffect="move";setTimeout((()=>{target.style.display="none";target.parentElement.insertBefore(placeholder,target)}),0)}}));document.body.addEventListener("dragend",(e=>{var _a,_b;if(!(hoverItem===null||hoverItem===void 0?void 0:hoverItem.placeholder)){return}const{item,placeholder,repeater}=hoverItem;let start=placeholder;let index=-1;while(start){const itemIndex=(_b=(_a=start.previousElementSibling)===null||_a===void 0?void 0:_a.dataset)===null||_b===void 0?void 0:_b.itemIndex;if(itemIndex!==void 0){index=~~itemIndex}if(start.parentElement.atomControl){break}start=start.parentElement}const targetRepeater=start.parentElement.atomControl;placeholder.remove();hoverItem.placeholder=null;repeater.items.remove(item);index++;const ce=new CustomEvent("itemDropped",{detail:{item,index}});if(ce.defaultPrevented){return}const{detail}=ce;targetRepeater.items.insert(detail.index,detail.item)}));dragOver=e=>{if(!e.dataTransfer){return}if(hoverItem){const{placeholder}=hoverItem;if(!placeholder){return}if(e.target===placeholder){return}}const ri=getParentRepeaterItem(e.target);if(!ri){return}const[type,repeater,item,index,target]=ri;if(!repeater){return}if(hoverItem){const{placeholder}=hoverItem;e.preventDefault();const mp={x:e.clientX,y:e.clientY};const isBefore=(co,n)=>n.x<=co.x+co.width*.3||n.y<=co.y+co.height*.3;const isAfter=(co,n)=>n.x>=co.x+co.width*.7||n.y>=co.y+co.height*.7;const targetBounds=target.getBoundingClientRect();if(isAfter(targetBounds,mp)){const next=target.nextElementSibling;if(next===placeholder){return}placeholder.remove();target.insertAdjacentElement("afterend",placeholder);return}if(isBefore(targetBounds,mp)){const previous=target.previousElementSibling;if(previous===placeholder){return}placeholder.remove();target.insertAdjacentElement("beforebegin",placeholder)}return}};document.body.addEventListener("dragover",dragOver);document.body.addEventListener("dragenter",dragOver)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/Select");System.register(["tslib","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __rest,AtomControl,XNode,labelPathSetter,valuePathSetter,valueSetter,refreshItems,itemsSetter;function Select(_a){var{items,labelPath,valuePath,value}=_a,a=__rest(_a,["items","labelPath","valuePath","value"]);a[labelPathSetter.property]=labelPath;a[valuePathSetter.property]=valuePath;a[valueSetter.property]=value;a[itemsSetter.property]=items;return XNode.create("select",Object.assign({},a))}_export("default",Select);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){labelPathSetter=AtomControl.registerProperty("data-items","value",((ctrl,element,value)=>{element["labelPath"]=value}));valuePathSetter=AtomControl.registerProperty("data-items","value",((ctrl,element,value)=>{element["valuePath"]=value}));valueSetter=AtomControl.registerProperty("data-items","value",((ctrl,element,value)=>{var _a;element["initialValue"]=value;element["value"]=value;const select=element;let length=select.options.length;if(!length){setTimeout(refreshItems,1,element);return}const items=element["items"];if(!items){setTimeout(refreshItems,1,element);return}const vp=(_a=element["valuePath"])!==null&&_a!==void 0?_a:item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item};let index=0;for(const item of items){const v=vp(item);if(v==value){select.selectedIndex=index;return}index++}setTimeout(refreshItems,1,element)}));refreshItems=(element,items)=>{var _a,_b;items!==null&&items!==void 0?items:items=element["items"];element.update=true;const old=element.selectedIndex;let cv=element["initialValue"];if(old!==-1){cv=element["value"]}element.options.length=0;const lp=(_a=element["labelPath"])!==null&&_a!==void 0?_a:item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item};const vp=(_b=element["valuePath"])!==null&&_b!==void 0?_b:item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item};let i=0;let si=-1;if(items===null||items===void 0?void 0:items.length){for(const iterator of items){const option=document.createElement("option");const label=lp(iterator);const value=vp(iterator);option.text=label;option.value=value;element.options.add(option);if(cv!==void 0){if(cv==value){si=i}}i++}}if(si!=-1){element.selectedIndex=si}element.update=false};itemsSetter=AtomControl.registerProperty("data-items","value",((ctrl,element,value)=>{element["items"]=value;setTimeout(refreshItems,1,element,value)}))}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/Calendar");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/WatchProperty","@web-atoms/core/dist/core/XNode","@web-atoms/date-time/dist/DateTime","./AtomRepeater","./Select","./styles/calendar.global.css"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,WatchProperty,XNode,DateTime,AtomRepeater,Select,Calendar,start,getWeekDays,getMonths,weekdays,months;function setValue(target,name,value){Object.defineProperty(target,name,{value});return value}_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreWatchProperty){WatchProperty=_webAtomsCoreDistCoreWatchProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default},function(_Select){Select=_Select.default},function(_stylesCalendarGlobalCss){}],execute:function(){start=DateTime.now;getWeekDays=(locale,type)=>{const baseDate=new Date(Date.UTC(2017,0,2));const weekDays=[];for(let i=0;i<7;i++){weekDays.push(baseDate.toLocaleDateString(locale,{weekday:type}));baseDate.setDate(baseDate.getDate()+1)}return weekDays};getMonths=(locale,type)=>{const baseDate=new Date(Date.UTC(2017,0,2));const weekDays=[];for(let i=0;i<12;i++){weekDays.push(baseDate.toLocaleDateString(locale,{month:type}));baseDate.setMonth(i+1)}return weekDays};_export("weekdays",weekdays={get short(){return setValue(this,"short",getWeekDays(navigator.language,"short"))},get long(){return setValue(this,"long",getWeekDays(navigator.language,"long"))}});_export("months",months={get short(){return setValue(this,"short",getMonths(navigator.language,"short"))},get long(){return setValue(this,"long",getMonths(navigator.language,"long"))},get items(){return setValue(this,"items",this.long.map(((x,i)=>({label:x,value:i}))))}});_export("default",Calendar=class Calendar extends AtomRepeater{constructor(){super(...arguments);this.dateModified=false}set startDate(v){if(this.dateModified){return}const year=v.getFullYear();const month=v.getMonth();if(this.year!==year){this.year=year}if(this.month!==month){this.month=month}}get dates(){const year=this.year;const tm=this.month;if(tm===undefined||year===undefined){return[]}const month=Number(tm);const today=DateTime.today;let startDate=new DateTime(year,month,1);while(startDate.dayOfWeek!==1){startDate=startDate.add(-1)}const a=[];const y=startDate.year;const m=startDate.month;const ef=this.enableFunc;for(let index=0;index<42;index++){const cd=startDate.add(index);const item={label:cd.day+"",row:Math.floor(index/7),column:index%7,type:null,value:cd,isToday:cd.equals(today),isOtherMonth:month!==cd.month,isWeekend:cd.dayOfWeek===0||cd.dayOfWeek===6,disabled:false};if(ef){item.disabled=!ef(item)}a.push(item)}return a}get years(){const years=[];const s=start.year+this.yearStart;const e=start.year+this.yearEnd+1;for(let index=s;index<e;index++){years.push({label:index.toString(),value:index})}return years}get value(){return super.value}set value(v){if(v instanceof Date){this.startDate=v}super.value=v}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"enableFunc":case"dateRenderer":this.updateItems();break}}next(){if(this.month===11){this.year++;this.month=0;return}this.month++}prev(){if(this.month===0){this.year--;this.month=11;return}this.month--}preCreate(){super.preCreate();const now=new Date;this.selectedItems=[];this.valuePath=i=>i===null||i===void 0?void 0:i.value;this.yearStart=-10;this.yearEnd=10;this.year=now.getFullYear();this.month=now.getMonth();this.comparer=(left,right)=>{var _a,_b;return left&&right&&((_a=DateTime.from(left).date)===null||_a===void 0?void 0:_a.msSinceEpoch)===((_b=DateTime.from(right).date)===null||_b===void 0?void 0:_b.msSinceEpoch)};this.bindEvent(this.element,"change",(()=>this.dateModified=true),null,{capture:true});this.bindEvent(this.element,"itemSelect",(e=>e.detail.disabled?e.preventDefault():null));this.render(XNode.create("div",{"data-calendar":"calendar",items:Bind.oneWay((()=>this.dates))},XNode.create("i",{"data-element":"previous","event-click":()=>this.prev(),class:"fa-solid fa-circle-chevron-left",title:"Previous Month"}),XNode.create(Select,{"data-element":"month",items:months.items,value:Bind.twoWays((()=>this.month))}),XNode.create(Select,{"data-element":"year",items:Bind.oneWay((()=>this.years)),value:Bind.twoWays((()=>this.year))}),XNode.create("i",{"data-element":"next","event-click":()=>this.next(),class:"fa-solid fa-circle-chevron-right",title:"Next Month"}),XNode.create("div",{class:"week"}),XNode.create("div",{"data-click-event":"item-select",class:"dates"})));this.itemsPresenter=this.element.lastElementChild;const week=this.element.lastElementChild.previousElementSibling;let w=1;for(const iterator of weekdays.short){const text=document.createElement("span");text.textContent=iterator;week.appendChild(text);text.style.gridColumnStart=`${w++}`}this.dateRenderer=item=>XNode.create("div",{text:item.label});this.itemRenderer=item=>{var _a;const d=this.dateRenderer(item);const a=(_a=d.attributes)!==null&&_a!==void 0?_a:d.attributes={};if(item.isToday){a["data-is-today"]=item.isToday}if(item.isOtherMonth){a["data-is-other-month"]=item.isOtherMonth}if(item.isWeekend){a["data-is-weekend"]=item.isWeekend}if(item.disabled){a["data-disabled"]=item.disabled}return d}}dispatchItemEvent(eventName,item,recreate,originalTarget,nestedItem){this.dateModified=true;super.dispatchItemEvent(eventName,item,recreate,originalTarget,nestedItem)}});__decorate([BindableProperty,__metadata("design:type",Number)],Calendar.prototype,"year",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],Calendar.prototype,"month",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],Calendar.prototype,"yearStart",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],Calendar.prototype,"yearEnd",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],Calendar.prototype,"enableFunc",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],Calendar.prototype,"dateRenderer",void 0);__decorate([WatchProperty,__metadata("design:type",Object),__metadata("design:paramtypes",[])],Calendar.prototype,"dates",null);__decorate([WatchProperty,__metadata("design:type",Object),__metadata("design:paramtypes",[])],Calendar.prototype,"years",null)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/TimeEditor");System.register(["@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/date-time/dist/TimeSpan","./Select","@web-atoms/core/dist/core/Bind","./styles/time-editor.global.css"],(function(_export,_context){"use strict";var AtomBinder,XNode,AtomControl,TimeSpan,Select,Bind,TimeEditor;function hours(){return[{label:"01",value:1},{label:"02",value:2},{label:"03",value:3},{label:"04",value:4},{label:"05",value:5},{label:"06",value:6},{label:"07",value:7},{label:"08",value:8},{label:"09",value:9},{label:"10",value:10},{label:"11",value:11},{label:"12",value:12}]}function minutes(){const items=[];for(let index=0;index<10;index++){items.push({label:"0"+index,value:index})}for(let index=10;index<60;index++){items.push({label:index.toString(),value:index})}return items}_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsDateTimeDistTimeSpan){TimeSpan=_webAtomsDateTimeDistTimeSpan.default},function(_Select){Select=_Select.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_stylesTimeEditorGlobalCss){}],execute:function(){_export("default",TimeEditor=class TimeEditor extends AtomControl{get time(){let t=new TimeSpan(0,this.hour,this.minute);if(this.isPM){t=t.add(TimeSpan.fromHours(12))}return t}set time(v){if(!v){v=TimeSpan.fromSeconds(0)}let h=v.hours;if(h>12){h-=12;this.isPM=true}this.hour=h;this.minute=v.minutes;AtomBinder.refreshValue(this,"time")}create(){this.isPM=false;this.hour=12;this.minute=0;this.render(XNode.create("div",{"data-time-editor":"time-editor","event-change":()=>setTimeout((()=>AtomBinder.refreshValue(this,"time")),1)},XNode.create(Select,{"data-element":"hour",items:hours(),value:Bind.twoWays((()=>this.hour))}),XNode.create(Select,{"data-element":"minute",items:minutes(),value:Bind.twoWays((()=>this.minute))}),XNode.create("button",{"event-click":()=>(this.isPM=false,AtomBinder.refreshValue(this,"time")),"data-selected":Bind.oneWay((()=>!this.isPM)),"data-element":"am",text:"AM"}),XNode.create("button",{"event-click":()=>(this.isPM=true,AtomBinder.refreshValue(this,"time")),"data-selected":Bind.oneWay((()=>this.isPM)),"data-element":"pm",text:"PM"})))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/Mailto");System.register([],(function(_export,_context){"use strict";var Mailto;return{setters:[],execute:function(){_export("Mailto",Mailto={create({subject="",to="",body="",inReplyTo=""}){const usp=new URLSearchParams;if(subject){usp.append("subject",subject)}if(body){usp.append("body",body)}if(inReplyTo){usp.append("in-reply-to",inReplyTo)}return`mailto:${to}?${usp.toString()}`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/apiPath");System.register([],(function(_export,_context){"use strict";var _a,root,apiPath,apiPathRoot;return{setters:[],execute:function(){root=((_a=window.socialMail)===null||_a===void 0?void 0:_a.path)||"/";if(root.endsWith("/")){root=root.substring(0,root.length-1)}_export("apiPath",apiPath=root?url=>root+url:url=>url);_export("apiPathRoot",apiPathRoot=root)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/CDN");System.register([],(function(_export,_context){"use strict";var _a,_b,cdn,CDN;return{setters:[],execute:function(){cdn=(_b=(_a=window.socialMail)===null||_a===void 0?void 0:_a.cdn)!==null&&_b!==void 0?_b:"";_export("CDN",CDN={toCDNUrl(url){if(/^https?\:\/\//i.test(url)){const u=new URL(url);u.hostname=cdn;return u.toString()}if(cdn){return"https://"+cdn+url}return url}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/toBase36");System.register([],(function(_export,_context){"use strict";var Base36,toBase36,parseBigInt;_export("Base36",void 0);return{setters:[],execute:function(){_export("toBase36",toBase36=n=>BigInt(n).toString(36));parseBigInt=(numberString,throwOnFail=true)=>{if(!numberString){return}if(numberString.startsWith("$")){return}const keySpace="0123456789abcdefghijklmnopqrstuvwxyz";let result=BigInt(0);const keySpaceLength=BigInt(keySpace.length);for(const iterator of numberString){const value=keySpace.indexOf(iterator);if(value===-1){if(throwOnFail){throw new Error("invalid string")}return}result=result*keySpaceLength+BigInt(value)}return result};_export("Base36",Base36=class Base36{static encode(n){return BigInt(n).toString(36)}static decode(n,throwOnFail=true){var _a;return(_a=parseBigInt(n,throwOnFail))===null||_a===void 0?void 0:_a.toString()}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/Slugger");System.register(["./toBase36"],(function(_export,_context){"use strict";var Base36,Slugger;return{setters:[function(_toBase){Base36=_toBase.Base36}],execute:function(){_export("Slugger",Slugger={slug(emailID,subject){const eid=Base36.encode(emailID);const suffix=`-${eid}`;const prefix=(subject||"").replace(/[^\p{L}\d]+/gimu,"-").trim();let slug="";const length=prefix.length+suffix.length;if(length>440){slug=prefix.substring(0,length-440)+suffix}else{slug=prefix+suffix}return slug.toLowerCase()}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/TestMode");System.register([],(function(_export,_context){"use strict";var AppLocation;return{setters:[],execute:function(){_export("AppLocation",AppLocation={isLocalTesting:/^\d+\.\d+\.\d+\.\d+$/.test(location.hostname)})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/UrlService");System.register(["../../common/apiPath","../../common/CDN","../../common/Slugger","../../common/TestMode","../../common/toBase36"],(function(_export,_context){"use strict";var apiPath,CDN,Slugger,AppLocation,Base36,UrlService;return{setters:[function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_commonCDN){CDN=_commonCDN.CDN},function(_commonSlugger){Slugger=_commonSlugger.Slugger},function(_commonTestMode){AppLocation=_commonTestMode.AppLocation},function(_commonToBase){Base36=_commonToBase.Base36}],execute:function(){_export("UrlService",UrlService={toSectionUrl({emailAddress:{emailAddress}},section="calendar",current=0){const cid="@"+emailAddress.split("@")[0];if(AppLocation.isLocalTesting){return`?${Date.now()}#!/${cid}/${section}/${current}`}return`/${cid}/${section}/${current}`},toListUrl({emailAddress:{emailAddress}},current=0){const cid="@"+emailAddress.split("@")[0];if(AppLocation.isLocalTesting){return`?${Date.now()}#!/${cid}/${current}`}return`/${cid}/${current}`},toCalendarUrl({emailAddress:{emailAddress}}){const cid="@"+emailAddress.split("@")[0];if(AppLocation.isLocalTesting){return`?${Date.now()}#!/${cid}/calendar/`}return`/${cid}/calendar/`},toBuyUrl({emailID,email:{subject},mailbox:{emailAddress:{emailAddress}}}){const cid="@"+emailAddress.split("@")[0];const slug="buy/"+emailID;if(AppLocation.isLocalTesting){return`?${Date.now()}#!/${cid}/${slug}`}return`/${cid}/${slug}`},toBlogUrl({emailID,email:{subject},mailbox:{emailAddress:{emailAddress}}}){const cid="@"+emailAddress.split("@")[0];const slug=Slugger.slug(emailID,subject);if(AppLocation.isLocalTesting){return`?${Date.now()}#!/${cid}/${slug}`}return`/${cid}/${slug}`},toTagUrl({tag:{name},mailbox:{emailAddress:{emailAddress}}}){const cid="@"+emailAddress.split("@")[0];name=name.toLowerCase();if(AppLocation.isLocalTesting){return`?${Date.now()}#!/${cid}/tag/${name}`}name=encodeURI(name);return`/${cid}/tag/${name}`},toImageUrl(file,size=700){return CDN.toCDNUrl(apiPath(`/social-mail/c/d/${location.hostname}/webp(${size})/${file.postID}/${file.appFileID}/${file.name}/${file.name}.${size}.webp`))},toVideoUrl(file){return CDN.toCDNUrl(apiPath(`/social-mail/c/d/${location.hostname}/webm-branded/${file.postID}/${file.appFileID}/${file.name}/${file.name}.branded.webm`))},getEmailID(slug){var _a;const{1:emailIDBase36}=(_a=/\-([^\-]+)\/?$/.exec(slug))!==null&&_a!==void 0?_a:[];if(emailIDBase36){return Base36.decode(emailIDBase36)}},getParameters(){var _a,_b,_c;const url=(_a=window.pageUrl)!==null&&_a!==void 0?_a:new URL(location.href);let pathname=url===null||url===void 0?void 0:url.pathname;const detail=url.searchParams.get("detail");if(detail){pathname="/"+detail}const{1:channel,2:p1,3:p2}=(_b=/^\/([^\/]+)\/([^\/]+)\/?([^\/]+)?\/?/.exec(pathname))!==null&&_b!==void 0?_b:[];let tag=null;let author=null;let slug=p1;let emailID=null;let calendar=null;let photos=null;let videos=null;if(!slug){return{channel,tag,author,emailID,calendar}}switch(slug){case"tag":case"tags":tag=p2;slug=null;break;case"author":author=p2;slug=null;break;case"calendar":calendar=true;break;case"videos":videos=true;break;case"photos":photos=true;break;default:const{1:emailIDBase36}=(_c=/\-([^\-]+)\/?$/.exec(slug))!==null&&_c!==void 0?_c:[];if(emailIDBase36){emailID=Base36.decode(emailIDBase36)}}return{channel,tag,author,emailID,calendar,photos,videos}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/InjectProperty");System.register([],(function(_export,_context){"use strict";function InjectProperty(target,key){Object.defineProperty(target,key,{get:function(){const plist=Reflect.getMetadata("design:type",target,key);const result=this.app.resolve(plist);Object.defineProperty(this,key,{get:()=>result});return result},configurable:true})}_export("default",InjectProperty);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/BusyProgress");System.register(["../styles/app/busy-progress-control.local.css"],(function(_export,_context){"use strict";var BusyProgress,container,stack;_export("default",void 0);return{setters:[function(_stylesAppBusyProgressControlLocalCss){}],execute:function(){stack=0;_export("default",BusyProgress=class BusyProgress{static install(app){app.createBusyIndicator=()=>this.create()}static create(){if(!container){container=document.createElement("div");container.className="busy-progress-control";const progressBar=document.createElement("div");progressBar.className="progress-bar";container.appendChild(progressBar);const progressBarValue=document.createElement("div");progressBarValue.className="progress-bar-value";progressBar.appendChild(progressBarValue);document.body.appendChild(container)}stack++;if(stack===1){container.setAttribute("data-show","true")}return{[Symbol.dispose](){stack--;if(stack<=0){container.removeAttribute("data-show")}}}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/EntityService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/entity/dist/services/BaseEntityService","./BusyProgress","../common/apiPath"],(function(_export,_context){"use strict";var __decorate,DISingleton,BaseEntityService,BusyProgress,apiPath,EntityService;return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistServicesBaseEntityService){BaseEntityService=_webAtomsEntityDistServicesBaseEntityService.default},function(_BusyProgress){BusyProgress=_BusyProgress.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],execute:function(){EntityService=class EntityService extends BaseEntityService{constructor(){super(...arguments);this.queryProcessor="JavaScript";this.url=apiPath("/social-mail/api/entity/")}postPageReady(){setTimeout((()=>this.runAfterEnd((()=>window.pageReady=true))),100)}createBusyIndicator(hideActivityIndicator){if(hideActivityIndicator){return{[Symbol.dispose](){}}}return BusyProgress.create()}};EntityService=__decorate([DISingleton()],EntityService);_export("default",EntityService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/Sql");System.register([],(function(_export,_context){"use strict";var Sql;return{setters:[],execute:function(){_export("Sql",Sql=void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/cache/CacheVersions");System.register([],(function(_export,_context){"use strict";var CacheVersions;return{setters:[],execute:function(){CacheVersions={email:"ec4",channelName:"cl3",comment:"c2",site:"s2"};_export("default",CacheVersions)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/email/EmailContentDownloader");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/entity/dist/models/TaskManager","../../model/model","@web-atoms/core/dist/di/Inject","../EntityService","../../common/cache/CacheTTL","../../common/cache/CacheVersions"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,TaskManager,ChannelEmail,Email,Inject,EntityService,CacheTTL,CacheVersions,cacheSeconds,EmailContentDownloader;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistModelsTaskManager){TaskManager=_webAtomsEntityDistModelsTaskManager.default},function(_modelModel){ChannelEmail=_modelModel.ChannelEmail;Email=_modelModel.Email},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_commonCacheCacheVersions){CacheVersions=_commonCacheCacheVersions.default}],execute:function(){cacheSeconds=CacheTTL.seconds.oneMonth;EmailContentDownloader=class EmailContentDownloader extends TaskManager{downloadPostContent(email){return __awaiter(this,void 0,void 0,(function*(){var _a;(_a=email.email).htmlBody||(_a.htmlBody=yield this.entityService.run(ChannelEmail,"getBody",email,{cacheVersion:CacheVersions.email,cacheSeconds}).asText())}))}downloadPost(email){return __awaiter(this,void 0,void 0,(function*(){email.htmlBody||(email.htmlBody=yield this.entityService.run(Email,"getBody",email,{cacheVersion:CacheVersions.email,cacheSeconds}).asText())}))}};__decorate([Inject,__metadata("design:type",EntityService)],EmailContentDownloader.prototype,"entityService",void 0);EmailContentDownloader=__decorate([DISingleton({})],EmailContentDownloader);_export("default",EmailContentDownloader)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/EngagementService");System.register(["tslib","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/cache/CacheTTL","@web-atoms/date-time/dist/DateTime","../../../../services/email/EmailContentDownloader","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Email,EmailEngagement,CacheTTL,DateTime,EmailContentDownloader,DISingleton,cacheSeconds,EngagementService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Email=_modelModel.Email;EmailEngagement=_modelModel.EmailEngagement},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){cacheSeconds=CacheTTL.seconds.oneMonth;EngagementService=class EngagementService{downloadEngagements(email){return __awaiter(this,void 0,void 0,(function*(){try{const{emailID}=email;let now=DateTime.now;const minute=Math.floor(now.minute/5);now=now.addMinutes(-minute);const cacheVersion=email.dateUpdated?DateTime.from(email.dateUpdated).msSinceEpoch.toString(36):"-";email.engagements=yield this.entityService.query(EmailEngagement).where({emailID},(p=>x=>x.emailID===p.emailID)).toArray({cacheVersion,cacheSeconds:300})}catch(error){console.error(error)}}))}list(_a){return __awaiter(this,arguments,void 0,(function*({start=0,size=50,engagement="",emailID=0,mailboxID=0,emailAddressID=0,dateUpdated=null}){const q=this.entityService.query(Email).where({mailboxID,emailAddressID,engagement,emailID},(p=>x=>x.engagement===p.engagement&&x.parentID===p.emailID));const cacheVersion=dateUpdated?DateTime.from(dateUpdated).msSinceEpoch.toString(36):"-";const list=yield q.toPagedList({start,size,cacheVersion,cacheSeconds});return list}))}};__decorate([Inject,__metadata("design:type",EntityService)],EngagementService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],EngagementService.prototype,"emailContentDownloader",void 0);EngagementService=__decorate([DISingleton()],EngagementService);_export("default",EngagementService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/BlogService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../services/EntityService","../../model/model","../../common/Sql","../../services/email/EmailContentDownloader","../../web/page/mails/service/EngagementService","../../common/apiPath","../../common/cache/CacheTTL","../../common/CDN","../../common/cache/CacheVersions"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,ChannelEmail,Email,Mailbox,Sql,EmailContentDownloader,EngagementService,apiPath,CacheTTL,CDN,CacheVersions,updateAttachments,BlogService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){ChannelEmail=_modelModel.ChannelEmail;Email=_modelModel.Email;Mailbox=_modelModel.Mailbox},function(_commonSql){Sql=_commonSql.Sql},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_webPageMailsServiceEngagementService){EngagementService=_webPageMailsServiceEngagementService.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_commonCDN){CDN=_commonCDN.CDN},function(_commonCacheCacheVersions){CacheVersions=_commonCacheCacheVersions.default}],execute:function(){updateAttachments=(channelID,email)=>{if(email.attachments){for(const iterator of email.attachments){if(/^video\//i.test(iterator.contentType)){iterator.url=CDN.toCDNUrl(apiPath(`/social-mail/c/d/${location.hostname}/webm-branded/${iterator.postID}/${iterator.appFileID}/2-${iterator.name}/${iterator.name}.3.webm`));continue}iterator.url=CDN.toCDNUrl(apiPath(`/social-mail/c/d/${location.hostname}/view/${iterator.postID}/${iterator.appFileID}/${iterator.name}`))}}};BlogService=class BlogService{getEmail(_a){return __awaiter(this,arguments,void 0,(function*({emailID,channelID,channel}){const ce=yield this.entityService.query(ChannelEmail,"channelEmails",channelID).where({emailID},(p=>x=>x.emailID===p.emailID)).include((x=>[x.email.engagements,x.email.emailTags.forEach((t=>t.tag)),x.email.attachments])).firstOrDefault();const email=ce.email;email.htmlBody=yield this.entityService.run(ChannelEmail,"getBody",ce,{cacheSeconds:CacheTTL.seconds.oneMonth,cacheVersion:CacheVersions.email}).asText();updateAttachments(channelID,email);email.children=yield this.entityService.query(Email,"channelEmails",channelID).where({emailID},(p=>x=>x.parentID===p.emailID&&x.status==="published")).include((x=>[x.engagements,x.emailTags.forEach((t=>t.tag)),x.attachments])).toArray({});return email}))}getEmails(_a){return __awaiter(this,arguments,void 0,(function*({channelID=0,parentID=0,author="",tag="",search="",start=0,size=10,cancelToken}){let q=this.entityService.query(ChannelEmail,"channelEmails",channelID).where((x=>x.datePublished!==null));if(parentID){q=q.where({parentID},(p=>x=>x.email.parentID===p.parentID))}else{q=q.where({channelID},(p=>x=>x.isThread===true&&x.mailboxID===p.channelID))}if(search){q=q.where({search},(p=>x=>Sql.text.includes(x.email.textBody,p.search)||Sql.text.includes(x.email.subject,p.search)))}if(tag){q=q.where({tag},(p=>x=>x.email.emailTags.some((t=>t.tag.lowerCaseName===p.tag))))}if(author){q=q.where({author},(p=>x=>x.email.senderName===p.author))}const mailboxEmails=yield q.include((x=>[x.previewFile,x.email.engagements,x.email.emailTags.forEach((t=>t.tag))])).orderByDescending((x=>x.dateUpdated)).toPagedList({start,size,cancelToken});const tasks=[];for(const{postID,email}of mailboxEmails.items){tasks.push(this.downloader.downloadPost(email))}yield Promise.all(tasks);return mailboxEmails}))}getChannel(emailAddress,channel,d){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(Mailbox,"channels",emailAddress,d).where((x=>x.datePublished!==null));if(channel===null||channel===void 0?void 0:channel.startsWith("@")){channel=channel.substring(1).toLowerCase()+"@%";q=q.where({channel},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.channel)))}const c=yield q.include((x=>x.emailAddress)).orderByDescending((x=>x.datePublished)).firstOrDefault({cacheVersion:CacheVersions.channelName,cacheSeconds:CacheTTL.seconds.oneHour});return c}))}};__decorate([Inject,__metadata("design:type",EntityService)],BlogService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],BlogService.prototype,"downloader",void 0);__decorate([Inject,__metadata("design:type",EngagementService)],BlogService.prototype,"engagementService",void 0);BlogService=__decorate([DISingleton()],BlogService);_export("default",BlogService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/blog-header/BlogHeader");System.register(["@web-atoms/core/dist/core/XNode","../../UrlService","./BlogHeader.global.css"],(function(_export,_context){"use strict";var XNode,UrlService;function BlogHeader({channel,search}){return XNode.create("header",{class:"blog-header"},XNode.create("div",null,XNode.create("span",{text:channel.emailAddress.name}),XNode.create("share-button",{class:"follow",href:`mailto:subscribe-${channel.emailAddress.emailAddress}?subject=subscribe`},"Follow")),search&&XNode.create("div",{class:"search"},XNode.create("input",{placeholder:"Search...",value:search})),XNode.create("div",{"data-layout":"row"},XNode.create("a",{href:UrlService.toSectionUrl(channel,"photos")},"Photos"),XNode.create("a",{href:UrlService.toSectionUrl(channel,"videos")},"Videos")))}_export("default",BlogHeader);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_BlogHeaderGlobalCss){}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/BlogImageService");System.register(["tslib","@web-atoms/core/dist/di/Inject","../../services/EntityService","@web-atoms/core/dist/di/DISingleton","../../common/apiPath","@social-mail/social-mail-client/content/images/svg/logo/logo-orange.svg","../../common/CDN"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,DISingleton,apiPath,orangeLogo,CDN,BlogImageService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_socialMailSocialMailClientContentImagesSvgLogoLogoOrangeSvg){orangeLogo=_socialMailSocialMailClientContentImagesSvgLogoLogoOrangeSvg.default},function(_commonCDN){CDN=_commonCDN.CDN}],execute:function(){BlogImageService=class BlogImageService{getImage(ce){return __awaiter(this,void 0,void 0,(function*(){const file=ce.previewFile;if(file){return CDN.toCDNUrl(apiPath(`/social-mail/c/d/${location.hostname}/webp(700)/${file.postID}/${file.appFileID}/${file.name}/${file.name}.700.webp`))}return orangeLogo}))}};__decorate([Inject,__metadata("design:type",EntityService)],BlogImageService.prototype,"entityService",void 0);BlogImageService=__decorate([DISingleton()],BlogImageService);_export("default",BlogImageService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/PostList");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../services/EntityService","@web-atoms/core/dist/core/XNode","../UrlService","@web-atoms/core/dist/core/Bind","@social-mail/social-mail-client/content/images/gif/loader.gif","../BlogImageService","../../../common/cache/CacheTTL","../../../model/model","./PostList.global.css"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,AtomRepeater,EntityService,XNode,UrlService,Bind,loaderImage,BlogImageService,CacheTTL,ChannelEmail,PostList,cacheVersion;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_socialMailSocialMailClientContentImagesGifLoaderGif){loaderImage=_socialMailSocialMailClientContentImagesGifLoaderGif.default},function(_BlogImageService){BlogImageService=_BlogImageService.default},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_modelModel){ChannelEmail=_modelModel.ChannelEmail},function(_PostListGlobalCss){}],execute:function(){cacheVersion="1a";_export("default",PostList=class PostList extends AtomRepeater{constructor(app,e=document.createElement("post-list")){super(app,e);this.pushInit()}init(){return __awaiter(this,void 0,void 0,(function*(){this.headerRenderer=text=>XNode.create("header",{text});this.setHeader();this.itemRenderer=x=>XNode.create("div",null,XNode.create("img",{src:Bind.oneTimeAsync((()=>this.blogImageService.getImage(x)),loaderImage)}),XNode.create("a",{href:UrlService.toBlogUrl(x),title:x.email.subject,text:x.email.subject}));const q=this.entityService.query(ChannelEmail,"channelEmails").where((x=>x.isThread===true)).include((x=>[x.email,x.previewFile,x.mailbox.emailAddress]));const posts=yield this.query(q);this.items=posts.items}))}setHeader(){this.header="Popular Posts"}query(q){return q.orderByDescending((x=>x.engagementCount)).toPagedList({size:5,cacheVersion,cacheSeconds:CacheTTL.seconds.fifteenMinutes})}});__decorate([InjectProperty,__metadata("design:type",EntityService)],PostList.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",BlogImageService)],PostList.prototype,"blogImageService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/RecentPosts");System.register(["./PostList"],(function(_export,_context){"use strict";var PostList,RecentPosts;_export("default",void 0);return{setters:[function(_PostList){PostList=_PostList.default}],execute:function(){_export("default",RecentPosts=class RecentPosts extends PostList{setHeader(){this.header="Recent Posts"}query(q){return q.orderByDescending((x=>x.datePublished)).toPagedList({size:5})}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/TagCloud");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../services/EntityService","../../../model/model","@web-atoms/core/dist/core/XNode","../UrlService","../../../common/cache/CacheTTL","../styles/tag-cloud.global.css"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,AtomRepeater,EntityService,MailboxTag,XNode,UrlService,CacheTTL,TagCloud,cacheVersion;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){MailboxTag=_modelModel.MailboxTag},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_stylesTagCloudGlobalCss){}],execute:function(){cacheVersion="1a";_export("default",TagCloud=class TagCloud extends AtomRepeater{constructor(app,e=document.createElement("tag-cloud")){super(app,e);this.pushInit()}init(){return __awaiter(this,void 0,void 0,(function*(){const tags=yield this.entityService.query(MailboxTag,"channelTags").include((x=>[x.tag,x.mailbox.emailAddress])).where((x=>x.count>0)).orderByDescending((x=>x.count)).toPagedList({size:20,cacheVersion,cacheSeconds:CacheTTL.seconds.fifteenMinutes});this.itemRenderer=x=>XNode.create("a",{href:UrlService.toTagUrl(x),text:`#${x.tag.name}`});this.items=tags.items;const first=tags.items[0];if(!first){return}this.footer=true;this.footerRenderer=()=>XNode.create("a",{href:UrlService.toSectionUrl(first.mailbox,"tags")},"More...")}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],TagCloud.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/UpcomingEvents");System.register(["./PostList","@web-atoms/core/dist/core/XNode","../UrlService","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var PostList,XNode,UrlService,DateTime,UpcomingEvents;_export("default",void 0);return{setters:[function(_PostList){PostList=_PostList.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("default",UpcomingEvents=class UpcomingEvents extends PostList{constructor(){super(...arguments);this.channel=null}setHeader(){this.header="Events";this.headerRenderer=text=>XNode.create("header",null,XNode.create("a",{href:UrlService.toCalendarUrl(this.channel)},"Events"))}query(q){const{now}=DateTime;return q.where({now},(p=>x=>x.email.mailboxContactEvents.some((a=>a.startDate>p.now)))).orderByDescending((x=>x.datePublished)).toPagedList({size:5})}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/Loader");System.register(["@web-atoms/core/dist/core/XNode","@social-mail/social-mail-client/content/images/gif/loader.gif"],(function(_export,_context){"use strict";var XNode,loaderImage;function Loader(){return XNode.create("div",{"data-position":"absolute-fill","data-layout":"center-all"},XNode.create("img",{src:loaderImage}))}_export("default",Loader);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_socialMailSocialMailClientContentImagesGifLoaderGif){loaderImage=_socialMailSocialMailClientContentImagesGifLoaderGif.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/pages/BaseChannelPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../services/EntityService","../BlogService","../controls/blog-header/BlogHeader","../controls/RecentPosts","../controls/TagCloud","../controls/UpcomingEvents","../controls/PostList","../../../common/controls/Loader"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,ContentPage,EntityService,BlogService,BlogHeader,RecentPosts,TagCloud,UpcomingEvents,PopularPosts,Loader,BaseChannelPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_BlogService){BlogService=_BlogService.default},function(_controlsBlogHeaderBlogHeader){BlogHeader=_controlsBlogHeaderBlogHeader.default},function(_controlsRecentPosts){RecentPosts=_controlsRecentPosts.default},function(_controlsTagCloud){TagCloud=_controlsTagCloud.default},function(_controlsUpcomingEvents){UpcomingEvents=_controlsUpcomingEvents.default},function(_controlsPostList){PopularPosts=_controlsPostList.default},function(_commonControlsLoader){Loader=_commonControlsLoader.default}],execute:function(){_export("default",BaseChannelPage=class BaseChannelPage extends ContentPage{constructor(){super(...arguments);this.channel=null}set route(v){}init(){return __awaiter(this,void 0,void 0,(function*(){const{channel}=this.parameters;this.renderer=XNode.create("div",null);this.channel=yield this.blogService.getChannel(void 0,channel,void 0);document.title="Social "+this.channel.emailAddress.emailAddress;this.renderer=XNode.create("div",null,XNode.create(Loader,null));this.renderer=XNode.create("section",{"data-blog-list":"blog-list"},this.renderHeader(),yield this.renderBody(),XNode.create("aside",null,XNode.create(TagCloud,null),XNode.create(UpcomingEvents,{channel:this.channel}),XNode.create(PopularPosts,null),XNode.create(RecentPosts,null)),XNode.create("footer",null))}))}renderHeader(){return XNode.create(BlogHeader,{channel:this.channel})}});__decorate([InjectProperty,__metadata("design:type",EntityService)],BaseChannelPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",BlogService)],BaseChannelPage.prototype,"blogService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/pages/ChannelCalendarPage");System.register(["tslib","../../../model/model","@web-atoms/core/dist/core/XNode","../../../common/cache/CacheTTL","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Calendar","@web-atoms/web-controls/dist/basic/TimeEditor","../../../common/Mailto","../UrlService","./BaseChannelPage","../styles/channel-calendar.global.css"],(function(_export,_context){"use strict";var __awaiter,MailboxContactEvent,XNode,CacheTTL,AtomControl,DateTime,TimeSpan,Bind,Calendar,TimeEditor,Mailto,UrlService,BaseChannelPage,ChannelCalendarPage,cacheVersion,cacheSeconds,renderChildren,toVisibleDate;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_modelModel){MailboxContactEvent=_modelModel.MailboxContactEvent},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsDateTimeDistTimeSpan){TimeSpan=_webAtomsDateTimeDistTimeSpan.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicCalendar){Calendar=_webAtomsWebControlsDistBasicCalendar.default},function(_webAtomsWebControlsDistBasicTimeEditor){TimeEditor=_webAtomsWebControlsDistBasicTimeEditor.default},function(_commonMailto){Mailto=_commonMailto.Mailto},function(_UrlService){UrlService=_UrlService.UrlService},function(_BaseChannelPage){BaseChannelPage=_BaseChannelPage.default},function(_stylesChannelCalendarGlobalCss){}],execute:function(){cacheVersion="v1";cacheSeconds=CacheTTL.seconds.fifteenMinutes;renderChildren=AtomControl.registerProperty("data-render","children",((c,e,v)=>{e.innerHTML="";if(!v){return}c.render(XNode.create("div",null," ",...v," "),e,c)}));toVisibleDate=date=>{if(!date){return""}const month=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][date.month];return`${date.year}-${month}-${date.day}`};_export("default",ChannelCalendarPage=class ChannelCalendarPage extends BaseChannelPage{constructor(){super(...arguments);this.selectedDate=null;this.calendarEvents=new Map;this.time=TimeSpan.parse("11:00 AM")}renderBody(){return __awaiter(this,void 0,void 0,(function*(){const now=DateTime.now;this.month=now.month;this.year=now.year;document.title="Social "+this.channel.emailAddress.emailAddress+" Calendar";return XNode.create("section",{"data-width":"100%"},XNode.create("div",{"attr-calendar-view":"calendar-view",update:Bind.oneWayAsync(((c,e,cancelToken)=>this.loadEvents(this.year,this.month,cancelToken)))},XNode.create(Calendar,{year:Bind.twoWaysImmediate((()=>this.year)),month:Bind.twoWaysImmediate((()=>this.month)),value:Bind.twoWaysImmediate((()=>this.selectedDate)),dateRenderer:x=>XNode.create("div",null,XNode.create("label",{text:x.label}),XNode.create("mini-calendar-events",Object.assign({},renderChildren(Bind.source({self:this,x},(s=>this.renderEvent(s.source.self.calendarEvents,s.source.x.value)))))))}),XNode.create("vflex-div",{"style-display":Bind.oneWay((()=>!!this.selectedDate))},XNode.create("calendar-events",Object.assign({},renderChildren(Bind.source({self:this},(s=>this.renderEventItem(s.source.self.calendarEvents,s.source.self.selectedDate)))))),XNode.create("details",null,XNode.create("summary",null,"Create New"),XNode.create("div",{"data-layout":"row"},"Create Event at",XNode.create(TimeEditor,{time:Bind.twoWaysImmediate((()=>this.time))}),XNode.create("share-button",{href:Bind.oneWay((()=>this.createEvent(this.selectedDate,this.time)))},"Create Event"))))))}))}createEvent(date,time){if(!date){return""}let l="";const d=date.date.add(time);const body=`\r\nEvent on: 📅: ${d.toJSON()}\r\n${l}`;return Mailto.create({to:this.channel.emailAddress.emailAddress,body})}renderEvent(calendarEvents,date){if(!date){return null}const items=calendarEvents.get(date.date.msSinceEpoch);if(!items){return null}return items.map((x=>XNode.create("a",{href:UrlService.toBlogUrl({emailID:x.emailID,email:x.email,mailbox:x.mailbox}),text:x.title,title:x.title})))}renderEventItem(calendarEvents,date){if(!date){return null}const items=calendarEvents.get(date.date.msSinceEpoch);if(!items){return null}return items.map((x=>XNode.create("post-item",null,XNode.create("span",{text:"📅"}),XNode.create("span",{text:toVisibleDate(date)}),XNode.create("a",{href:UrlService.toBlogUrl({emailID:x.emailID,email:x.email,mailbox:x.mailbox}),text:x.title}))))}loadEvents(year,month,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const events=yield this.entityService.query(MailboxContactEvent,"calendarMonth",year,month).include((x=>[x.email,x.mailbox.emailAddress])).orderBy((x=>x.startDate)).toArray({cancelToken,cacheVersion,cacheSeconds});const dayMap=new Map;let start=null;for(const element of events){const key=element.startDate.date.msSinceEpoch;let values=dayMap.get(key);start!==null&&start!==void 0?start:start=element.startDate.date;if(!values){values=[];dayMap.set(key,values)}values.push(element)}this.calendarEvents=dayMap;if(start){this.selectedDate=start}this.entityService.postPageReady();return}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/FileUrlService");System.register(["@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var AtomControl,FetchBuilder,FileUrlService,AnimatedImgSrc;return{setters:[function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){_export("FileUrlService",FileUrlService={downloadUrl(file){const url=file.url;return url.replace("/view/","/download/")},pdf(file){const url=file.url;return url.replace("/view/","/pdf/")+".pdf"},html(file){const url=file.url;return url.replace("/view/","/html/")+".html"},webP(file,size=300){const webp=`/webp(${300})/`;const url=file.url.replace("/view/",webp).replace("/webm-branded/",webp);return url+`.${size}.webp`},webM(file){const url=file.url;return url.replace("/view/",`/webm/`)+`.webm`},webMBranded(file){const url=file.url;return url.replace("/view/",`/webm-branded/`)+`.branded.webm`}});_export("AnimatedImgSrc",AnimatedImgSrc=AtomControl.registerProperty("animated","src",((c,e,v)=>{e.setAttribute("src",v);if(!v){return}const i=setInterval((()=>{const f=FetchBuilder.get(v).asBlob().then((svg=>{const url=URL.createObjectURL(svg);const lastUrl=e.getAttribute("src");if(lastUrl.startsWith("blob:")){URL.revokeObjectURL(lastUrl)}e.setAttribute("src",url)}))}),5e3);c.disposables.add((()=>{clearInterval(i)}))})))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/Pager");System.register(["@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var XNode;function*range(start,end,url){for(let index=start;index<=end;index++){yield XNode.create("a",{href:url(index)},index.toString())}}function Pager({current,end,step=3,url=void 0}){if(end<0){return XNode.create("div",null)}if(end<=step){return XNode.create("div",{"data-layout":"row"},XNode.create("a",{href:url(0)},"First"),...Array.from(range(1,end,url)))}if(current){if(current>step){if(current<end-step){return XNode.create("div",{"data-layout":"row"},XNode.create("a",{href:url(0)},"First"),"...",...Array.from(range(current-step,current+step,url)),"...",XNode.create("a",{href:url(end)},"Last"))}return XNode.create("div",{"data-layout":"row"},XNode.create("a",{href:url(0)},"First"),"...",...Array.from(range(current-step,end,url)),XNode.create("a",{href:url(end)},"Last"))}return XNode.create("div",{"data-layout":"row"},XNode.create("a",{href:url(0)},"First"),...Array.from(range(1,current+step,url)),"...",XNode.create("a",{href:url(end)},"Last"))}return XNode.create("div",{"data-layout":"row"},...Array.from(range(1,end,url)),XNode.create("a",{href:url(end)},"Last"))}_export("default",Pager);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/pages/video/ChannelVideosPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","../../../../model/model","../../../../services/EntityService","@web-atoms/core/dist/core/XNode","../../UrlService","../../../../common/Sql","../../BlogService","../BaseChannelPage","./ChannelVideoPage.local.css","../../../../common/FileUrlService","../../controls/Pager"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,AppFile,EntityService,XNode,UrlService,Sql,BlogService,BaseChannelPage,FileUrlService,Pager,ChannelVideosPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_modelModel){AppFile=_modelModel.AppFile},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_commonSql){Sql=_commonSql.Sql},function(_BlogService){BlogService=_BlogService.default},function(_BaseChannelPage){BaseChannelPage=_BaseChannelPage.default},function(_ChannelVideoPageLocalCss){},function(_commonFileUrlService){FileUrlService=_commonFileUrlService.FileUrlService},function(_controlsPager){Pager=_controlsPager.default}],execute:function(){_export("default",ChannelVideosPage=class ChannelVideosPage extends BaseChannelPage{constructor(){super(...arguments);this.channel=null;this.start=0;this.size=50}renderBody(){return __awaiter(this,void 0,void 0,(function*(){const videos=yield this.loadVideos();const items=videos.items;document.title="Videos "+this.channel.emailAddress.emailAddress;this.element.className="channel-video-page";return XNode.create("section",{"data-width":"100%"},XNode.create("video-grid",null,...items.map((m=>XNode.create("a",{"data-click-event":"route",href:UrlService.toBlogUrl({emailID:m.emailID,email:m.email,mailbox:this.channel})},XNode.create("video-preview",null,XNode.create("label",{text:m.email.subject}),XNode.create("img",{src:FileUrlService.webP(m,640)})))))),XNode.create(Pager,{current:this.start,end:Math.floor(videos.total/this.size)-1,url:x=>UrlService.toSectionUrl(this.channel,"videos",x)}))}))}loadVideos(){this.entityService.postPageReady();return this.entityService.query(AppFile,"channelFiles",this.channel.mailboxID).where((x=>Sql.text.like(x.contentType,"video/%"))).include((x=>x.email)).orderByDescending((x=>x.appFileID)).toPagedList({start:this.start,size:3})}});__decorate([InjectProperty,__metadata("design:type",EntityService)],ChannelVideosPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",BlogService)],ChannelVideosPage.prototype,"blogService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/pages/photo/ChannelPhotosPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","../../../../model/model","../../../../services/EntityService","@web-atoms/core/dist/core/XNode","../../UrlService","../../../../common/Sql","../../BlogService","../BaseChannelPage","../../controls/Pager","./ChannelPhotosPage.local.css"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,AppFile,EntityService,XNode,UrlService,Sql,BlogService,BaseChannelPage,Pager,ChannelPhotosPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_modelModel){AppFile=_modelModel.AppFile},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_commonSql){Sql=_commonSql.Sql},function(_BlogService){BlogService=_BlogService.default},function(_BaseChannelPage){BaseChannelPage=_BaseChannelPage.default},function(_controlsPager){Pager=_controlsPager.default},function(_ChannelPhotosPageLocalCss){}],execute:function(){_export("default",ChannelPhotosPage=class ChannelPhotosPage extends BaseChannelPage{constructor(){super(...arguments);this.channel=null;this.start=0;this.size=50}renderBody(){return __awaiter(this,void 0,void 0,(function*(){var _a;this.element.setAttribute("page-type","photos");this.start=Number.parseInt((_a=this.parameters.start)!==null&&_a!==void 0?_a:0,10);const photos=yield this.loadPhotos();const items=photos.items;document.title="Photos "+this.channel.emailAddress.emailAddress;return XNode.create("section",{"data-width":"100%"},XNode.create("image-grid",null,...items.map((m=>XNode.create("img",{src:UrlService.toImageUrl(m,300),"attr-large-src":UrlService.toImageUrl(m,1600)})))),XNode.create(Pager,{current:this.start,end:Math.floor(photos.total/this.size)-1,url:x=>UrlService.toSectionUrl(this.channel,"photos",x)}))}))}loadPhotos(){this.entityService.postPageReady();return this.entityService.query(AppFile,"channelFiles",this.channel.mailboxID).where((x=>Sql.text.like(x.contentType,"image/%"))).orderByDescending((x=>x.appFileID)).toPagedList({start:this.start*this.size,size:this.size})}});__decorate([InjectProperty,__metadata("design:type",EntityService)],ChannelPhotosPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",BlogService)],ChannelPhotosPage.prototype,"blogService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/date/DateFormats");System.register(["@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var DateTime,DIVISIONS,DateFormats;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){DIVISIONS=[{amount:60,name:"seconds"},{amount:60,name:"minutes"},{amount:24,name:"hours"},{amount:7,name:"days"},{amount:4.34524,name:"weeks"},{amount:12,name:"months"},{amount:Number.POSITIVE_INFINITY,name:"years"}];_export("DateFormats",DateFormats={diff(d){if(!d){return""}if(!(d instanceof DateTime)){d=typeof d==="string"?new DateTime(d):DateTime.from(d)}const today=DateTime.now;let diff=today.diff(d);if(diff.totalMilliseconds<0){diff=d.diff(today)}if(diff.totalHours<=24){if(diff.totalSeconds<=180){return"now"}if(diff.totalMinutes<60){return Math.round(diff.totalMinutes)+"m"}return Math.round(diff.totalHours)+"h"}if(diff.totalDays<=30){return Math.round(diff.totalDays)+"d"}if(diff.totalDays<=365){return Math.round(diff.totalDays/30)+"mo"}return Math.round(diff.totalDays/365)+"yr"},withWeekDayAndTime(d,def=""){var _a;if(!d){return def}d=DateTime.from(d);return(_a=d===null||d===void 0?void 0:d.toLocaleString(navigator.language,{year:"numeric",month:"short",day:"numeric",weekday:"short",hour12:true,minute:"numeric",hour:"numeric"}))!==null&&_a!==void 0?_a:def},relative:{short(d,{suffix}={suffix:"ago"}){if(!d){return""}d=DateTime.from(d);const now=DateTime.now;if(now<d){return"in "+DateFormats.diff(d)}const diff=DateFormats.diff(d);if(diff==="now"){return"now"}if(!suffix){return diff}return diff+" "+suffix}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/image/ImageLoader");System.register(["@web-atoms/core/dist/web/controls/AtomControl","@social-mail/social-mail-client/content/images/gif/loader.gif"],(function(_export,_context){"use strict";var AtomControl,loaderImage,ImageLoader;return{setters:[function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_socialMailSocialMailClientContentImagesGifLoaderGif){loaderImage=_socialMailSocialMailClientContentImagesGifLoaderGif.default}],execute:function(){_export("ImageLoader",ImageLoader={src:AtomControl.registerProperty("image-loader","value",((c,e,v)=>{e.setAttribute("src",loaderImage);setTimeout((()=>e.setAttribute("src",v)),1)}))})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/MediaCarousel");System.register(["@web-atoms/core/dist/core/XNode","../../../common/controls/image/ImageLoader"],(function(_export,_context){"use strict";var XNode,ImageLoader;function MediaCarousel({email=void 0}){var _a;if(!((_a=email.attachments)===null||_a===void 0?void 0:_a.length)){return false}if(email.attachments.length===1){if(email.attachments[0].included){return false}}let children=[];for(const element of email.attachments){if(/video/i.test(element.contentType)){children.push(XNode.create("div",{"data-element":"preview"},XNode.create("video",{controls:"true",src:element.url})));continue}if(/image/i.test(element.contentType)){children.push(XNode.create("div",{"data-element":"preview"},XNode.create("img",Object.assign({},ImageLoader.src(element.url)))));continue}}if(children.length){if(children.length>1){children=[XNode.create("carousel-slider",{"data-element":"media"},...children)]}return XNode.create("div",{"data-element":"media"},children[0])}return XNode.create("div",{"data-element":"media"})}_export("default",MediaCarousel);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonControlsImageImageLoader){ImageLoader=_commonControlsImageImageLoader.ImageLoader}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/LimitedText");System.register(["tslib","@web-atoms/core/dist/core/XNode","../styles/limited-text.global.css"],(function(_export,_context){"use strict";var __rest,XNode,toggleDetails,setEventHandler;function LimitedText(_a,...nodes){var{text="",height=100}=_a,a=__rest(_a,["text","height"]);setEventHandler===null||setEventHandler===void 0?void 0:setEventHandler();const h=typeof height==="number"?`${height}px`:height;return XNode.create("div",Object.assign({"data-mode":"collapsed","data-max-height":h,"style-max-height":h,"data-limited-text":"limited-text"},a),text&&XNode.create("p",{text}),...nodes,XNode.create("div",{"style-top":h,"data-element":"more"},XNode.create("button",{class:"fa-solid fa-angles-up"})))}_export("default",LimitedText);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_stylesLimitedTextGlobalCss){}],execute:function(){toggleDetails=e=>{let start=e.target;if(e.defaultPrevented){return}start=start.parentElement;const container=start;start=start===null||start===void 0?void 0:start.parentElement;if(!start||start.getAttribute("data-limited-text")!=="limited-text"){return}e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();if(start.getAttribute("data-mode")==="collapsed"){start.setAttribute("data-mode","open");start.style.maxHeight="";container.style.top=""}else{const h=start.getAttribute("data-max-height");start.style.maxHeight=h;container.style.top=h;start.setAttribute("data-mode","collapsed")}};setEventHandler=()=>{document.body.addEventListener("click",toggleDetails);setEventHandler=null}}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/style/mergeStyle");System.register([],(function(_export,_context){"use strict";function newCSSStyleDeclaration(){const e=document.createElement("div");return e.style}function mergeStyle(...styles){var _a,_b;const s=newCSSStyleDeclaration();for(const iterator of styles){if(!iterator){continue}if(iterator instanceof CSSStyleDeclaration){for(let index=0;index<iterator.length;index++){const name=iterator[index];let value=(_a=iterator[name])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}s[name]=value}continue}for(const key in iterator){if(Object.prototype.hasOwnProperty.call(iterator,key)){const element=(_b=iterator[key])===null||_b===void 0?void 0:_b.toString();if(!element){continue}s[key]=element}}}return s}_export({newCSSStyleDeclaration,default:mergeStyle});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/dom/StyleHelper");System.register(["../style/mergeStyle"],(function(_export,_context){"use strict";var newCSSStyleDeclaration,StyleHelper,toStyle;_export("default",void 0);return{setters:[function(_styleMergeStyle){newCSSStyleDeclaration=_styleMergeStyle.newCSSStyleDeclaration}],execute:function(){toStyle=style=>{var _a;if(typeof style==="string"){const css=style;const cs=newCSSStyleDeclaration();cs.cssText=css;return cs}const s=newCSSStyleDeclaration();if(style instanceof CSSStyleDeclaration){return style}for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=(_a=style[key])===null||_a===void 0?void 0:_a.toString();if(element===void 0||element===null||element===""){continue}s[key]=element}}return s};_export("default",StyleHelper=class StyleHelper{static styleToString(style,props){var _a;if(!style){return}const cs=toStyle(style);if(props){const ps=toStyle(props);for(let index=0;index<ps.length;index++){const key=ps[index];let value=(_a=ps[key])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}cs[key]=value}}const allKeys=[];for(let index=0;index<cs.length;index++){const key=cs[index];allKeys.push(key)}for(const key of allKeys){if(!cs[key]){cs.removeProperty(key)}}return cs.cssText}})}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/DomToString");System.register(["@web-atoms/core/dist/core/XNode","./dom/StyleHelper"],(function(_export,_context){"use strict";var XNode,StyleHelper;function DomToString(node){const div=document.createElement("div");DomToElement(div,XNode.create("div",null,node));return div.innerHTML}function DomToElement(div,node){var _a;while(typeof node.name==="function"){node=node.name(node.attributes,...node.children)}const a=node.attributes;if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){let element=a[key];if(element===null||element===void 0){continue}if(typeof element==="object"&&key==="style"){element=StyleHelper.styleToString(element)}else{element=element.toString()}if(!element){continue}switch(key){case"text":div.textContent=element;continue;case"innerHTML":div.innerHTML=element;continue}if(key.startsWith("styler-")){div.setAttribute(key,element);continue}if(key.startsWith("style")&&key.length>5){div.style[key.substring(5)]=element;continue}if(key.startsWith("data")&&key.length>4){if(key.indexOf("-")!==-1){div.setAttribute(key,element);continue}div.dataset[key.substring(4)]=element;continue}div.setAttribute(key,element)}}}if(!((_a=node.children)===null||_a===void 0?void 0:_a.length)){return}for(let iterator of node.children){if(iterator===false||iterator===void 0||iterator===null){continue}if(typeof iterator!=="object"){div.appendChild(document.createTextNode(iterator.toString()));continue}while(typeof iterator.name==="function"){iterator=iterator.name(iterator.attributes,...iterator.children)}const child=document.createElement(iterator.name);div.appendChild(child);DomToElement(child,iterator)}}_export({default:DomToString,DomToElement});return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_domStyleHelper){StyleHelper=_domStyleHelper.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/events/CommonEvents");System.register(["@web-atoms/core/dist/core/EventScope"],(function(_export,_context){"use strict";var EventScope,CommonEvents;return{setters:[function(_webAtomsCoreDistCoreEventScope){EventScope=_webAtomsCoreDistCoreEventScope.default}],execute:function(){_export("CommonEvents",CommonEvents={onThreadMarkedAsRead:EventScope.create(),onThreadMarkedAsBlocked:EventScope.create(),onDraftDeleted:EventScope.create(),onFileDeleted:EventScope.create(),onEmailScheduled:EventScope.create(),onEmailUnscheduled:EventScope.create(),onFileChanged:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/commands/MailAppEvents");System.register(["@web-atoms/core/dist/core/EventScope"],(function(_export,_context){"use strict";var EventScope,MailAppEvents;return{setters:[function(_webAtomsCoreDistCoreEventScope){EventScope=_webAtomsCoreDistCoreEventScope.default}],execute:function(){_export("MailAppEvents",MailAppEvents={mailboxContactUpdated:EventScope.create(),refreshMailboxContacts:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/fileUrl");System.register(["./apiPath"],(function(_export,_context){"use strict";var apiPath,viewFileUrl,fileUrl,imageUrl,srcSetUrl,signedImageUrl,signedUrl,storeFileUrl;return{setters:[function(_apiPath){apiPath=_apiPath.apiPath}],execute:function(){_export("viewFileUrl",viewFileUrl=(site,file)=>apiPath(`/api/site/asset/view/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${file.name}`));_export("fileUrl",fileUrl=(file,{action="download",args=void 0,fileName="",ext=""}={})=>{let name=encodeURIComponent(file.name);if(args){if(Array.isArray(args)){args=args.join(",")}ext="."+args+ext;action=action+"("+args+")"}if(ext){fileName=name+ext}if(fileName){name+="/"+fileName}const{emailID,appFileID,fileContentID}=file;if(emailID){return apiPath(`/api/emails/attachment/${action}/${emailID}/${appFileID}/${name}/`)}return apiPath(`/api/files/${action}/${appFileID}/${fileContentID}/${name}`)});fileUrl.webp=(file,size=300)=>fileUrl(file,{action:"webp",args:size,ext:".webp"});fileUrl.webm=file=>fileUrl(file,{action:"webm",ext:".webm"});fileUrl.pdf=file=>fileUrl(file,{action:"pdf",ext:".pdf"});fileUrl.html=file=>fileUrl(file,{action:"html",ext:".html"});_export("imageUrl",imageUrl=(site,file,size)=>{const name=encodeURIComponent(file.name);if(!size){return apiPath(`/api/site/asset/webp/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${name}.webp`)}return apiPath(`/api/site/asset/webp(${size})/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${name}.${size}.webp`)});_export("srcSetUrl",srcSetUrl=(site,file,imgUrlFunc=imageUrl)=>{const small=imgUrlFunc(site,file,480)+" 640w";const medium=imgUrlFunc(site,file,720)+" 1024w";const large=imgUrlFunc(site,file)+" 1256w";return`${small},${medium},${large}`});_export("signedImageUrl",signedImageUrl=({fileID=0,appFileID=fileID,fileContentID=void 0,signed=void 0},size)=>apiPath(`/api/signed/webp(${size})/${appFileID}/${fileContentID}/${signed}/file.${size}.webp`));_export("signedUrl",signedUrl=({fileID=0,appFileID=fileID,fileContentID=void 0,signed=void 0})=>apiPath(`/api/signed/download/${appFileID}/${fileContentID}/${signed}/file.dat`));_export("storeFileUrl",storeFileUrl=(rootFolderID,file,type="download",name=file.name)=>apiPath(`/api/store/file/${type}/${rootFolderID}/${file.appFileID}/${file.fileContentID}/${name}`))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","@web-atoms/email-dom/dist/DomToString","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/date-time/dist/DateTime","../../../../common/events/CommonEvents","../../../commands/MailAppEvents","../../../../common/fileUrl","../../../../common/cache/CacheTTL","../../../../common/controls/Loader","./MsgStyle.global.css","@web-atoms/core/dist/services/FetchBuilder","../../../../common/cache/CacheVersions"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Email,EmailRecipient,MailboxContactEmail,Sql,DomToString,XNode,AtomControl,AncestorEnumerator,descendentIterator,DateTime,CommonEvents,MailAppEvents,fileUrl,CacheTTL,Loader,FetchBuilder,CacheVersions,msgStyleUrl,msgStyle,renderMailPromise,ConversationService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Email=_modelModel.Email;EmailRecipient=_modelModel.EmailRecipient;MailboxContactEmail=_modelModel.MailboxContactEmail},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator;descendentIterator=_webAtomsCoreDistWebCoreAtomUI.descendentIterator},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_commandsMailAppEvents){MailAppEvents=_commandsMailAppEvents.MailAppEvents},function(_commonFileUrl){fileUrl=_commonFileUrl.fileUrl},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_commonControlsLoader){Loader=_commonControlsLoader.default},function(_MsgStyleGlobalCss){},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_commonCacheCacheVersions){CacheVersions=_commonCacheCacheVersions.default}],execute:function(){msgStyleUrl=_context.import("./MsgStyle.global.css");msgStyle=(()=>__awaiter(void 0,void 0,void 0,(function*(){const{default:path}=yield msgStyleUrl;return FetchBuilder.get(path).asText()})))();_export("renderMailPromise",renderMailPromise=AtomControl.registerProperty("data-html","html",((c,e,value)=>__awaiter(void 0,void 0,void 0,(function*(){var _a,_b,_c,_d,_e,_f;if(!value){e.innerHTML="";return}const{thread,email=thread.email}=value;const mail=email;let html=mail.htmlBody;if(!html){c.render(XNode.create("div",null,XNode.create("div",{"style-height":"40vh"},XNode.create(Loader,null))),e,c);const es=c.app.resolve(EntityService);mail.htmlBody=html=yield es.run(Email,"getBody",email,{cacheSeconds:CacheTTL.seconds.oneMonth,cacheVersion:CacheVersions.email}).asText();e.innerHTML=""}const msg=document.createElement("div");if(!html){html!==null&&html!==void 0?html:html=mail.textBody;for(const iterator of html.split("\n")){const p=document.createElement("p");p.appendChild(document.createTextNode(iterator));msg.appendChild(p)}e.appendChild(msg);return}const domParser=new DOMParser;const doc=domParser.parseFromString(html,"text/html");let firstVisibleElement=null;for(const node of descendentIterator(doc.body)){if(!firstVisibleElement&&node.nodeType===Node.TEXT_NODE){const{parentElement}=node;if(parentElement.tagName!=="STYLE"&&((_a=node.nodeValue)===null||_a===void 0?void 0:_a.trim())){firstVisibleElement||(firstVisibleElement=node.parentElement)}}if(node.nodeType!==Node.ELEMENT_NODE){continue}const iterator=node;let cid=iterator.getAttribute("data-content-id");if(cid){const src=iterator.getAttribute("src");if(!src.includes("/social-mail/c/e/")){const a=(_b=mail.attachments)===null||_b===void 0?void 0:_b.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",a.url);a.included=true}}}if(/^(IMG|VIDEO)$/.test(iterator.tagName)){firstVisibleElement||(firstVisibleElement=iterator);const src=iterator.getAttribute("src");iterator.setAttribute("controls","true");iterator.setAttribute("crossorigin","anonymous");if(iterator.style.maxWidth){iterator.style.removeProperty("max-width")}if(src){if(src.startsWith("cid:")){cid=src.substring(4);const cidBrackets=`<${cid}>`;const a=(_c=mail.attachments)===null||_c===void 0?void 0:_c.find((x=>x.contentID===cid||x.contentID===cidBrackets));if(a){iterator.setAttribute("src",(_d=a.url)!==null&&_d!==void 0?_d:fileUrl(a));a.included=true}}if(/^http\:\/\//i.test(src)){iterator.setAttribute("src",src.substring(5))}}continue}if(iterator.tagName==="A"){iterator.target="_blank"}}let start=doc.body.firstChild;while(start){const next=start.nextSibling;start.remove();msg.appendChild(start);start=next}const container=document.createElement("msg-root");msg.setAttribute("msg","msg");container.appendChild(msg);const root=(_e=AncestorEnumerator.find(e,(x=>x.tagName==="CHANNEL-POST"||x.hasAttribute("data-msg-container"))))!==null&&_e!==void 0?_e:e;for(const a of Array.from(msg.querySelectorAll(`a[hash-tag]`))){const tag=a.getAttribute("hash-tag");const tokens=tag.toLowerCase().split("/");const[name,price,currency]=tokens;if(name!=="#price"){continue}email.price=price;email.currency=currency;root.setAttribute("enable-buy","true");root.setAttribute("price",tokens[2]);root.setAttribute("currency",tokens[1])}if(/img|video/i.test(firstVisibleElement===null||firstVisibleElement===void 0?void 0:firstVisibleElement.tagName)){root.setAttribute("has-poster","true")}const included=(_f=email.attachments)===null||_f===void 0?void 0:_f.every((x=>x.included));if(included){(root!==null&&root!==void 0?root:e).setAttribute("hide-media","1")}if(thread&&!thread.timeRead&&thread.mailboxID){setTimeout((()=>{if(!e.isConnected){return}const timeRead=DateTime.now;thread.timeRead=timeRead;const es=c.app.resolve(EntityService);es.run(MailboxContactEmail,"markAsRead",thread).asJson().then((()=>{CommonEvents.onThreadMarkedAsRead.dispatchEvent(thread)}),console.error)}),1e3)}if(window.previewMode){e.appendChild(container);return}const shadow=e.attachShadow({mode:"open"});const link=document.createElement("link");link.rel="stylesheet";link.href=(yield msgStyleUrl).default;shadow.appendChild(link);shadow.appendChild(container);setTimeout((()=>{if(msg.scrollWidth>msg.offsetWidth){msg.style.scale=Math.max(.5,msg.offsetWidth/msg.scrollWidth)+"";msg.style.transformOrigin="top left"}}),100);return})))));ConversationService=class ConversationService{closeAllThreads(contact){return __awaiter(this,void 0,void 0,(function*(){contact.dateUpdated=DateTime.now;contact.closeAllConversations=true;yield this.entityService.save(contact,(c=>c));contact.openThreads=0;MailAppEvents.mailboxContactUpdated.dispatchEvent(contact)}))}closePermanently(contact){return __awaiter(this,void 0,void 0,(function*(){contact.autoClose=!contact.autoClose;contact.dateUpdated=DateTime.now;yield this.entityService.save(contact,(c=>c));MailAppEvents.mailboxContactUpdated.dispatchEvent(contact)}))}getDraft(_a){return __awaiter(this,arguments,void 0,(function*({mailboxID,emailAddressID,email}){const draft="draft";return yield this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID,draft},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.email.status===p.draft)).orderByDescending((x=>x.emailID)).include((x=>[x.email.recipients,x.email.attachments])).firstOrDefault()}))}draft(email_1,mailboxContacts_1){return __awaiter(this,arguments,void 0,(function*(email,mailboxContacts,create=false,saveAttachments=true,cancelToken){var _a,_b;if(email===null||email===void 0?void 0:email.emailID){email.subject||(email.subject="");email.dateUpdated=DateTime.now;let cloner=this.entityService.cloner(Object.assign({},email));if(saveAttachments){cloner=cloner.include((x=>x.attachments))}cloner=cloner.include((x=>x.recipients)).include((x=>x.threadContacts));yield this.entityService.save(cloner.copy);return email}if(create&&email){const recipients=(_a=email.recipients)!==null&&_a!==void 0?_a:email.recipients=[];const threads=(_b=email.threadContacts)!==null&&_b!==void 0?_b:email.threadContacts=[];if(!email.senderID){throw new Error("SenderID is not set")}email.status="draft";for(const{mailboxID,emailAddressID}of mailboxContacts){if(!recipients.some((r=>r.emailAddressID===emailAddressID))){recipients.push(EmailRecipient.create({emailAddressID}))}if(!threads.some((r=>r.mailboxID===mailboxID))){threads.push(MailboxContactEmail.create({mailboxID,emailAddressID}))}}yield this.entityService.save(email,(c=>c.include((x=>x.recipients)).include((x=>x.threadContacts))))}return email}))}list(_a){return __awaiter(this,arguments,void 0,(function*({searchItems=null,mailboxID,emailAddressID,start=0,size=100,version=0,cancelToken}){var _b,_c;let q=this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.engagement===null));if(searchItems){for(const{tag,text}of searchItems){if(tag){q=q.where({tag:tag.tagID},(p=>x=>x.email.emailTags.some((t=>t.tagID===p.tag))));continue}let search=text;if(!/\%/.test(search)){search=`%${search}%`}q=q.where({search},(p=>x=>Sql.text.iLike(x.email.subject,p.search)||Sql.text.iLike(x.email.textBody,p.search)||x.email.attachments.some((a=>Sql.text.iLike(a.fileContent.textDocument.searchable,p.search)))))}}const emails=yield q.include((x=>[x.email.recipients.forEach((r=>r.emailAddress)),x.email.attachments,x.email.senderUser,x.email.senderEmail])).orderByDescending((x=>x.dateReceived)).toPagedList({start,size,cancelToken});for(const mce of emails.items){const{email}=mce;(_b=email.htmlBody)!==null&&_b!==void 0?_b:email.htmlBody="";(_c=email.textBody)!==null&&_c!==void 0?_c:email.textBody="";email.engagements=[]}return emails}))}stopEmail(mce){return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;email.status="draft";yield this.entityService.save(email,(c=>c));CommonEvents.onEmailUnscheduled.dispatchEvent(mce)}))}renderText(html){const div=document.createElement("div");div.innerHTML=html;return div.textContent}renderHtml(html){const div=document.createElement("div");div.innerHTML=html;return div.innerHTML}toHtml(textBody){return DomToString(XNode.create("div",null,...textBody.split("\n").map((p=>XNode.create("p",{text:p})))))}block(thread){return __awaiter(this,void 0,void 0,(function*(){thread.blocked=!thread.blocked;const cloner=this.entityService.cloner(thread).copy;yield this.entityService.save(cloner);CommonEvents.onThreadMarkedAsBlocked.dispatchEvent(thread)}))}delete(email){return __awaiter(this,void 0,void 0,(function*(){const{emailID,status}=email;yield this.entityService.delete(Email.create({emailID,status}));CommonEvents.onDraftDeleted.dispatchEvent(email)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ConversationService.prototype,"entityService",void 0);ConversationService=__decorate([DISingleton()],ConversationService);_export("default",ConversationService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/channel-post/ChannelPost");System.register(["@web-atoms/core/dist/core/XNode","../../../../model/model","../../../../common/date/DateFormats","../MediaCarousel","@web-atoms/web-controls/dist/basic/LimitedText","../../../../web/page/mails/service/ConversationService","@web-atoms/core/dist/core/types","./ChannelPost.global.css","../../UrlService"],(function(_export,_context){"use strict";var XNode,EmailEngagement,DateFormats,MediaCarousel,LimitedText,renderMailPromise,UMD,UrlService,showFullDetails,commentIcon,thumbsUpIcon,moveUpEngagement;function ChannelPost(email){var _a;moveUpEngagement(thumbsUpIcon,email.email);const{engagements}=email.email;const full=email[showFullDetails];return XNode.create("channel-post",{"has-attachments":((_a=email.email.attachments)===null||_a===void 0?void 0:_a.length)>0},XNode.create("header",null,XNode.create("post-author",null,email.email.senderName),full?XNode.create("post-title",null,email.email.subject):XNode.create("a",{href:UrlService.toBlogUrl(email)},XNode.create("post-title",null,email.email.subject)),XNode.create("post-date",{title:DateFormats.withWeekDayAndTime(email.datePublished)},DateFormats.relative.short(email.datePublished))),XNode.create(MediaCarousel,{email:email.email}),full?XNode.create("post-description",Object.assign({"data-element":"description"},renderMailPromise({email:email.email}))):XNode.create(LimitedText,{"data-element":"description"},XNode.create("post-description",Object.assign({},renderMailPromise({email:email.email})))),XNode.create("footer",null,...engagements.map(((x,index)=>XNode.create("span",{"data-click-event":x.engagement===commentIcon?"view-comments":"engagement-click","data-element":"engagements","data-item-path":`email:$.email, engagement: $.email.engagements.${index}`,title:"Share your reaction"},XNode.create("emoji-span",{text:x.engagement}),x.count>0&&XNode.create("span",{text:x.count})))),XNode.create("button",{"data-element":"engage",title:"React","data-click-event":"react-email"},XNode.create("inline-svg",{"attr-src":UMD.resolvePath("@social-mail/social-mail-client/content/images/icons/face-plus.svg"),"style-max-height":"15px"})),email.email.replyCount&&XNode.create("button",{title:"Comments","data-click-event":"view-comments","data-element":"engage"},XNode.create("inline-svg",{"attr-src":UMD.resolvePath("@social-mail/social-mail-client/content/images/icons/comment.svg"),"style-max-height":"15px"}),XNode.create("span",{text:email.email.replyCount})),XNode.create("button",{"data-element":"engage","data-click-event":"reply-email",title:"Reply"},XNode.create("inline-svg",{"attr-src":UMD.resolvePath("@social-mail/social-mail-client/content/images/icons/comment-plus.svg"),"style-max-height":"15px"}),"Reply"),!email.email.parentID&&XNode.create("button",{"data-click-event":"buy-now","data-element":"buy-now"},"Buy Now"),XNode.create("share-button",{title:email.email.subject,href:location.href},XNode.create("i",{class:"fas fa-share"})," Share")))}_export("default",ChannelPost);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_modelModel){EmailEngagement=_modelModel.EmailEngagement},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_MediaCarousel){MediaCarousel=_MediaCarousel.default},function(_webAtomsWebControlsDistBasicLimitedText){LimitedText=_webAtomsWebControlsDistBasicLimitedText.default},function(_webPageMailsServiceConversationService){renderMailPromise=_webPageMailsServiceConversationService.renderMailPromise},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_ChannelPostGlobalCss){},function(_UrlService){UrlService=_UrlService.UrlService}],execute:function(){_export("showFullDetails",showFullDetails=Symbol("showFullDetails"));commentIcon="💬";thumbsUpIcon="👍";moveUpEngagement=(icon,email)=>{const{engagements=[]}=email;email.engagements=engagements;const index=engagements.findIndex((x=>x.engagement===icon));if(index===-1){engagements.insert(0,EmailEngagement.create({email,engagement:icon,count:0}));return}const e=engagements.removeAt(index);engagements.insert(0,e)}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomOnce");System.register([],(function(_export,_context){"use strict";var AtomOnce;_export("AtomOnce",void 0);return{setters:[],execute:function(){_export("AtomOnce",AtomOnce=class AtomOnce{run(f){if(this.isRunning){return}let isAsync=false;try{this.isRunning=true;const p=f();if(p&&p.then&&p.catch){isAsync=true;p.then((()=>{this.isRunning=false})).catch((()=>{this.isRunning=false}))}}finally{if(!isAsync){this.isRunning=false}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/StyleBuilder");System.register([],(function(_export,_context){"use strict";var StyleBuilder;function cssNumberToString(n,unit="px"){if(typeof n==="number"){if(n===0){return n+""}return n+unit}return n}_export({cssNumberToString,default:void 0});return{setters:[],execute:function(){_export("default",StyleBuilder=class StyleBuilder{static get newStyle(){return new StyleBuilder}constructor(style){this.style=style;this.style=this.style||{}}toStyle(){return this.style}size(width,height){width=cssNumberToString(width);height=cssNumberToString(height);return this.merge({width,height})}roundBorder(radius){radius=cssNumberToString(radius);return this.merge({borderRadius:radius,padding:radius})}border(borderWidth,borderColor,borderStyle="solid"){borderWidth=cssNumberToString(borderWidth);return this.merge({borderWidth,borderStyle,borderColor})}center(width,height){width=cssNumberToString(width);height=cssNumberToString(height);return this.merge({position:"absolute",left:0,right:0,top:0,bottom:0,width,height,margin:"auto"})}absolute(left,top,right,bottom){left=cssNumberToString(left);top=cssNumberToString(top);if(right!==undefined){right=cssNumberToString(right);bottom=cssNumberToString(bottom);return this.merge({position:"absolute",left,top,right,bottom})}return this.merge({position:"absolute",left,top})}merge(style){return new StyleBuilder(Object.assign(Object.assign({},this.style),style))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/WebBusyIndicatorService");System.register(["tslib","../../App","../../di/Inject","../../di/RegisterSingleton","../../services/BusyIndicatorService","../../services/NavigationService","../controls/AtomControl","../styles/StyleBuilder"],(function(_export,_context){"use strict";var __decorate,__metadata,App,Inject,RegisterSingleton,BusyIndicatorService,NavigationService,AtomControl,cssNumberToString,WebBusyIndicatorService;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_App){App=_App.App},function(_diInject){Inject=_diInject.Inject},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_servicesBusyIndicatorService){BusyIndicatorService=_servicesBusyIndicatorService.BusyIndicatorService},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},function(_stylesStyleBuilder){cssNumberToString=_stylesStyleBuilder.cssNumberToString}],execute:function(){_export("WebBusyIndicatorService",WebBusyIndicatorService=class WebBusyIndicatorService extends BusyIndicatorService{constructor(){super(...arguments);this.zIndex=5e4;this.indicators=0}createIndicator(){const host=document.createElement("div");const popup=new AtomControl(this.app,host);host.className="indicator-host";const span=document.createElement("i");const divStyle=host.style;divStyle.position="absolute";divStyle.overflow="hidden";divStyle.left=divStyle.right=divStyle.bottom=divStyle.top="0";divStyle.zIndex=this.zIndex+++"";const spanStyle=span.style;spanStyle.position="absolute";spanStyle.margin="auto";spanStyle.width="16px";spanStyle.height="16px";spanStyle.overflow="hidden";spanStyle.maxHeight="100%";spanStyle.maxWidth="100%";spanStyle.left=spanStyle.right=spanStyle.bottom=spanStyle.top="0";span.className="fas fa-spinner fa-spin";host.appendChild(span);const ws=this.navigationService;const e=ws.getHostForElement();if(e){e.appendChild(host)}else{document.body.appendChild(host);ws.refreshScreen();popup.bind(host,"styleLeft",[["this","scrollLeft"]],false,cssNumberToString,ws.screen);popup.bind(host,"styleTop",[["this","scrollTop"]],false,cssNumberToString,ws.screen);popup.bind(host,"styleWidth",[["this","width"]],false,cssNumberToString,ws.screen);popup.bind(host,"styleHeight",[["this","height"]],false,cssNumberToString,ws.screen)}popup.registerDisposable({dispose:()=>{host.remove()}});return{[Symbol.dispose](){popup.dispose()}}}});__decorate([Inject,__metadata("design:type",NavigationService)],WebBusyIndicatorService.prototype,"navigationService",void 0);__decorate([Inject,__metadata("design:type",App)],WebBusyIndicatorService.prototype,"app",void 0);_export("WebBusyIndicatorService",WebBusyIndicatorService=__decorate([RegisterSingleton],WebBusyIndicatorService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/Atom");System.register(["tslib"],(function(_export,_context){"use strict";var __awaiter,Atom;_export("Atom",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter}],execute:function(){_export("Atom",Atom=class Atom{static superProperty(tc,target,name){let c=tc;do{c=Object.getPrototypeOf(c);if(!c){throw new Error("No property descriptor found for "+name)}const pd=Object.getOwnPropertyDescriptor(c.prototype,name);if(!pd){continue}return pd.get.apply(target)}while(true)}static get(target,path){const segments=path.split(".");for(const iterator of segments){if(target===undefined||target===null){return target}target=target[iterator]}return target}static delay(n,ct){return new Promise(((resolve,reject)=>{const h={};h.id=setTimeout((()=>{resolve()}),n);if(ct){ct.registerForCancel((()=>{clearTimeout(h.id);reject(new Error("cancelled"))}))}}))}static encodeParameters(p){if(!p){return""}let s="";for(const key in p){if(p.hasOwnProperty(key)){const element=p[key];let v=element;if(v===undefined||v===null){continue}if(v instanceof Date){v=v.toISOString()}else if(typeof element==="object"){v=JSON.stringify(element)}if(s){s+="&"}s+=`${key}=${encodeURIComponent(v)}`}}return s}static url(url,query,hash){if(!url){return url}let p=this.encodeParameters(query);if(p){if(url.indexOf("?")===-1){url+="?"}else{url+="&"}url+=p}p=this.encodeParameters(hash);if(p){if(url.indexOf("#")===-1){url+="#"}else{url+="&"}url+=p}return url}static postAsync(app,f){return new Promise(((resolve,reject)=>{app.callLater((()=>__awaiter(this,void 0,void 0,(function*(){try{resolve(yield f())}catch(error){reject(error)}}))))}))}});Atom.designMode=false}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/FormattedError");System.register([],(function(_export,_context){"use strict";var FormattedError;_export("default",void 0);return{setters:[],execute:function(){_export("default",FormattedError=class FormattedError{constructor(msg){const e=new Error(msg.toString());e.formattedMessage=msg;e.__proto__=FormattedError.prototype;return e}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/baseTypes");System.register([],(function(_export,_context){"use strict";function registerInit(target,fx){const t=target;const inits=t._$_inits=t._$_inits||[];inits.push(fx)}_export("registerInit",registerInit);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/AtomViewModel");System.register(["tslib","../App","../Atom","../core/AtomBinder","../core/AtomDisposableList","../core/AtomWatcher","../core/BindableProperty","../di/Inject","./baseTypes"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,__param,App,Atom,AtomBinder,AtomDisposableList,AtomWatcher,BindableProperty,Inject,registerInit,AtomViewModel;function runDecoratorInits(){const v=this.constructor.prototype;if(!v){return}const ris=v._$_inits;if(ris){for(const ri of ris){ri.call(this,this)}}}function privateInit(){return __awaiter(this,void 0,void 0,(function*(){try{yield Atom.postAsync(this.app,(()=>__awaiter(this,void 0,void 0,(function*(){runDecoratorInits.apply(this)}))));yield Atom.postAsync(this.app,(()=>__awaiter(this,void 0,void 0,(function*(){yield this.init();this.onReady()}))));if(this.postInit){for(const i of this.postInit){i()}this.postInit=null}}finally{const pi=this.pendingInits;this.pendingInits=null;for(const iterator of pi){iterator()}}}))}function waitForReady(vm){return __awaiter(this,void 0,void 0,(function*(){while(vm.pendingInits){yield Atom.delay(100)}}))}function Receive(...channel){return(target,key)=>{registerInit(target,(vm=>{const fx=vm[key];const a=(ch,d)=>{const p=fx.call(vm,ch,d);if(p&&p.then&&p.catch){p.catch((e=>{console.warn(e)}))}};const ivm=vm;for(const c of channel){ivm.registerDisposable(ivm.app.subscribe(c,a))}}))}}function BindableReceive(...channel){return(target,key)=>{const bp=BindableProperty(target,key);registerInit(target,(vm=>{const fx=(cx,m)=>{vm[key]=m};const ivm=vm;for(const c of channel){ivm.registerDisposable(ivm.app.subscribe(c,fx))}}));return bp}}function BindableBroadcast(...channel){return(target,key)=>{const bp=BindableProperty(target,key);registerInit(target,(vm=>{const fx=t=>{const v=vm[key];for(const c of channel){vm.app.broadcast(c,v)}};const d=new AtomWatcher(vm,[key.split(".")],fx);d.init();vm.registerDisposable(d)}));return bp}}function Watch(target,key,descriptor){registerInit(target,(vm=>{const ivm=vm;if(descriptor&&descriptor.get){ivm.setupWatch(descriptor.get,(()=>{vm.refresh(key.toString())}));return}ivm.setupWatch(vm[key])}))}function CachedWatch(target,key,descriptor){const getMethod=descriptor.get;descriptor.get=()=>null;registerInit(target,(vm=>{const ivm=vm;const fieldName=`_${key}`;Object.defineProperty(ivm,key,{enumerable:true,configurable:true,get(){const c=ivm[fieldName]||(ivm[fieldName]={value:getMethod.apply(ivm)});return c.value}});ivm.setupWatch(getMethod,(()=>{ivm[fieldName]=null;AtomBinder.refreshValue(ivm,key)}))}))}function Validate(target,key,descriptor){const getMethod=descriptor.get;descriptor.get=()=>null;registerInit(target,(vm=>{const initialized={i:false};const ivm=vm;Object.defineProperty(ivm,key,{enumerable:true,configurable:true,get(){if(vm.mShouldValidate&&initialized.i){return getMethod.apply(this)}return null}});ivm.setupWatch(getMethod,(()=>{initialized.i=true;vm.refresh(key.toString())}),true,key.toString());return}))}_export({waitForReady,Receive,BindableReceive,BindableBroadcast,Watch,CachedWatch,Validate});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_Atom){Atom=_Atom.Atom},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomDisposableList){AtomDisposableList=_coreAtomDisposableList.AtomDisposableList},function(_coreAtomWatcher){AtomWatcher=_coreAtomWatcher.AtomWatcher},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_diInject){Inject=_diInject.Inject},function(_baseTypes){registerInit=_baseTypes.registerInit}],execute:function(){_export("AtomViewModel",AtomViewModel=class AtomViewModel{get isReady(){return this.pendingInits===null}get errors(){const e=[];if(!this.mShouldValidate){return e}for(const v of this.validations){if(!v.initialized){return e}const error=this[v.name];if(error){e.push({name:v.name,error})}}return e}get parent(){return this.mParent}set parent(v){if(this.mParent&&this.mParent.mChildren){this.mParent.mChildren.remove(this)}this.mParent=v;if(v){const c=v.mChildren||(v.mChildren=[]);c.add(this);this.registerDisposable({dispose:()=>{c.remove(this)}})}}get isValid(){let valid=true;const validateWasFalse=this.mShouldValidate===false;this.mShouldValidate=true;for(const v of this.validations){if(!v.initialized){v.watcher.init(true);v.initialized=true}if(this[v.name]){if(validateWasFalse){AtomBinder.refreshValue(this,v.name)}valid=false}}if(this.mChildren){for(const child of this.mChildren){if(!child.isValid){valid=false}}}AtomBinder.refreshValue(this,"errors");return valid}constructor(app){this.app=app;this.disposables=null;this.validations=[];this.pendingInits=[];this.mShouldValidate=false;this.app.runAsync((()=>privateInit.apply(this)))}resetValidations(resetChildren=true){this.mShouldValidate=false;for(const v of this.validations){this.refresh(v.name)}if(resetChildren&&this.mChildren){for(const iterator of this.mChildren){iterator.resetValidations(resetChildren)}}}runAfterInit(f){if(this.pendingInits){this.pendingInits.push(f);return}f()}refresh(name){AtomBinder.refreshValue(this,name)}init(){return __awaiter(this,void 0,void 0,(function*(){}))}dispose(){if(this.disposables){this.disposables.dispose()}}registerDisposable(d){this.disposables=this.disposables||new AtomDisposableList;return this.disposables.add(d)}onReady(){}setupWatch(ft,proxy,forValidation,name){const d=new AtomWatcher(this,ft,proxy,this);if(forValidation){this.validations=this.validations||[];this.validations.push({name,watcher:d,initialized:false})}else{d.init()}return this.registerDisposable(d)}onPropertyChanged(name){}});_export("AtomViewModel",AtomViewModel=__decorate([__param(0,Inject),__metadata("design:paramtypes",[App])],AtomViewModel))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/AtomWindowViewModel");System.register(["tslib","../services/NavigationService","./AtomViewModel"],(function(_export,_context){"use strict";var __awaiter,NavigationService,AtomViewModel,AtomWindowViewModel;_export("AtomWindowViewModel",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_AtomViewModel){AtomViewModel=_AtomViewModel.AtomViewModel}],execute:function(){_export("AtomWindowViewModel",AtomWindowViewModel=class AtomWindowViewModel extends AtomViewModel{close(result){this.app.broadcast(`atom-window-close:${this.windowName}`,result)}cancel(){return __awaiter(this,void 0,void 0,(function*(){if(this.closeWarning){const navigationService=this.app.resolve(NavigationService);if(!(yield navigationService.confirm(this.closeWarning,"Are you sure?"))){return false}}this.app.broadcast(`atom-window-cancel:${this.windowName}`,"cancelled");return true}))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomWindowStyle");System.register(["@web-atoms/core/src/web/images/close-button-hover.svg","../styles/AtomStyle"],(function(_export,_context){"use strict";var closeButtonHover,AtomStyle,AtomWindowStyle;_export("AtomWindowStyle",void 0);return{setters:[function(_webAtomsCoreSrcWebImagesCloseButtonHoverSvg){closeButtonHover=_webAtomsCoreSrcWebImagesCloseButtonHoverSvg.default},function(_stylesAtomStyle){AtomStyle=_stylesAtomStyle.AtomStyle}],execute:function(){_export("AtomWindowStyle",AtomWindowStyle=class AtomWindowStyle extends AtomStyle{get root(){return Object.assign(Object.assign({},this.frameHost),{subclasses:{" .close-button":this.closeButton," .command-bar-presenter":this.commandBarPresenter," .command-bar":this.commandBar," .content-presenter":this.contentPresenter," .content":this.content," .frame":this.frame," .title":this.title," .title-host":this.titleHost," .title-presenter":this.titlePresenter}})}get frameHost(){return{position:"absolute",left:0,right:0,top:0,bottom:0,backgroundColor:"#50505080"}}get frame(){return{position:"absolute",minHeight:"100px",minWidth:"300px",margin:"auto",border:"solid 1px #808080",borderRadius:"5px",backgroundColor:"white"}}get titlePresenter(){return{position:"relative",left:0,right:0,top:0,height:"37px"}}get titleHost(){return{position:"absolute",left:0,right:0,padding:"7px",minHeight:"32px",backgroundColor:"#404040",color:"white",top:0,borderTopRightRadius:"4px",borderTopLeftRadius:"4px"}}get title(){return{margin:"auto"}}get closeButton(){return{position:"absolute",right:"6px",top:"7px",width:"0",height:"0",padding:"9px",border:"none",backgroundColor:"transparent",backgroundImage:closeButtonHover}}get content(){return{}}get contentPresenter(){return{position:"relative",padding:"10px",background:"white"}}get commandBarPresenter(){return{left:0,right:0,bottom:0,padding:"5px",backgroundColor:"#d4d4d4",textAlign:"right",borderBottomRightRadius:"4px",borderBottomLeftRadius:"4px"}}get commandBar(){return{subclasses:{" button":{borderRadius:"3px",marginLeft:"5px",marginRight:"5px",padding:"4px 16px",backgroundColor:"whitesmoke",border:"1px solid gray"}}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomAlertWindowStyle");System.register(["../../core/Colors","./AtomWindowStyle"],(function(_export,_context){"use strict";var Colors,AtomWindowStyle,AtomAlertWindowStyle;_export("default",void 0);return{setters:[function(_coreColors){Colors=_coreColors.default},function(_AtomWindowStyle){AtomWindowStyle=_AtomWindowStyle.AtomWindowStyle}],execute:function(){_export("default",AtomAlertWindowStyle=class AtomAlertWindowStyle extends AtomWindowStyle{get titleHost(){return Object.assign(Object.assign({},this.getBaseProperty(AtomAlertWindowStyle,"titleHost")),{color:Colors.black,backgroundColor:Colors.white})}get contentPresenter(){return Object.assign(Object.assign({},this.getBaseProperty(AtomAlertWindowStyle,"contentPresenter")),{padding:"0px 10px 30px 10px",textAlign:"center",color:Colors.rgba(51,51,51)})}get commandBar(){return Object.assign(Object.assign({},this.getBaseProperty(AtomAlertWindowStyle,"commandBar")),{textAlign:"center",subclasses:{" button":this.buttonStyle," .yes-button":{backgroundColor:Colors.rgba(0,128,0)}," .no-button":{backgroundColor:Colors.rgba(255,0,0)}}})}get buttonStyle(){return{border:"none",color:Colors.white,width:"50%",height:"40px"}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomTemplate");System.register(["./AtomControl"],(function(_export,_context){"use strict";var AtomControl,AtomTemplate;_export("AtomTemplate",void 0);return{setters:[function(_AtomControl){AtomControl=_AtomControl.AtomControl}],execute:function(){_export("AtomTemplate",AtomTemplate=class AtomTemplate extends AtomControl{})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomWindow");System.register(["../../App","../../core/Bind","../../core/XNode","../styles/AtomWindowStyle","./AtomControl","./AtomTemplate"],(function(_export,_context){"use strict";var App,Bind,XNode,AtomWindowStyle,AtomControl,AtomTemplate,AtomWindowFrameTemplate,AtomWindowTitleTemplate,AtomWindow;function getTemplateParent(e){const tp=e._templateParent;if(tp){return tp}const p=e._logicalParent||e.parentElement;if(p){return getTemplateParent(p)}}_export({getTemplateParent,AtomWindowFrameTemplate:void 0,AtomWindow:void 0});return{setters:[function(_App){App=_App.App},function(_coreBind){Bind=_coreBind.default},function(_coreXNode){XNode=_coreXNode.default},function(_stylesAtomWindowStyle){AtomWindowStyle=_stylesAtomWindowStyle.AtomWindowStyle},function(_AtomControl){AtomControl=_AtomControl.AtomControl},function(_AtomTemplate){AtomTemplate=_AtomTemplate.AtomTemplate}],execute:function(){_export("AtomWindowFrameTemplate",AtomWindowFrameTemplate=class AtomWindowFrameTemplate extends AtomTemplate{get templateParent(){return getTemplateParent(this.element)}preCreate(){this.titlePresenter=null;this.commandPresenter=null;this.contentPresenter=null;super.preCreate()}create(){this.render(XNode.create("div",{class:"frame",styleWidth:Bind.oneWay((()=>this.templateParent.width||undefined)),styleHeight:Bind.oneWay((()=>this.templateParent.height||undefined)),styleLeft:Bind.oneWay((()=>this.templateParent.x>=0?`${this.templateParent.x}px`:undefined)),styleTop:Bind.oneWay((()=>this.templateParent.y>=0?`${this.templateParent.y}px`:undefined)),styleMarginTop:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined)),styleMarginLeft:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined)),styleMarginRight:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined)),styleMarginBottom:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined))},XNode.create("div",{class:"title-presenter",presenter:Bind.presenter("titlePresenter")}),XNode.create("div",{class:"content-presenter",presenter:Bind.presenter("contentPresenter")}),XNode.create("div",{class:"command-bar-presenter",presenter:Bind.presenter("commandPresenter")})))}});AtomWindowTitleTemplate=class AtomWindowTitleTemplate extends AtomControl{get templateParent(){return getTemplateParent(this.element)}create(){this.render(XNode.create("div",{class:"title-host"},XNode.create("span",{class:"title",text:Bind.oneWay((()=>this.templateParent.title))}),XNode.create("button",{class:"close-button",eventClick:Bind.event((()=>this.templateParent.close()))})))}};_export("AtomWindow",AtomWindow=class AtomWindow extends AtomControl{constructor(){super(...arguments);this.title="";this.width="";this.height="";this.x=-1;this.y=-1;this.titleTemplate=AtomWindowTitleTemplate;this.frameTemplate=AtomWindowFrameTemplate;this.isReady=false}get templateParent(){return getTemplateParent(this.element)}onPropertyChanged(name){switch(name){case"windowTemplate":case"commandTemplate":case"frameTemplate":this.invalidate();break}}close(){const vm=this.viewModel;if(vm.cancel){this.app.runAsync((()=>vm.cancel()));return}const message=`atom-window-cancel:${this.id}`;const device=this.app.resolve(App);device.broadcast(message,"cancelled")}onUpdateUI(){if(!(this.windowTemplate&&this.frameTemplate)){return}if(this.isReady){return}this.bind(this.element,"title",[["viewModel","title"]]);const frame=new this.frameTemplate(this.app);const fe=frame.element;const titleContent=new this.titleTemplate(this.app);titleContent.element._templateParent=this;frame.titlePresenter.appendChild(titleContent.element);this.setupDragging(frame.titlePresenter);this.element.classList.add("frame-host");fe._logicalParent=this.element;fe._templateParent=this;if(!frame.contentPresenter){throw new Error("ContentPresenter must be set inside frameTemplate before creating window")}const content=new this.windowTemplate(this.app);content.element._templateParent=this;this.setElementClass(content.element,{content:1});frame.contentPresenter.appendChild(content.element);if(this.commandTemplate){if(!frame.commandPresenter){throw new Error("CommandPresenter must be set inside frameTemplate"+"before creating window if command template is present")}const command=new this.commandTemplate(this.app);command.element._templateParent=this;this.setElementClass(command.element,{"command-bar":1});frame.commandPresenter.appendChild(command.element)}this.append(frame);setTimeout((()=>{this.centerFrame(frame.element)}),100);this.isReady=true}preCreate(){this.defaultControlStyle=AtomWindowStyle;this.title=null;this.width="";this.height="";this.x=-1;this.y=-1;this.windowTemplate=null;this.commandTemplate=null;this.titleTemplate=AtomWindowTitleTemplate;this.frameTemplate=AtomWindowFrameTemplate;super.preCreate();this.render(XNode.create("div",{styleClass:Bind.oneTime((()=>this.controlStyle.name))}))}centerFrame(e){if(!this.element){return}const parent=this.element.parentElement;if(parent===window||parent===document.body){return}if(parent.offsetWidth<=0||parent.offsetHeight<=0){setTimeout((()=>{this.centerFrame(e)}),100);return}if(e.offsetWidth<=0||e.offsetHeight<=0){setTimeout((()=>{this.centerFrame(e)}),100);return}const x=(parent.offsetWidth-e.offsetWidth)/2;const y=(parent.offsetHeight-e.offsetHeight)/2;this.x=x;this.y=y;e.style.opacity="1";this.element.style.removeProperty("opacity")}setupDragging(tp){this.bindEvent(tp,"mousedown",(startEvent=>{startEvent.preventDefault();const disposables=[];const offset={x:tp.parentElement.offsetLeft,y:tp.parentElement.offsetTop};const rect={x:startEvent.clientX,y:startEvent.clientY};const cursor=tp.style.cursor;tp.style.cursor="move";disposables.push(this.bindEvent(document.body,"mousemove",(moveEvent=>{const{clientX,clientY}=moveEvent;const dx=clientX-rect.x;const dy=clientY-rect.y;offset.x+=dx;offset.y+=dy;this.x=offset.x;this.y=offset.y;rect.x=clientX;rect.y=clientY})));disposables.push(this.bindEvent(document.body,"mouseup",(endEvent=>{tp.style.cursor=cursor;for(const iterator of disposables){iterator.dispose()}})))}))}});AtomWindow.windowTemplate=XNode.prepare("windowTemplate",true,true);AtomWindow.commandTemplate=XNode.prepare("commandTemplate",true,true);AtomWindow.titleTemplate=XNode.prepare("titleTemplate",true,true);AtomWindow.frameTemplate=XNode.prepare("frameTemplate",true,true)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomAlertWindow");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../../view-model/AtomWindowViewModel","../styles/AtomAlertWindowStyle","./AtomWindow"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomWindowViewModel,AtomAlertWindowStyle,AtomWindow,AtomAlertWindow,AtomAlertViewModel;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreBind){Bind=_coreBind.default},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreXNode){XNode=_coreXNode.default},function(_viewModelAtomWindowViewModel){AtomWindowViewModel=_viewModelAtomWindowViewModel.AtomWindowViewModel},function(_stylesAtomAlertWindowStyle){AtomAlertWindowStyle=_stylesAtomAlertWindowStyle.default},function(_AtomWindow){AtomWindow=_AtomWindow.AtomWindow}],execute:function(){_export("default",AtomAlertWindow=class AtomAlertWindow extends AtomWindow{create(){this.defaultControlStyle=AtomAlertWindowStyle;this.viewModel=this.resolve(AtomAlertViewModel);this.render(XNode.create(AtomWindow,{title:Bind.oneWay((()=>this.viewModel.title))},XNode.create(AtomWindow.windowTemplate,null,XNode.create("div",{formattedText:Bind.oneWay((()=>this.viewModel.message))})),XNode.create(AtomWindow.commandTemplate,null,XNode.create("div",null,XNode.create("button",{class:"yes-button",styleDisplay:Bind.oneWay((()=>this.viewModel.okTitle?"":"none")),text:Bind.oneWay((()=>this.viewModel.okTitle)),eventClick:()=>this.viewModel.onOkClicked()}),XNode.create("button",{class:"no-button",styleMarginBottom:Bind.oneWay((()=>this.viewModel.cancelTitle?"0":"10px")),styleDisplay:Bind.oneWay((()=>this.viewModel.cancelTitle?"":"none")),text:Bind.oneWay((()=>this.viewModel.cancelTitle)),eventClick:()=>this.viewModel.onCancelClicked()})))))}});AtomAlertViewModel=class AtomAlertViewModel extends AtomWindowViewModel{onOkClicked(){this.close(true)}onCancelClicked(){this.cancel()}};__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"title",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"message",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"okTitle",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"cancelTitle",void 0)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomNotificationStyle");System.register(["../../core/Colors","./AtomStyle"],(function(_export,_context){"use strict";var Colors,AtomStyle,AtomNotificationStyle;_export("default",void 0);return{setters:[function(_coreColors){Colors=_coreColors.default},function(_AtomStyle){AtomStyle=_AtomStyle.AtomStyle}],execute:function(){_export("default",AtomNotificationStyle=class AtomNotificationStyle extends AtomStyle{get root(){return{padding:"5px",borderRadius:"5px",border:"solid 1px lightgray",fontFamily:"Verdana, Geneva, sans-serif",fontSize:"16px",subclasses:{".error":{borderColor:Colors.red,color:Colors.red},".warning":{backgroundColor:Colors.lightYellow}}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomNotification");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../styles/AtomNotificationStyle","./AtomControl"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomNotificationStyle,AtomControl,AtomNotification;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreBind){Bind=_coreBind.default},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreXNode){XNode=_coreXNode.default},function(_stylesAtomNotificationStyle){AtomNotificationStyle=_stylesAtomNotificationStyle.default},function(_AtomControl){AtomControl=_AtomControl.AtomControl}],execute:function(){_export("default",AtomNotification=class AtomNotification extends AtomControl{constructor(){super(...arguments);this.timeout=5e3;this.timeoutKey=null}onPropertyChanged(name){switch(name){case"timeout":this.setupTimeout();break}}create(){this.defaultControlStyle=AtomNotificationStyle;this.render(XNode.create("div",{formattedText:Bind.oneWay((()=>this.viewModel.message)),timeout:Bind.oneWay((()=>this.viewModel.timeout||5e3)),styleClass:Bind.oneWay((()=>({[this.controlStyle.name]:1,error:this.viewModel.type&&/error/i.test(this.viewModel.type),warning:this.viewModel.type&&/warn/i.test(this.viewModel.type)})))}))}setupTimeout(){if(this.timeoutKey){clearTimeout(this.timeoutKey)}this.timeoutKey=setTimeout((()=>{if(this.element){this.app.broadcast(`atom-window-close:${this.id}`,"")}}),this.timeout)}});__decorate([BindableProperty,__metadata("design:type",Number)],AtomNotification.prototype,"timeout",void 0)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomPopupStyle");System.register(["../styles/AtomStyle"],(function(_export,_context){"use strict";var AtomStyle,AtomPopupStyle;_export("AtomPopupStyle",void 0);return{setters:[function(_stylesAtomStyle){AtomStyle=_stylesAtomStyle.AtomStyle}],execute:function(){_export("AtomPopupStyle",AtomPopupStyle=class AtomPopupStyle extends AtomStyle{get root(){return{backgroundColor:"white",border:"solid 1px lightgray",padding:"5px",borderRadius:"5px"}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/NotificationPopup");System.register(["../../core/XNode","./PopupService","./NotifcationPopup.global.css"],(function(_export,_context){"use strict";var XNode,PopupWindow,css;function NotificationPopup({message,type}){return class Notification extends PopupWindow{create(){if(message instanceof XNode){this.render(XNode.create("div",{styleClass:{[css]:1,error:/error/i.test(type),warning:/warn/i.test(type)}},message));return}this.render(XNode.create("div",{styleClass:{[css]:1,error:/error/i.test(type),warning:/warn/i.test(type)},formattedText:message}))}}}_export("default",NotificationPopup);return{setters:[function(_coreXNode){XNode=_coreXNode.default},function(_PopupService){PopupWindow=_PopupService.PopupWindow},function(_NotifcationPopupGlobalCss){}],execute:function(){css="web-atoms-notification-popup"}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/WindowService");System.register(["tslib","../../App","../../Atom","../../core/AtomLoader","../../core/AtomUri","../../core/FormattedError","../../core/FormattedString","../../core/types","../../di/Inject","../../di/RegisterSingleton","../../di/ServiceCollection","../../services/JsonService","../../services/NavigationService","../../view-model/AtomWindowViewModel","../../web/core/AtomUI","../controls/AtomAlertWindow","../controls/AtomNotification","../controls/AtomWindow","../styles/AtomPopupStyle","../styles/AtomStyleSheet","../styles/StyleBuilder","./NotificationPopup","./PopupService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,__param,App,Atom,AtomLoader,AtomUri,FormattedError,FormattedString,CancelToken,Inject,RegisterSingleton,Scope,ServiceCollection,JsonService,NavigationService,AtomWindowViewModel,AtomUI,AtomAlertWindow,AtomNotification,AtomWindow,AtomPopupStyle,AtomStyleSheet,cssNumberToString,NotificationPopup,PopupService,WindowService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_Atom){Atom=_Atom.Atom},function(_coreAtomLoader){AtomLoader=_coreAtomLoader.AtomLoader},function(_coreAtomUri){AtomUri=_coreAtomUri.AtomUri},function(_coreFormattedError){FormattedError=_coreFormattedError.default},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_diInject){Inject=_diInject.Inject},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_diServiceCollection){Scope=_diServiceCollection.Scope;ServiceCollection=_diServiceCollection.ServiceCollection},function(_servicesJsonService){JsonService=_servicesJsonService.JsonService},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_viewModelAtomWindowViewModel){AtomWindowViewModel=_viewModelAtomWindowViewModel.AtomWindowViewModel},function(_webCoreAtomUI){AtomUI=_webCoreAtomUI.AtomUI},function(_controlsAtomAlertWindow){AtomAlertWindow=_controlsAtomAlertWindow.default},function(_controlsAtomNotification){AtomNotification=_controlsAtomNotification.default},function(_controlsAtomWindow){AtomWindow=_controlsAtomWindow.AtomWindow},function(_stylesAtomPopupStyle){AtomPopupStyle=_stylesAtomPopupStyle.AtomPopupStyle},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet},function(_stylesStyleBuilder){cssNumberToString=_stylesStyleBuilder.cssNumberToString},function(_NotificationPopup){NotificationPopup=_NotificationPopup.default},function(_PopupService){PopupService=_PopupService.default}],execute:function(){_export("WindowService",WindowService=class WindowService extends NavigationService{get title(){return window.document.title}set title(v){window.document.title=v}get location(){return new AtomUri(location.href)}set location(v){location.href=v.toString()}constructor(app,jsonService){super(app);this.jsonService=jsonService;this.popups=[];this.hostForElementFunc=[];this.lastPopupID=0;this.screen=app.screen;let st="desktop";if(/mobile|android|ios/i.test(window.navigator.userAgent)){st="mobile";if(/tablet/i.test(window.navigator.userAgent)){st="tablet"}}this.screen.screenType=st;if(window){const update=e=>{this.refreshScreen()};if(st!=="mobile"){window.addEventListener("resize",update);window.addEventListener("scroll",update);document.body.addEventListener("scroll",update);document.body.addEventListener("resize",update)}setTimeout((()=>{update(null)}),1e3)}}registerHostForWindow(f){this.hostForElementFunc.push(f);return{dispose:()=>{this.hostForElementFunc.remove(f)}}}navigate(url){location.href=url}back(){window.history.back()}register(id,type){ServiceCollection.instance.register(type,null,Scope.Transient,id)}confirm(message,title){return PopupService.confirm({message,title})}alert(message,title){if(!(message instanceof FormattedString||typeof message==="string")){if(message instanceof FormattedError){message=message.formattedMessage}else{message=message.message?message.message:message.toString()}}return PopupService.alert({message,title})}refresh(){location.reload()}getHostForElement(){const ce=PopupService.lastTarget;if(!ce){return null}for(const iterator of this.hostForElementFunc){const e=iterator(ce);if(e){return e}}return null}refreshScreen(){const height=this.screen.height=window.innerHeight||document.body.clientHeight;const width=this.screen.width=window.innerWidth||document.body.clientWidth;this.screen.scrollLeft=window.scrollX||document.body.scrollLeft||0;this.screen.scrollTop=window.scrollY||document.body.scrollTop||0;this.screen.orientation=width>height?"landscape":"portrait"}notify(message,title,type,delay){return __awaiter(this,void 0,void 0,(function*(){try{const notification=NotificationPopup({message,type});const cancelToken=new CancelToken(delay!==null&&delay!==void 0?delay:5e3);yield notification.showWindow(notification,{title,cancelToken})}catch(ex){console.error(ex)}}))}openWindow(url,options){return __awaiter(this,void 0,void 0,(function*(){yield Atom.delay(1);const lastTarget=PopupService.lastTarget;const{view:popup,returnPromise,disposables}=yield AtomLoader.loadView(url,this.app,true,(()=>this.app.resolve(AtomWindowViewModel,true)));if(options&&options.onInit){options.onInit(popup)}const cancelToken=options.cancelToken;if(cancelToken){if(cancelToken.cancelled){this.app.callLater((()=>{this.remove(popup,true)}))}cancelToken.registerForCancel((()=>{this.remove(popup,true)}))}const e=popup.element;let isPopup=true;if(popup instanceof AtomWindow){isPopup=false;e.style.opacity="0"}popup.registerDisposable({dispose:()=>{PopupService.lastTarget=lastTarget}});if(isPopup){const root=popup.element;const last=PopupService.lastTarget;const closePopup=et=>{let target=et.target;while(target){if(target===root||target===last){return}target=target.parentElement}this.remove(popup,true)};document.body.addEventListener("click",closePopup);popup.registerDisposable({dispose:()=>{document.body.removeEventListener("click",closePopup)}})}e._logicalParent=lastTarget;e.sourceUrl=url;const pvm=popup.viewModel;if(pvm){let ce=PopupService.lastTarget;if(ce){while(!ce.atomControl){ce=ce.parentElement;if(!ce){break}}if(ce&&ce.atomControl&&ce.atomControl.viewModel){pvm.parent=ce.atomControl.viewModel}}}const theme=this.app.get(AtomStyleSheet).getNamedStyle(AtomPopupStyle);e.style.zIndex=1e4+this.lastPopupID+"";const isNotification=popup instanceof AtomNotification;if(isPopup){const sr=AtomUI.screenOffset(PopupService.lastTarget);const x=sr.x;const y=sr.y;const h=sr.height;e.style.position="absolute";e.style.left=x+"px";e.style.top=y+h+"px";e.classList.add(theme.name);this.popups.push(popup);disposables.add((()=>{this.popups.remove(popup)}));document.body.appendChild(e);if(isNotification){e.style.opacity="0";this.centerElement(popup)}}else{const eHost=(options===null||options===void 0?void 0:options.modal)?null:this.getHostForElement();if(eHost){eHost.appendChild(e)}else{const host=document.createElement("div");document.body.appendChild(host);host.style.position="absolute";host.appendChild(e);disposables.add({dispose(){host.remove()}});this.refreshScreen();popup.bind(host,"styleLeft",[["this","scrollLeft"]],false,cssNumberToString,this.screen);popup.bind(host,"styleTop",[["this","scrollTop"]],false,cssNumberToString,this.screen);popup.bind(host,"styleWidth",[["this","width"]],false,cssNumberToString,this.screen);popup.bind(host,"styleHeight",[["this","height"]],false,cssNumberToString,this.screen)}}popup.bindEvent(document.body,"keyup",(keyboardEvent=>{if(keyboardEvent.key==="Escape"){this.app.runAsync((()=>this.remove(popup)))}}));disposables.add({dispose:()=>{e.innerHTML="";e.remove()}});return yield returnPromise}))}centerElement(c){const e=c.element;const parent=e.parentElement;if(parent===window||parent===document.body){setTimeout((()=>{const ew=(document.body.offsetWidth-e.offsetWidth)/2;const eh=window.scrollY+(window.innerHeight-e.offsetHeight)/2;e.style.left=`${ew}px`;e.style.top=`${eh}px`;e.style.removeProperty("opacity")}),200);return}if(parent.offsetWidth<=0||parent.offsetHeight<=0){setTimeout((()=>{this.centerElement(c)}),100);return}if(e.offsetWidth<=0||e.offsetHeight<=0){setTimeout((()=>{this.centerElement(c)}),100);return}const x=(parent.offsetWidth-e.offsetWidth)/2;const y=(parent.offsetHeight-e.offsetHeight)/2;e.style.left=`${x}px`;e.style.top=`${y}px`;e.style.removeProperty("opacity")}});WindowService.alertWindow=AtomAlertWindow;_export("WindowService",WindowService=__decorate([RegisterSingleton,__param(0,Inject),__param(1,Inject),__metadata("design:paramtypes",[App,JsonService])],WindowService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomTheme");System.register(["tslib","../../App","../../core/Colors","../../di/Inject","../../di/RegisterSingleton","../../services/NavigationService","../styles/AtomStyleSheet"],(function(_export,_context){"use strict";var __decorate,__metadata,__param,App,Colors,Inject,RegisterSingleton,NavigationService,AtomStyleSheet,AtomTheme;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_coreColors){Colors=_coreColors.default},function(_diInject){Inject=_diInject.Inject},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet}],execute:function(){_export("AtomTheme",AtomTheme=class AtomTheme extends AtomStyleSheet{constructor(app,navigationService){super(app,"atom-theme");this.navigationService=navigationService;this.bgColor=Colors.white;this.color=Colors.gray;this.hoverColor=Colors.lightGray;this.activeColor=Colors.lightBlue;this.selectedBgColor=Colors.blue;this.selectedColor=Colors.white;this.padding=5;setTimeout((()=>{window.addEventListener("resize",(()=>{setTimeout((()=>{this.pushUpdate()}),10)}));document.body.addEventListener("resize",(()=>{setTimeout((()=>{this.pushUpdate()}),10)}))}),1e3)}});_export("AtomTheme",AtomTheme=__decorate([RegisterSingleton,__param(0,Inject),__param(1,Inject),__metadata("design:paramtypes",[App,NavigationService])],AtomTheme))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/WebApp");System.register(["../App","../core/AtomOnce","../core/AtomUri","../di/ServiceCollection","../services/BusyIndicatorService","../services/NavigationService","./services/WebBusyIndicatorService","./services/WindowService","./styles/AtomStyleSheet","./styles/AtomTheme"],(function(_export,_context){"use strict";var App,AtomOnce,AtomUri,ServiceCollection,BusyIndicatorService,NavigationService,WebBusyIndicatorService,WindowService,AtomStyleSheet,AtomTheme,WebApp;_export("default",void 0);return{setters:[function(_App){App=_App.App},function(_coreAtomOnce){AtomOnce=_coreAtomOnce.AtomOnce},function(_coreAtomUri){AtomUri=_coreAtomUri.AtomUri},function(_diServiceCollection){ServiceCollection=_diServiceCollection.ServiceCollection},function(_servicesBusyIndicatorService){BusyIndicatorService=_servicesBusyIndicatorService.BusyIndicatorService},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_servicesWebBusyIndicatorService){WebBusyIndicatorService=_servicesWebBusyIndicatorService.WebBusyIndicatorService},function(_servicesWindowService){WindowService=_servicesWindowService.WindowService},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet},function(_stylesAtomTheme){AtomTheme=_stylesAtomTheme.AtomTheme}],execute:function(){_export("default",WebApp=class WebApp extends App{get parentElement(){return document.body}get root(){return this.mRoot}set root(v){const old=this.mRoot;if(old){old.dispose()}this.mRoot=v;if(!v){return}const pe=this.parentElement;const de=Array.from(pe.children);for(const iterator of de){iterator.remove()}pe.appendChild(v.element)}get theme(){return this.get(AtomStyleSheet)}set theme(v){this.put(AtomTheme,v);this.put(AtomStyleSheet,v)}get contextId(){var _a;(_a=this.mContextId)!==null&&_a!==void 0?_a:this.mContextId=parseInt((this.url.hash.contextId||"0").toString(),10);if(!this.mContextId){for(let index=0;index<100;index++){const cid=`contextId${index}`;const cidData=sessionStorage.getItem(`contextId${index}`);if(!cidData){this.mContextId=index;sessionStorage.setItem(cid,cid);this.url.hash.contextId=index;this.syncUrl();break}}}return`contextId_${this.mContextId}`}constructor(){super();this.hashUpdater=new AtomOnce;this.url=new AtomUri(location.href);this.put(NavigationService,this.resolve(WindowService));this.put(WebApp,this);this.put(BusyIndicatorService,this.resolve(WebBusyIndicatorService));ServiceCollection.instance.registerSingleton(AtomStyleSheet,(sp=>sp.resolve(AtomTheme)));window.addEventListener("hashchange",(()=>{this.hashUpdater.run((()=>{this.url=new AtomUri(location.href)}))}));this.initPromise=new Promise(((resolve,reject)=>{this.onReady(resolve)}))}updateDefaultStyle(textContent){if(this.styleElement){if(this.styleElement.textContent===textContent){return}}const ss=document.createElement("style");ss.textContent=textContent;if(this.styleElement){this.styleElement.remove()}document.head.appendChild(ss);this.styleElement=ss}syncUrl(){this.hashUpdater.run((()=>{const currentUrl=new AtomUri(location.href);const sourceHash=this.url.hash;const keyValues=[];let modified=false;for(const key in sourceHash){if(/^\_\$\_/.test(key)){continue}if(sourceHash.hasOwnProperty(key)){const element=sourceHash[key];const cv=currentUrl.hash[key];if(element!==undefined){keyValues.push({key,value:element})}if(cv===element){continue}modified=true}}if(!modified){return}const hash=keyValues.map((s=>`${s.key}=${encodeURIComponent(s.value)}`)).join("&");location.hash=hash}))}invokeReady(){if(document.readyState==="complete"){super.invokeReady();return}document.addEventListener("readystatechange",(e=>{super.invokeReady()}))}});(function(){if(typeof window.CustomEvent==="function"){return false}function CustomEvent(event,params){params=params||{bubbles:false,cancelable:false,detail:null};const evt=document.createEvent("CustomEvent");evt.initCustomEvent(event,params.bubbles,params.cancelable,params.detail);return evt}window.CustomEvent=CustomEvent})()}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/emoji/EmojiPopup");System.register(["tslib","@web-atoms/core/dist/web/WebApp","@web-atoms/web-controls/dist/basic/elements/AtomPopover"],(function(_export,_context){"use strict";var __awaiter,WebApp,AtomPopover,EmojiPopup,emojiBrowserLoader;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistWebWebApp){WebApp=_webAtomsCoreDistWebWebApp.default},function(_webAtomsWebControlsDistBasicElementsAtomPopover){AtomPopover=_webAtomsWebControlsDistBasicElementsAtomPopover.default}],execute:function(){emojiBrowserLoader=WebApp.installScript("https://cdn.jsdelivr.net/npm/emoji-mart@latest/dist/browser.js");_export("default",EmojiPopup=class EmojiPopup extends AtomPopover{static show(p,o){const _super=Object.create(null,{show:{get:()=>super.show}});return __awaiter(this,void 0,void 0,(function*(){yield emojiBrowserLoader;return _super.show.call(this,p,o)}))}init(){return __awaiter(this,void 0,void 0,(function*(){const picker=new EmojiMart.Picker({previewPosition:"none",theme:"light",maxFrequentRows:2,onEmojiSelect:emoji=>this.close(emoji.native)});this.popoverContainer.appendChild(picker)}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","./InfiniteRepeater.global.css"],(function(_export,_context){"use strict";var __awaiter,Bind,CancelToken,XNode,AtomControl,InfiniteRepeater,_a,loadMoreSet,pagedItemsSetter,scrollToBottom;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_InfiniteRepeaterGlobalCss){}],execute:function(){loadMoreSet=Symbol("loadMoreSet");pagedItemsSetter=AtomControl.registerProperty("paged-items","paged-items",((control,element,value)=>{var _b,_c;if(value&&value.items){let cancelToken=control[loadMoreSet];(_b=control.footerRenderer)!==null&&_b!==void 0?_b:control.footerRenderer=()=>XNode.create("div",{"data-load-more":"load-more","data-click-event":"load-more-items"},XNode.create("span",{text:"Load more ... "}));(_c=control.headerRenderer)!==null&&_c!==void 0?_c:control.headerRenderer=()=>XNode.create("div",{class:"scroll-header","style-height":"1px","style-width":"100%"});if(!cancelToken){control[loadMoreSet]=cancelToken=new CancelToken;control.bindEvent(control.element,"loadMoreItems",(e=>{const ce=new CustomEvent("moreItems",{detail:{pagedItems:control.pagedItems,cancelToken},bubbles:false});control.element.dispatchEvent(ce)}))}else{cancelToken.cancel();control[loadMoreSet]=cancelToken=new CancelToken}const items=control.items;if(items&&Array.isArray(items)){items.clear();items.addAll(value.items)}else{control.items=value.items}const autoScroll=control.element.getAttribute("data-auto-scroll")!=="false";if(autoScroll){setTimeout((()=>{var _b;const ce=(_b=control.element)===null||_b===void 0?void 0:_b.firstElementChild;const scrollX=window.scrollX;const scrollY=window.scrollY;ce===null||ce===void 0?void 0:ce.scrollIntoView();setTimeout((()=>{window.scrollTo(scrollX,scrollY)}),100)}),100)}control.footer=value.total&&value.items&&value.items.length<value.total;control.pagedItems=value}}));scrollToBottom=({target,detail:{type,index}})=>{if(!(type==="add"&&index===0)&&type!=="reset"){return}setTimeout((()=>{const e=target.firstElementChild;console.log(e);e===null||e===void 0?void 0:e.scrollIntoView(true)}),1)};InfiniteRepeater=class InfiniteRepeater{};_a=InfiniteRepeater;InfiniteRepeater.pagedItems=start=>{const setter=start(0);const setters=pagedItemsSetter(Bind.oneWayAsync(setter));setters["event-more-items"]=Bind.event(((s,e)=>__awaiter(void 0,void 0,void 0,(function*(){var _b,_c;const st=(_c=(_b=s.items)===null||_b===void 0?void 0:_b.length)!==null&&_c!==void 0?_c:0;if(!st){return}const cancelToken=s[loadMoreSet];const loader=start(st);const results=yield loader(s,e.target,cancelToken);s.items.addAll(results.items);s.footer=results.items.length>0}))));return setters};_export("default",InfiniteRepeater)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/pages/comments/PostComments");System.register(["tslib","@web-atoms/core/dist/web/controls/AtomControl","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/InjectProperty","../../../../services/EntityService","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../../common/controls/repeater/InfiniteRepeater","./PostComments.global.css","../../../../common/cache/CacheVersions","../../../../common/cache/CacheTTL","../../../../common/date/DateFormats","@web-atoms/core/dist/core/types"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomControl,ChannelEmail,XNode,InjectProperty,EntityService,AtomRepeater,InfiniteRepeater,CacheVersions,CacheTTL,DateFormats,UMD,PostComments,commentIcon;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_modelModel){ChannelEmail=_modelModel.ChannelEmail},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_PostCommentsGlobalCss){},function(_commonCacheCacheVersions){CacheVersions=_commonCacheCacheVersions.default},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD}],execute:function(){commentIcon="💬";_export("default",PostComments=class PostComments extends AtomControl{constructor(app,e=document.createElement("post-comments")){super(app,e);this.channelEmail=null;this.emails=[];this.pushInit()}init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({items:this.emails,"data-auto-scroll":"false"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.list({start,cancelToken}))),{itemRenderer:x=>XNode.create("post-comment",null,XNode.create("h4",null,x.email.senderName),XNode.create("comment-date",{title:DateFormats.withWeekDayAndTime(x.email.dateSent)},DateFormats.relative.short(x.email.dateSent)),XNode.create("comment-body",null,XNode.create("section",{text:x.email.textBody})),XNode.create("footer",null,...x.email.engagements.map(((e,index)=>XNode.create("span",{"data-click-event":e.engagement===commentIcon?"view-comments":"engagement-click","data-element":"engagements","data-item-path":`email:$.email, engagement: $.email.engagements.${index}`,title:"Share your reaction"},XNode.create("emoji-span",{text:e.engagement}),e.count>0&&XNode.create("span",{text:e.count})))),XNode.create("button",{"data-element":"engage",title:"React","data-click-event":"react-email"},XNode.create("inline-svg",{"attr-src":UMD.resolvePath("@social-mail/social-mail-client/content/images/icons/face-plus.svg"),"style-max-height":"15px"})),x.email.replyCount&&XNode.create("button",{title:"Comments","data-click-event":"view-comments","data-element":"engage"},XNode.create("inline-svg",{"attr-src":UMD.resolvePath("@social-mail/social-mail-client/content/images/icons/comment.svg"),"style-max-height":"15px"}),XNode.create("span",{text:x.email.replyCount})),XNode.create("button",{"data-element":"engage","data-click-event":"reply-email",title:"Reply"},XNode.create("inline-svg",{"attr-src":UMD.resolvePath("@social-mail/social-mail-client/content/images/icons/comment-plus.svg"),"style-max-height":"15px"}),"Reply")))})))}))}list(_a){return __awaiter(this,arguments,void 0,(function*({start,cancelToken}){const{emailID}=this.channelEmail;const items=this.entityService.query(ChannelEmail,"channelEmails",this.channelEmail.mailboxID).where({emailID},(p=>x=>x.email.parentID===p.emailID));const all=yield items.include((x=>[x.email.attachments,x.email.engagements])).toPagedList({start,cacheVersion:CacheVersions.comment,cacheSeconds:CacheTTL.seconds.fifteenMinutes,cancelToken});if(!all.items.length){this.element.setAttribute("is-empty","true")}return all}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],PostComments.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/pages/posts/ChannelPage");System.register(["tslib","../../BlogService","../../../../model/model","@web-atoms/core/dist/core/XNode","../../../../common/controls/Loader","../../../../services/EntityService","../../UrlService","../../../../services/email/EmailContentDownloader","../../controls/Pager","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/channel-post/ChannelPost","../../controls/RecentPosts","../../controls/TagCloud","../../controls/UpcomingEvents","../../controls/PostList","../../controls/blog-header/BlogHeader","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/web/core/AtomUI","../../../../common/Mailto","../../emoji/EmojiPopup","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","../comments/PostComments","./ChannelPage.global.css","@web-atoms/core/dist/web/controls/AtomControl"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,BlogService,ChannelEmail,XNode,Loader,EntityService,UrlService,EmailContentDownloader,Pager,AtomRepeater,ChannelPost,showFullDetails,RecentPosts,TagCloud,UpcomingEvents,PostList,BlogHeader,ContentPage,Action,AncestorEnumerator,Mailto,EmojiPopup,InjectProperty,Bind,PostComments,AtomControl,ChannelPage,commentIcon;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_BlogService){BlogService=_BlogService.default},function(_modelModel){ChannelEmail=_modelModel.ChannelEmail},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonControlsLoader){Loader=_commonControlsLoader.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_controlsPager){Pager=_controlsPager.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsChannelPostChannelPost){ChannelPost=_controlsChannelPostChannelPost.default;showFullDetails=_controlsChannelPostChannelPost.showFullDetails},function(_controlsRecentPosts){RecentPosts=_controlsRecentPosts.default},function(_controlsTagCloud){TagCloud=_controlsTagCloud.default},function(_controlsUpcomingEvents){UpcomingEvents=_controlsUpcomingEvents.default},function(_controlsPostList){PostList=_controlsPostList.default},function(_controlsBlogHeaderBlogHeader){BlogHeader=_controlsBlogHeaderBlogHeader.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator},function(_commonMailto){Mailto=_commonMailto.Mailto},function(_emojiEmojiPopup){EmojiPopup=_emojiEmojiPopup.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commentsPostComments){PostComments=_commentsPostComments.default},function(_ChannelPageGlobalCss){},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl}],execute:function(){commentIcon="💬";_export("default",ChannelPage=class ChannelPage extends ContentPage{constructor(){super(...arguments);this.email=null;this.start=0;this.size=20}set route(v){if(v==="/"){return}super.route=v}init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(Loader,null));const{channel,slug}=this.parameters;this.channel=yield this.blogService.getChannel(void 0,channel,void 0);const posts=yield this.list(this.parameters);this.element.setAttribute("data-component","post-list");this.renderer=XNode.create("section",{"data-blog-list":"blog-list"},XNode.create(BlogHeader,{channel:this.channel}),XNode.create("section",{"data-width":"100%"},XNode.create(AtomRepeater,{class:"post-list",items:posts.items,itemRenderer:ChannelPost,presenter:Bind.presenter((c=>this.postRepeater=c))}),XNode.create(Pager,{current:this.start,end:Math.floor(posts.total/this.size)-1,url:x=>UrlService.toSectionUrl(this.channel,"posts",x)})),XNode.create("aside",null,XNode.create(TagCloud,null),XNode.create(UpcomingEvents,{channel:this.channel}),XNode.create(PostList,null),XNode.create(RecentPosts,null)),XNode.create("footer",null))}))}list(_a){return __awaiter(this,arguments,void 0,(function*({start,search,channel,author,tag,slug}){this.entityService.postPageReady();let q=this.entityService.query(ChannelEmail,"channelEmails").where((x=>x.email.parentID===null));const emailID=slug?UrlService.getEmailID(slug):void 0;if(tag){tag=tag.toLowerCase();q=q.where({tag},(p=>x=>x.email.emailTags.some((t=>t.tag.lowerCaseName===p.tag))))}if(author){q=q.where({author},(p=>x=>x.email.senderName===p.author))}q=q.orderByDescending((x=>x.datePublished));const size=this.size;const emailLoader=emailID&&this.entityService.query(ChannelEmail,"channelEmails").where({emailID},(p=>x=>x.emailID===p.emailID)).include((x=>[x.mailbox.emailAddress,x.email.engagements,x.email.attachments])).firstOrDefault();const result=yield q.include((x=>[x.mailbox.emailAddress,x.email.engagements,x.email.attachments])).toPagedList({start,size});if(emailLoader){const e=yield emailLoader;result.items.remove((i=>i.emailID===e.emailID));result.items.splice(0,0,e);e[showFullDetails]=true;this.email=e}const tasks=[];for(const ce of result.items){tasks.push(this.downloader.downloadPostContent(ce))}yield Promise.all(tasks);if(this.email){document.title=this.email.email.subject;setTimeout((()=>this.runAfterInit((()=>{const pc=new PostComments(this.app,document.createElement("post-comments"));pc.channelEmail=this.email;const element=this.postRepeater.elementForItem(this.email);element.appendChild(pc.element)}))),100)}return result}))}engagementClick({email,engagement}){const emoji=engagement.engagement;this.reactAction(email,emoji)}buyNowClick({email}){const body=`\nI am interested in purchasing ${email.subject}\nFor price ${email.price} ${email.currency.toUpperCase()} mentioned on the website.\nPlease revert back to me with the quotation and method of payment including taxes and shipping if any..\n\nMy information...\nName:\nEmail:\nPhone:\nAddress:\n\n...\n`;location.href="/contact.html?body="+encodeURIComponent(body)}reactAction(email,emoji){const{headerMessageID}=email;const{channel:{emailAddress:{emailAddress}}}=this;const subject=`${emoji}-k${BigInt(email.emailID).toString(36)}-${headerMessageID}`;const link=Mailto.create({to:emailAddress,subject,body:emoji,inReplyTo:headerMessageID});this.element.dispatchEvent(new CustomEvent("shareLink",{detail:{link,shareTitle:`React ${emoji} Via`},bubbles:true}))}viewComments(channelEmail,ce){return __awaiter(this,void 0,void 0,(function*(){const owner=AtomControl.from(ce.target);const element=owner.elementForItem(channelEmail);const comments=element.querySelector("post-comments");if(comments){comments.scrollIntoView();return}const pc=new PostComments(this.app,document.createElement("post-comments"));pc.channelEmail=channelEmail;element.appendChild(pc.element)}))}reactEmail(channelEmail,ce){return __awaiter(this,void 0,void 0,(function*(){var _a;const parentElement=(_a=AncestorEnumerator.findSelector(ce.target,"button,a"))!==null&&_a!==void 0?_a:ce.target;const emoji=yield EmojiPopup.show(parentElement,{"anchor-bottom":"parent-top"});this.reactAction(channelEmail.email,emoji)}))}replyEmail(channelEmail,ce){return __awaiter(this,void 0,void 0,(function*(){const{email}=channelEmail;const emoji=commentIcon;const{headerMessageID}=email;const{channel:{emailAddress:{emailAddress}}}=this;const subject=`${emoji}:${Number(email.emailID).toString(36)}:${headerMessageID}`;const link=Mailto.create({to:emailAddress,subject,inReplyTo:headerMessageID});this.element.dispatchEvent(new CustomEvent("shareLink",{detail:{link,shareTitle:"Add Comment Via"},bubbles:true}))}))}});__decorate([InjectProperty,__metadata("design:type",BlogService)],ChannelPage.prototype,"blogService",void 0);__decorate([InjectProperty,__metadata("design:type",EntityService)],ChannelPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",EmailContentDownloader)],ChannelPage.prototype,"downloader",void 0);__decorate([Action({onEvent:"engagement-click"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ChannelPage.prototype,"engagementClick",null);__decorate([Action({onEvent:"buy-now"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ChannelPage.prototype,"buyNowClick",null);__decorate([Action({onEvent:"view-comments"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ChannelPage.prototype,"viewComments",null);__decorate([Action({onEvent:"react-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ChannelPage.prototype,"reactEmail",null);__decorate([Action({onEvent:"reply-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ChannelPage.prototype,"replyEmail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/pages/tags/ChannelTagsPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","../../../../model/model","../../../../services/EntityService","@web-atoms/core/dist/core/XNode","../../UrlService","../../BlogService","../BaseChannelPage","../../controls/Pager","./ChannelTagsPage.local.css","../../../../common/cache/CacheTTL"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,MailboxTag,EntityService,XNode,UrlService,BlogService,BaseChannelPage,Pager,CacheTTL,ChannelPhotosPage,symbolPhotos,symbolVideos,cacheVersion;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_modelModel){MailboxTag=_modelModel.MailboxTag},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_BlogService){BlogService=_BlogService.default},function(_BaseChannelPage){BaseChannelPage=_BaseChannelPage.default},function(_controlsPager){Pager=_controlsPager.default},function(_ChannelTagsPageLocalCss){},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL}],execute:function(){symbolPhotos=Symbol("photos");symbolVideos=Symbol("videos");cacheVersion="1a";_export("default",ChannelPhotosPage=class ChannelPhotosPage extends BaseChannelPage{constructor(){super(...arguments);this.channel=null;this.start=0;this.size=50;this.renderTag=m=>XNode.create("div",{"data-layout":"vertical-flex"},XNode.create("div",{"data-layout":"row"},XNode.create("a",{"data-tag":"tag",href:UrlService.toTagUrl(m)},"# ",m.tag.name," (",m.count,")")))}renderBody(){return __awaiter(this,void 0,void 0,(function*(){var _a;this.start=Number.parseInt((_a=this.parameters.start)!==null&&_a!==void 0?_a:0,10);const tags=yield this.loadTags();const items=tags.items;document.title="Tags "+this.channel.emailAddress.emailAddress;return XNode.create("section",{"data-width":"100%"},XNode.create("section",{"data-element":"tags"},...items.map(this.renderTag)),XNode.create(Pager,{current:this.start,end:Math.floor(tags.total/this.size)-1,url:x=>UrlService.toSectionUrl(this.channel,"tags",x)}))}))}loadTags(){return __awaiter(this,void 0,void 0,(function*(){this.entityService.postPageReady();const q=yield this.entityService.query(MailboxTag,"channelTags",this.channel.mailboxID).where((x=>x.count>0)).orderByDescending((x=>x.count)).include((x=>[x.tag,x.mailbox.emailAddress])).toPagedList({start:this.start*this.size,size:this.size,cacheVersion,cacheSeconds:CacheTTL.seconds.fifteenMinutes});return q}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],ChannelPhotosPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",BlogService)],ChannelPhotosPage.prototype,"blogService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/commands/ChannelCommands");System.register(["@web-atoms/core/dist/core/Command"],(function(_export,_context){"use strict";var Command,Commands,ChannelCommands;return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default;Commands=_webAtomsCoreDistCoreCommand.Commands}],execute:function(){ChannelCommands=class ChannelCommands extends Commands{};ChannelCommands.channelCalendar=Command.create({route:"/@{channel}/calendar",routeOrder:100,openPage:()=>_context.import("../pages/ChannelCalendarPage")});ChannelCommands.channelVideos=Command.create({route:"/@{channel}/videos/{start?}",routeOrder:100,openPage:()=>_context.import("../pages/video/ChannelVideosPage")});ChannelCommands.channelPhotos=Command.create({route:"/@{channel}/photos/{start?}",routeOrder:100,openPage:()=>_context.import("../pages/photo/ChannelPhotosPage")});ChannelCommands.channelTag=Command.create({route:"/@{channel}/tag/{tag}/{start?}",routeOrder:100,openPage:()=>_context.import("../pages/posts/ChannelPage")});ChannelCommands.channelTags=Command.create({route:"/@{channel}/tags/{start?}",routeOrder:100,openPage:()=>_context.import("../pages/tags/ChannelTagsPage")});ChannelCommands.channelList=Command.create({route:"/@{channel}/{start:number}",routeOrder:1e3,openPage:()=>_context.import("../pages/posts/ChannelPage")});ChannelCommands.channelDetail=Command.create({route:"/@{channel}/{slug}",routeOrder:5e3,openPage:()=>_context.import("../pages/posts/ChannelPage")});ChannelCommands.channelHome=Command.create({route:"/",routeOrder:1e4,openPage:()=>_context.import("../pages/posts/ChannelPage")});_export("default",ChannelCommands)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/editor/webComponentsPath");System.register(["tslib","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __awaiter,sleep,FetchBuilder,CustomElementsProxy,WebComponents,webComponentsInstalled,addAttributes;_export("WebComponents",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){webComponentsInstalled=Symbol("webComponentsInstalled");CustomElementsProxy=class CustomElementsProxy{constructor(elements=[]){this.elements=elements}define(name,factory){this.elements.push({name,factory})}};addAttributes=(target,values)=>{Object.defineProperty(target.prototype,"editableAttributes",{enumerable:true,configurable:true,get(){return values(this)}})};_export("WebComponents",WebComponents=class WebComponents{static run(frame,doc){return __awaiter(this,void 0,void 0,(function*(){if(doc[webComponentsInstalled]){return}doc[webComponentsInstalled]=true;let path=this.path;const packages=yield FetchBuilder.get("/social-mail/config/ui-packages").asJson();for(const element of packages){path=path.replace(element.latest,element.version)}const url=path+"/dist/editable.js";const cssUrl=location.protocol+path+"/dist/editable.css";const webPackPath=location.protocol+path+"/";const win=doc.defaultView;win["__web_components_css_path__"]=cssUrl;win["__editing"]=true;frame.sandbox.add("allow-scripts");const text=yield FetchBuilder.get(url).asText();const proxy=new CustomElementsProxy;const globals={window:win,__web_components_css_path__:cssUrl,__web_components_path__:webPackPath,document:win.document,Object:win.Object,Promise,console:win.console,Boolean:win.Boolean,String:win.String,Number:win.Number,Math:win.Math,Date:win.Date,Proxy:win.Proxy,Map:win.Map,Array:win.Array,RegExp:win.RegExp,PromiseRejectionEvent:win.PromiseRejectionEvent,setTimeout:(cb,n)=>setTimeout(cb,n),setInterval:(cb,n)=>setInterval(cb,n),clearTimeout:n=>clearTimeout(n),clearInterval:n=>clearInterval(n),Reflect:win.Reflect,requestAnimationFrame:win.requestAnimationFrame,requestIdleCallback:win.requestIdleCallback,Symbol:win.Symbol,HTMLElement:win.HTMLElement,MutationObserver:class extends win.MutationObserver{constructor(a){super(a)}},IntersectionObserver:class extends win.IntersectionObserver{constructor(a){super(a)}},customElements:proxy};win.HTMLElement.prototype.addEventListener=function(type,listener,options){return win.EventTarget.prototype.addEventListener.call(this,type,listener,options)};const keys=Object.keys(globals);const init=`${keys.map((x=>`var ${x} = globalWindow[${JSON.stringify(x)}]`)).join(";\n")}`;const sourceMappingURL=this.path+"/dist/editable.js.map";const script=`\n "use strict";\n ${init};\n Symbol.dispose ||= Symbol("dispose");\n ;${text.replace("//# sourceMappingURL=editable.js.map","//# sourceMappingURL="+sourceMappingURL)}\n `;const fx=new doc.defaultView.Function("globalWindow",script);fx.call(win,globals);addAttributes(win.HTMLElement,(()=>[{name:"title",type:"string",display:"Tool Tip"},{name:"lang",type:"lang",display:"Language"}]));addAttributes(win.HTMLAnchorElement,(()=>[{name:"href",type:"link",display:"Link"},{name:"target",type:"string",suggestions:[{label:"_blank",value:"_blank"},{label:"_top",value:"_top"},{label:"_self",value:"_self"}],display:"Target"}]));addAttributes(win.HTMLImageElement,(()=>[{name:"src",type:"image",display:"Image"},{name:"alt",type:"string",display:"Alt"},{name:"render-size",type:"number",display:"Render Size"},{name:"width",type:"number",display:"Width"},{name:"height",type:"number",display:"Height"}]));addAttributes(win.HTMLVideoElement,(()=>[{name:"src",type:"video",display:"Video"},{name:"poster",type:"image",display:"Poster"},{name:"original-autoplay",type:"boolean",display:"Auto Play"},{name:"preload",type:"enum",display:"Preload",values:["auto","metadata","none"]},{name:"loop",type:"boolean",display:"Loop"},{name:"muted",type:"boolean",display:"Muted"}]));yield sleep(10);for(const{name,factory}of proxy.elements){doc.defaultView.customElements.define(name,factory)}frame.sandbox.remove("allow-scripts")}))}});WebComponents.path=`//cdn.jsdelivr.net/npm/@social-mail/web-components@latest`}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/ChannelApp");System.register(["tslib","@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp","../../style/GlobalStyle","@web-atoms/core/dist/Pack","@web-atoms/core/dist/core/Command","./commands/ChannelCommands","@web-atoms/core/dist/core/Route","../../common/TestMode","@web-atoms/core/dist/web/WebApp","../../site-editor/editor/webComponentsPath","./ChannelApp.local.css"],(function(_export,_context){"use strict";var __awaiter,__decorate,MobileDesktopApp,Pack,Command,ChannelCommands,Route,AppLocation,WebApp,WebComponents,ChannelApp;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate},function(_webAtomsWebControlsDistDesktopAppMobileDesktopApp){MobileDesktopApp=_webAtomsWebControlsDistDesktopAppMobileDesktopApp.default},function(_styleGlobalStyle){},function(_webAtomsCoreDistPack){Pack=_webAtomsCoreDistPack.default},function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default},function(_commandsChannelCommands){ChannelCommands=_commandsChannelCommands.default},function(_webAtomsCoreDistCoreRoute){Route=_webAtomsCoreDistCoreRoute.default},function(_commonTestMode){AppLocation=_commonTestMode.AppLocation},function(_webAtomsCoreDistWebWebApp){WebApp=_webAtomsCoreDistWebWebApp.default},function(_siteEditorEditorWebComponentsPath){WebComponents=_siteEditorEditorWebComponentsPath.WebComponents},function(_ChannelAppLocalCss){}],execute:function(){if(AppLocation.isLocalTesting){WebApp.installStyleSheet("/styles/styler.css");WebApp.installStyleSheet("/styles/vars.css");WebApp.installStyleSheet(_context.meta.resolve("./styles/local-channel.local.less.css"))}ChannelApp=class ChannelApp extends MobileDesktopApp{init(){return __awaiter(this,void 0,void 0,(function*(){if(!window.socialMailWebContentLoaded){this.app.installScript(`${WebComponents.path}/dist/main.js`)}ChannelCommands.install(this);this.element.setAttribute("channel-app","channel-app");if(!Command.invokeRoute()){ChannelCommands.channelHome.dispatch()}}))}};ChannelApp=__decorate([Pack],ChannelApp);_export("default",ChannelApp);Route.encodeUrl=url=>{if(url.startsWith("#")){return url}if(AppLocation.isLocalTesting){return"#!"+url}return url};document.addEventListener("load",(e=>e.target.setAttribute("loaded","1")),{capture:true})}}}));window.installStyleSheet(new URL("./ChannelApp.pack.global.css",document.currentScript.src).toString());window.installStyleSheet(new URL("./ChannelApp.pack.local.css",document.currentScript.src).toString());
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};function setupTSLib(){var __extends;var __assign;var __rest;var __decorate;var __param;var __esDecorate;var __runInitializers;var __propKey;var __setFunctionName;var __metadata;var __awaiter;var __generator;var __exportStar;var __values;var __read;var __spread;var __spreadArrays;var __spreadArray;var __await;var __asyncGenerator;var __asyncDelegator;var __asyncValues;var __makeTemplateObject;var __importStar;var __importDefault;var __classPrivateFieldGet;var __classPrivateFieldSet;var __classPrivateFieldIn;var __createBinding;var __addDisposableResource;var __disposeResources;var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};__extends=function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)};__assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};__rest=function(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t};__decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__esDecorate=function(ctor,descriptorIn,decorators,contextIn,initializers,extraInitializers){function accept(f){if(f!==void 0&&typeof f!=="function")throw new TypeError("Function expected");return f}var kind=contextIn.kind,key=kind==="getter"?"get":kind==="setter"?"set":"value";var target=!descriptorIn&&ctor?contextIn["static"]?ctor:ctor.prototype:null;var descriptor=descriptorIn||(target?Object.getOwnPropertyDescriptor(target,contextIn.name):{});var _,done=false;for(var i=decorators.length-1;i>=0;i--){var context={};for(var p in contextIn)context[p]=p==="access"?{}:contextIn[p];for(var p in contextIn.access)context.access[p]=contextIn.access[p];context.addInitializer=function(f){if(done)throw new TypeError("Cannot add initializers after decoration has completed");extraInitializers.push(accept(f||null))};var result=(0,decorators[i])(kind==="accessor"?{get:descriptor.get,set:descriptor.set}:descriptor[key],context);if(kind==="accessor"){if(result===void 0)continue;if(result===null||typeof result!=="object")throw new TypeError("Object expected");if(_=accept(result.get))descriptor.get=_;if(_=accept(result.set))descriptor.set=_;if(_=accept(result.init))initializers.unshift(_)}else if(_=accept(result)){if(kind==="field")initializers.unshift(_);else descriptor[key]=_}}if(target)Object.defineProperty(target,contextIn.name,descriptor);done=true};__runInitializers=function(thisArg,initializers,value){var useValue=arguments.length>2;for(var i=0;i<initializers.length;i++){value=useValue?initializers[i].call(thisArg,value):initializers[i].call(thisArg)}return useValue?value:void 0};__propKey=function(x){return typeof x==="symbol"?x:"".concat(x)};__setFunctionName=function(f,name,prefix){if(typeof name==="symbol")name=name.description?"[".concat(name.description,"]"):"";return Object.defineProperty(f,"name",{configurable:true,value:prefix?"".concat(prefix," ",name):name})};__metadata=function(metadataKey,metadataValue){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(metadataKey,metadataValue)};__awaiter=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};__generator=function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}};__exportStar=function(m,o){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(o,p))__createBinding(o,m,p)};__createBinding=Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]};__values=function(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")};__read=function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};__spread=function(){for(var ar=[],i=0;i<arguments.length;i++)ar=ar.concat(__read(arguments[i]));return ar};__spreadArrays=function(){for(var s=0,i=0,il=arguments.length;i<il;i++)s+=arguments[i].length;for(var r=Array(s),k=0,i=0;i<il;i++)for(var a=arguments[i],j=0,jl=a.length;j<jl;j++,k++)r[k]=a[j];return r};__spreadArray=function(to,from,pack){if(pack||arguments.length===2)for(var i=0,l=from.length,ar;i<l;i++){if(ar||!(i in from)){if(!ar)ar=Array.prototype.slice.call(from,0,i);ar[i]=from[i]}}return to.concat(ar||Array.prototype.slice.call(from))};__await=function(v){return this instanceof __await?(this.v=v,this):new __await(v)};__asyncGenerator=function(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var g=generator.apply(thisArg,_arguments||[]),i,q=[];return i={},verb("next"),verb("throw"),verb("return",awaitReturn),i[Symbol.asyncIterator]=function(){return this},i;function awaitReturn(f){return function(v){return Promise.resolve(v).then(f,reject)}}function verb(n,f){if(g[n]){i[n]=function(v){return new Promise((function(a,b){q.push([n,v,a,b])>1||resume(n,v)}))};if(f)i[n]=f(i[n])}}function resume(n,v){try{step(g[n](v))}catch(e){settle(q[0][3],e)}}function step(r){r.value instanceof __await?Promise.resolve(r.value.v).then(fulfill,reject):settle(q[0][2],r)}function fulfill(value){resume("next",value)}function reject(value){resume("throw",value)}function settle(f,v){if(f(v),q.shift(),q.length)resume(q[0][0],q[0][1])}};__asyncDelegator=function(o){var i,p;return i={},verb("next"),verb("throw",(function(e){throw e})),verb("return"),i[Symbol.iterator]=function(){return this},i;function verb(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:__await(o[n](v)),done:false}:f?f(v):v}:f}};__asyncValues=function(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values==="function"?__values(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise((function(resolve,reject){v=o[n](v),settle(resolve,reject,v.done,v.value)}))}}function settle(resolve,reject,d,v){Promise.resolve(v).then((function(v){resolve({value:v,done:d})}),reject)}};__makeTemplateObject=function(cooked,raw){if(Object.defineProperty){Object.defineProperty(cooked,"raw",{value:raw})}else{cooked.raw=raw}return cooked};var __setModuleDefault=Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v};__importStar=function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result};__importDefault=function(mod){return mod&&mod.__esModule?mod:{default:mod}};__classPrivateFieldGet=function(receiver,state,kind,f){if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a getter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot read private member from an object whose class did not declare it");return kind==="m"?f:kind==="a"?f.call(receiver):f?f.value:state.get(receiver)};__classPrivateFieldSet=function(receiver,state,value,kind,f){if(kind==="m")throw new TypeError("Private method is not writable");if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a setter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot write private member to an object whose class did not declare it");return kind==="a"?f.call(receiver,value):f?f.value=value:state.set(receiver,value),value};__classPrivateFieldIn=function(state,receiver){if(receiver===null||typeof receiver!=="object"&&typeof receiver!=="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof state==="function"?receiver===state:state.has(receiver)};__addDisposableResource=function(env,value,async){if(value!==null&&value!==void 0){if(typeof value!=="object"&&typeof value!=="function")throw new TypeError("Object expected.");var dispose;if(async){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");dispose=value[Symbol.asyncDispose]}if(dispose===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");dispose=value[Symbol.dispose]}if(typeof dispose!=="function")throw new TypeError("Object not disposable.");env.stack.push({value,dispose,async})}else if(async){env.stack.push({async:true})}return value};var _SuppressedError=typeof SuppressedError==="function"?SuppressedError:function(error,suppressed,message){var e=new Error(message);return e.name="SuppressedError",e.error=error,e.suppressed=suppressed,e};__disposeResources=function(env){function fail(e){env.error=env.hasError?new _SuppressedError(e,env.error,"An error was suppressed during disposal."):e;env.hasError=true}function next(){while(env.stack.length){var rec=env.stack.pop();try{var result=rec.dispose&&rec.dispose.call(rec.value);if(rec.async)return Promise.resolve(result).then(next,(function(e){fail(e);return next()}))}catch(e){fail(e)}}if(env.hasError)throw env.error}return next()};return{__extends,__assign,__rest,__decorate,__param,__esDecorate,__runInitializers,__propKey,__setFunctionName,__metadata,__awaiter,__generator,__exportStar,__values,__read,__spread,__spreadArrays,__spreadArray,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet,__classPrivateFieldSet,__classPrivateFieldIn,__createBinding,__addDisposableResource,__disposeResources}}var Reflect;(function(Reflect){(function(factory){const root=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:Function("return this;")();let exporter=makeExporter(Reflect);if(typeof root.Reflect==="undefined"){root.Reflect=Reflect}else{exporter=makeExporter(root.Reflect,exporter)}factory(exporter);function makeExporter(target,previous){return(key,value)=>{if(typeof target[key]!=="function"){Object.defineProperty(target,key,{configurable:true,writable:true,value})}if(previous)previous(key,value)}}})((function(exporter){const hasOwn=Object.prototype.hasOwnProperty;const supportsSymbol=typeof Symbol==="function";const toPrimitiveSymbol=supportsSymbol&&typeof Symbol.toPrimitive!=="undefined"?Symbol.toPrimitive:"@@toPrimitive";const iteratorSymbol=supportsSymbol&&typeof Symbol.iterator!=="undefined"?Symbol.iterator:"@@iterator";const supportsCreate=typeof Object.create==="function";const supportsProto={__proto__:[]}instanceof Array;const downLevel=!supportsCreate&&!supportsProto;const HashMap={create:supportsCreate?()=>MakeDictionary(Object.create(null)):supportsProto?()=>MakeDictionary({__proto__:null}):()=>MakeDictionary({}),has:downLevel?(map,key)=>hasOwn.call(map,key):(map,key)=>key in map,get:downLevel?(map,key)=>hasOwn.call(map,key)?map[key]:undefined:(map,key)=>map[key]};const functionPrototype=Object.getPrototypeOf(Function);const usePolyfill=typeof process==="object"&&process.env&&process.env["REFLECT_METADATA_USE_MAP_POLYFILL"]==="true";const _Map=!usePolyfill&&typeof Map==="function"&&typeof Map.prototype.entries==="function"?Map:CreateMapPolyfill();const _Set=!usePolyfill&&typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:CreateSetPolyfill();const _WeakMap=!usePolyfill&&typeof WeakMap==="function"?WeakMap:CreateWeakMapPolyfill();const Metadata=new _WeakMap;function decorate(decorators,target,propertyKey,attributes){if(!IsUndefined(propertyKey)){if(!IsArray(decorators))throw new TypeError;if(!IsObject(target))throw new TypeError;if(!IsObject(attributes)&&!IsUndefined(attributes)&&!IsNull(attributes))throw new TypeError;if(IsNull(attributes))attributes=undefined;propertyKey=ToPropertyKey(propertyKey);return DecorateProperty(decorators,target,propertyKey,attributes)}else{if(!IsArray(decorators))throw new TypeError;if(!IsConstructor(target))throw new TypeError;return DecorateConstructor(decorators,target)}}exporter("decorate",decorate);function metadata(metadataKey,metadataValue){function decorator(target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey)&&!IsPropertyKey(propertyKey))throw new TypeError;OrdinaryDefineOwnMetadata(metadataKey,metadataValue,target,propertyKey)}return decorator}exporter("metadata",metadata);function defineMetadata(metadataKey,metadataValue,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryDefineOwnMetadata(metadataKey,metadataValue,target,propertyKey)}exporter("defineMetadata",defineMetadata);function hasMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryHasMetadata(metadataKey,target,propertyKey)}exporter("hasMetadata",hasMetadata);function hasOwnMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryHasOwnMetadata(metadataKey,target,propertyKey)}exporter("hasOwnMetadata",hasOwnMetadata);function getMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryGetMetadata(metadataKey,target,propertyKey)}exporter("getMetadata",getMetadata);function getOwnMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryGetOwnMetadata(metadataKey,target,propertyKey)}exporter("getOwnMetadata",getOwnMetadata);function getMetadataKeys(target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryMetadataKeys(target,propertyKey)}exporter("getMetadataKeys",getMetadataKeys);function getOwnMetadataKeys(target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryOwnMetadataKeys(target,propertyKey)}exporter("getOwnMetadataKeys",getOwnMetadataKeys);function deleteMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);const metadataMap=GetOrCreateMetadataMap(target,propertyKey,false);if(IsUndefined(metadataMap))return false;if(!metadataMap.delete(metadataKey))return false;if(metadataMap.size>0)return true;const targetMetadata=Metadata.get(target);targetMetadata.delete(propertyKey);if(targetMetadata.size>0)return true;Metadata.delete(target);return true}exporter("deleteMetadata",deleteMetadata);function DecorateConstructor(decorators,target){for(let i=decorators.length-1;i>=0;--i){const decorator=decorators[i];const decorated=decorator(target);if(!IsUndefined(decorated)&&!IsNull(decorated)){if(!IsConstructor(decorated))throw new TypeError;target=decorated}}return target}function DecorateProperty(decorators,target,propertyKey,descriptor){for(let i=decorators.length-1;i>=0;--i){const decorator=decorators[i];const decorated=decorator(target,propertyKey,descriptor);if(!IsUndefined(decorated)&&!IsNull(decorated)){if(!IsObject(decorated))throw new TypeError;descriptor=decorated}}return descriptor}function GetOrCreateMetadataMap(O,P,Create){let targetMetadata=Metadata.get(O);if(IsUndefined(targetMetadata)){if(!Create)return undefined;targetMetadata=new _Map;Metadata.set(O,targetMetadata)}let metadataMap=targetMetadata.get(P);if(IsUndefined(metadataMap)){if(!Create)return undefined;metadataMap=new _Map;targetMetadata.set(P,metadataMap)}return metadataMap}function OrdinaryHasMetadata(MetadataKey,O,P){const hasOwn=OrdinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return true;const parent=OrdinaryGetPrototypeOf(O);if(!IsNull(parent))return OrdinaryHasMetadata(MetadataKey,parent,P);return false}function OrdinaryHasOwnMetadata(MetadataKey,O,P){const metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return false;return ToBoolean(metadataMap.has(MetadataKey))}function OrdinaryGetMetadata(MetadataKey,O,P){const hasOwn=OrdinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return OrdinaryGetOwnMetadata(MetadataKey,O,P);const parent=OrdinaryGetPrototypeOf(O);if(!IsNull(parent))return OrdinaryGetMetadata(MetadataKey,parent,P);return undefined}function OrdinaryGetOwnMetadata(MetadataKey,O,P){const metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return undefined;return metadataMap.get(MetadataKey)}function OrdinaryDefineOwnMetadata(MetadataKey,MetadataValue,O,P){const metadataMap=GetOrCreateMetadataMap(O,P,true);metadataMap.set(MetadataKey,MetadataValue)}function OrdinaryMetadataKeys(O,P){const ownKeys=OrdinaryOwnMetadataKeys(O,P);const parent=OrdinaryGetPrototypeOf(O);if(parent===null)return ownKeys;const parentKeys=OrdinaryMetadataKeys(parent,P);if(parentKeys.length<=0)return ownKeys;if(ownKeys.length<=0)return parentKeys;const set=new _Set;const keys=[];for(const key of ownKeys){const hasKey=set.has(key);if(!hasKey){set.add(key);keys.push(key)}}for(const key of parentKeys){const hasKey=set.has(key);if(!hasKey){set.add(key);keys.push(key)}}return keys}function OrdinaryOwnMetadataKeys(O,P){const keys=[];const metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return keys;const keysObj=metadataMap.keys();const iterator=GetIterator(keysObj);let k=0;while(true){const next=IteratorStep(iterator);if(!next){keys.length=k;return keys}const nextValue=IteratorValue(next);try{keys[k]=nextValue}catch(e){try{IteratorClose(iterator)}finally{throw e}}k++}}function Type(x){if(x===null)return 1;switch(typeof x){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return x===null?1:6;default:return 6}}function IsUndefined(x){return x===undefined}function IsNull(x){return x===null}function IsSymbol(x){return typeof x==="symbol"}function IsObject(x){return typeof x==="object"?x!==null:typeof x==="function"}function ToPrimitive(input,PreferredType){switch(Type(input)){case 0:return input;case 1:return input;case 2:return input;case 3:return input;case 4:return input;case 5:return input}const hint=PreferredType===3?"string":PreferredType===5?"number":"default";const exoticToPrim=GetMethod(input,toPrimitiveSymbol);if(exoticToPrim!==undefined){const result=exoticToPrim.call(input,hint);if(IsObject(result))throw new TypeError;return result}return OrdinaryToPrimitive(input,hint==="default"?"number":hint)}function OrdinaryToPrimitive(O,hint){if(hint==="string"){const toString=O.toString;if(IsCallable(toString)){const result=toString.call(O);if(!IsObject(result))return result}const valueOf=O.valueOf;if(IsCallable(valueOf)){const result=valueOf.call(O);if(!IsObject(result))return result}}else{const valueOf=O.valueOf;if(IsCallable(valueOf)){const result=valueOf.call(O);if(!IsObject(result))return result}const toString=O.toString;if(IsCallable(toString)){const result=toString.call(O);if(!IsObject(result))return result}}throw new TypeError}function ToBoolean(argument){return!!argument}function ToString(argument){return""+argument}function ToPropertyKey(argument){const key=ToPrimitive(argument,3);if(IsSymbol(key))return key;return ToString(key)}function IsArray(argument){return Array.isArray?Array.isArray(argument):argument instanceof Object?argument instanceof Array:Object.prototype.toString.call(argument)==="[object Array]"}function IsCallable(argument){return typeof argument==="function"}function IsConstructor(argument){return typeof argument==="function"}function IsPropertyKey(argument){switch(Type(argument)){case 3:return true;case 4:return true;default:return false}}function GetMethod(V,P){const func=V[P];if(func===undefined||func===null)return undefined;if(!IsCallable(func))throw new TypeError;return func}function GetIterator(obj){const method=GetMethod(obj,iteratorSymbol);if(!IsCallable(method))throw new TypeError;const iterator=method.call(obj);if(!IsObject(iterator))throw new TypeError;return iterator}function IteratorValue(iterResult){return iterResult.value}function IteratorStep(iterator){const result=iterator.next();return result.done?false:result}function IteratorClose(iterator){const f=iterator["return"];if(f)f.call(iterator)}function OrdinaryGetPrototypeOf(O){const proto=Object.getPrototypeOf(O);if(typeof O!=="function"||O===functionPrototype)return proto;if(proto!==functionPrototype)return proto;const prototype=O.prototype;const prototypeProto=prototype&&Object.getPrototypeOf(prototype);if(prototypeProto==null||prototypeProto===Object.prototype)return proto;const constructor=prototypeProto.constructor;if(typeof constructor!=="function")return proto;if(constructor===O)return proto;return constructor}function CreateMapPolyfill(){const cacheSentinel={};const arraySentinel=[];class MapIterator{constructor(keys,values,selector){this._index=0;this._keys=keys;this._values=values;this._selector=selector}"@@iterator"(){return this}[iteratorSymbol](){return this}next(){const index=this._index;if(index>=0&&index<this._keys.length){const result=this._selector(this._keys[index],this._values[index]);if(index+1>=this._keys.length){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}else{this._index++}return{value:result,done:false}}return{value:undefined,done:true}}throw(error){if(this._index>=0){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}throw error}return(value){if(this._index>=0){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}return{value,done:true}}}return class Map{constructor(){this._keys=[];this._values=[];this._cacheKey=cacheSentinel;this._cacheIndex=-2}get size(){return this._keys.length}has(key){return this._find(key,false)>=0}get(key){const index=this._find(key,false);return index>=0?this._values[index]:undefined}set(key,value){const index=this._find(key,true);this._values[index]=value;return this}delete(key){const index=this._find(key,false);if(index>=0){const size=this._keys.length;for(let i=index+1;i<size;i++){this._keys[i-1]=this._keys[i];this._values[i-1]=this._values[i]}this._keys.length--;this._values.length--;if(key===this._cacheKey){this._cacheKey=cacheSentinel;this._cacheIndex=-2}return true}return false}clear(){this._keys.length=0;this._values.length=0;this._cacheKey=cacheSentinel;this._cacheIndex=-2}keys(){return new MapIterator(this._keys,this._values,getKey)}values(){return new MapIterator(this._keys,this._values,getValue)}entries(){return new MapIterator(this._keys,this._values,getEntry)}"@@iterator"(){return this.entries()}[iteratorSymbol](){return this.entries()}_find(key,insert){if(this._cacheKey!==key){this._cacheIndex=this._keys.indexOf(this._cacheKey=key)}if(this._cacheIndex<0&&insert){this._cacheIndex=this._keys.length;this._keys.push(key);this._values.push(undefined)}return this._cacheIndex}};function getKey(key,_){return key}function getValue(_,value){return value}function getEntry(key,value){return[key,value]}}function CreateSetPolyfill(){return class Set{constructor(){this._map=new _Map}get size(){return this._map.size}has(value){return this._map.has(value)}add(value){return this._map.set(value,value),this}delete(value){return this._map.delete(value)}clear(){this._map.clear()}keys(){return this._map.keys()}values(){return this._map.values()}entries(){return this._map.entries()}"@@iterator"(){return this.keys()}[iteratorSymbol](){return this.keys()}}}function CreateWeakMapPolyfill(){const UUID_SIZE=16;const keys=HashMap.create();const rootKey=CreateUniqueKey();return class WeakMap{constructor(){this._key=CreateUniqueKey()}has(target){const table=GetOrCreateWeakMapTable(target,false);return table!==undefined?HashMap.has(table,this._key):false}get(target){const table=GetOrCreateWeakMapTable(target,false);return table!==undefined?HashMap.get(table,this._key):undefined}set(target,value){const table=GetOrCreateWeakMapTable(target,true);table[this._key]=value;return this}delete(target){const table=GetOrCreateWeakMapTable(target,false);return table!==undefined?delete table[this._key]:false}clear(){this._key=CreateUniqueKey()}};function CreateUniqueKey(){let key;do{key="@@WeakMap@@"+CreateUUID()}while(HashMap.has(keys,key));keys[key]=true;return key}function GetOrCreateWeakMapTable(target,create){if(!hasOwn.call(target,rootKey)){if(!create)return undefined;Object.defineProperty(target,rootKey,{value:HashMap.create()})}return target[rootKey]}function FillRandomBytes(buffer,size){for(let i=0;i<size;++i)buffer[i]=Math.random()*255|0;return buffer}function GenRandomBytes(size){if(typeof Uint8Array==="function"){if(typeof crypto!=="undefined")return crypto.getRandomValues(new Uint8Array(size));if(typeof msCrypto!=="undefined")return msCrypto.getRandomValues(new Uint8Array(size));return FillRandomBytes(new Uint8Array(size),size)}return FillRandomBytes(new Array(size),size)}function CreateUUID(){const data=GenRandomBytes(UUID_SIZE);data[6]=data[6]&79|64;data[8]=data[8]&191|128;let result="";for(let offset=0;offset<UUID_SIZE;++offset){const byte=data[offset];if(offset===4||offset===6||offset===8)result+="-";if(byte<16)result+="0";result+=byte.toString(16).toLowerCase()}return result}}function MakeDictionary(obj){obj.__=undefined;delete obj.__;return obj}}))})(Reflect||(Reflect={}));if(!Array.prototype.find){Array.prototype.find=function(predicate,thisArg){for(let i=0;i<this.length;i++){const item=this[i];if(predicate(item,i,this)){return item}}}}if(!Array.prototype.findIndex){Array.prototype.findIndex=function(predicate,thisArg){for(let i=0;i<this.length;i++){const item=this[i];if(predicate(item,i,this)){return i}}return-1}}if(!Array.prototype.map){Array.prototype.map=function(callbackfn,thisArg){const a=[];for(let i=0;i<this.length;i++){const r=callbackfn(this[i],i,this);if(r!==undefined){a.push(r)}}return a}}if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,endPosition){const index=this.indexOf(searchString,endPosition);return index===0}}if(!String.prototype.endsWith){String.prototype.endsWith=function(searchString,endPosition){const index=this.lastIndexOf(searchString,endPosition);if(index===-1){return false}const l=this.length-index;return l===searchString.length}}if(!Number.parseInt){Number.parseInt=function(n){return Math.floor(parseFloat(n))}}if(!Number.parseFloat){Number.parseFloat=function(n){return parseFloat(n)}}if(typeof Element!=="undefined"){if(!("remove"in Element.prototype)){Element.prototype["remove"]=function(){if(this.parentNode){this.parentNode.removeChild(this)}}}}const currentModuleSymbol=Symbol("currentModule");class Module{get url(){const u=AmdLoader.instance.resolveSource(this.name);Object.defineProperty(this,"url",{value:u,enumerable:true});return u}get meta(){return{url:this.url,resolve:this.require.resolve}}get filename(){return this.name}constructor(name,folder){this.name=name;this.folder=folder;this.emptyExports={};this.packed=false;this.isLoaded=false;this.isResolved=false;this.dependencies=[];this.rID=null;const index=name.lastIndexOf("/");if(index===-1){this.folder=""}else{this.folder=name.substring(0,index)}this.exports=this.emptyExports}import(name){const resolvedName=this.require.resolve(name);return AmdLoader.instance.import(resolvedName)}addDependency(d){this.dependencies.push(d);if(UMD.debug){if(d.isDependentOn(this)){console.warn(`${d.name} already depends on ${this.name}`)}}}getExports(){if(this.factory){try{const factory=this.factory;this.factory=null;delete this.factory;AmdLoader.instance.currentStack.push(this);const result=factory(this.require,this.exports);if(result){if(typeof result==="object"||typeof result==="function"){this.exports=result;if(typeof result.default==="undefined"){result.default=result}}else if(!this.exports.default){this.exports.default=result}}AmdLoader.instance.currentStack.pop();delete this.factory;const def=this.exports.default;if(typeof def==="function"||typeof def==="object"){def[UMD.nameSymbol]=this.name}}catch(e){const em=e.stack?`${e}\n${e.stack}`:e;const s=[];console.error(e);for(const iterator of AmdLoader.instance.currentStack){s.push(iterator.name);console.error(iterator.name)}const ne=new Error(`Failed loading module ${this.name} with error ${em}\nDependents: ${s.join("\n\t")}`);console.error(ne);throw ne}}return this.exports}isDependentOn(m,visited){visited!==null&&visited!==void 0?visited:visited=new Set;visited.add(this);for(const iterator of this.dependencies){if(iterator===m){return true}if(visited.has(iterator)){continue}if(iterator.isDependentOn(m,visited)){return true}}return false}}Module.nextID=1;var _a,_b,_c;var _d,_e;if(typeof require!=="undefined"){md=require("module").Module}const promiseDone=Promise.resolve(0);(_a=(_d=Symbol).dispose)!==null&&_a!==void 0?_a:_d.dispose=Symbol("dispose");(_b=(_e=Symbol).asyncDispose)!==null&&_b!==void 0?_b:_e.asyncDispose=Symbol("asyncDispose");class AmdLoader{constructor(){this.root=null;this.defaultUrl=null;this.currentStack=[];this.nodeModules=[];this.modules=new Map;this.pathMap=new Map;this.mockTypes=[]}register(packages,modules){for(const iterator of packages){if(!this.pathMap.has(iterator)){this.map(iterator,"/")}}for(const iterator of modules){this.get(iterator)}}setupRoot(root,url){if(url.endsWith("/")){url=url.substring(0,url.length-1)}for(const key of this.pathMap.keys()){const moduleUrl=key===root?url:`${url}/node_modules/${key}`;this.map(key,moduleUrl)}this.defaultUrl=`${url}/node_modules/`}registerModule(name,moduleExports){const m=this.get(name);m.package.url="/";m.exports=Object.assign({__esModule:true},moduleExports);m.loader=promiseDone;m.resolver=()=>Promise.resolve(m.exports);m.isLoaded=true;m.isResolved=true}setup(name){const jsModule=this.get(name);jsModule.packed=true;AmdLoader.current=jsModule}replace(type,name,mock){if(mock&&!this.enableMock){return}const peek=this.currentStack.length?this.currentStack[this.currentStack.length-1]:undefined;name=this.resolveRelativePath(name,peek.name);const rt=new MockType(peek,type,name,mock);rt.replacedModule=this.get(rt.moduleName);rt.replacedModule.postExports=()=>{rt.replaced=rt.replacedModule.getExports()[rt.exportName]};(peek.dynamicImports=peek.dynamicImports||[]).push(rt);this.mockTypes.push(rt)}resolveType(type){const t=this.mockTypes.find((tx=>tx.type===type));return t?t.replaced:type}map(packageName,packageUrl,type="amd",exportVar){let existing=this.pathMap.get(packageName);if(existing){existing.url=packageUrl;existing.exportVar=exportVar;existing.type=type;return existing}existing={name:packageName,url:packageUrl,type,exportVar,version:""};if(packageName==="reflect-metadata"){type="global"}this.pathMap.set(packageName,existing);return existing}resolveSource(name,defExt=".js"){try{if(/^((\/)|((http|https)\:\/\/))/i.test(name)){return name}let path=null;for(const key of this.pathMap.keys()){const packageName=key;if(name.startsWith(packageName)){path=this.pathMap.get(key).url;if(name.length!==packageName.length){if(name[packageName.length]!=="/"){continue}name=name.substring(packageName.length+1)}else{return path}if(path.endsWith("/")){path=path.substring(0,path.length-1)}path=path+"/"+name;const i=name.lastIndexOf("/");const fileName=name.substring(i+1);if(!/\.(js|mjs|jpg|jpeg|gif|png|mp4|mp3|css|less|scss|html|svg|webp|webm|json)$/i.test(fileName)){path=path+defExt}return path}}return name}catch(e){console.error(`Failed to resolve ${name} with error ${JSON.stringify(e)}`);console.error(e)}}resolveRelativePath(name,currentPackage){if(name.charAt(0)!=="."){return name}const tokens=name.split("/");const currentTokens=currentPackage.split("/");currentTokens.pop();while(tokens.length){const first=tokens[0];if(first===".."){currentTokens.pop();tokens.splice(0,1);continue}if(first==="."){tokens.splice(0,1)}break}return`${currentTokens.join("/")}/${tokens.join("/")}`}getPackageVersion(name){let[scope,packageName]=name.split("/",3);let version="";if(scope[0]!=="@"){packageName=scope;scope=""}else{scope+="/"}const versionTokens=packageName.split("@");if(versionTokens.length>1){version=versionTokens[1];name=name.replace("@"+version,"")}packageName=scope+packageName;return{packageName,version,name}}get(name1){let module=this.modules.get(name1);if(!module){const{packageName,version,name}=this.getPackageVersion(name1);module=new Module(name);this.modules.set(name1,module);let pp=this.pathMap.get(packageName);if(!pp){pp={type:"amd",name:packageName,version,url:this.defaultUrl?this.defaultUrl+packageName:undefined};this.pathMap.set(packageName,pp)}module.package=pp;module.require=(n,resolve,reject)=>{let isAsync=false;if(typeof n!=="string"){n=n[0];isAsync=true}const an=this.resolveRelativePath(n,module.name);const resolvedModule=this.get(an);if(isAsync){return this.import(resolvedModule).then(resolve,reject)}const m=resolvedModule.getExports();return m};module.require.resolve=n=>this.resolveRelativePath(n,module.name);this.modules.set(name,module)}return module}import(name){var _a;const module=typeof name==="object"?name:this.get(name);if(module.importPromise){return module.importPromise}const m=this.importNodeModule(module);if(m){return m}return(_a=module.importPromise)!==null&&_a!==void 0?_a:module.importPromise=module.isResolved?Promise.resolve(module.getExports()):this.importAsync(module)}importNodeModule(module){if(typeof require!=="undefined"){const name=module.url;const moduleCode=require("fs").readFileSync(require.resolve(name),"utf8").trim();if(!/^System\.Register/.test(moduleCode)){return Promise.resolve(require(name))}}}importAsync(module){return __awaiter(this,void 0,void 0,(function*(){yield this.load(module);if(module.resolver){return yield module.resolver()}return yield this.resolve(module)}))}resolve(module){return __awaiter(this,void 0,void 0,(function*(){const ds=[];if(UMD.debug){const waiting=module.waiting=[];for(const iterator of module.dependencies){if(iterator.isResolved||iterator.importPromise&&iterator.isDependentOn(module)){continue}waiting.push(iterator);ds.push(this.import(iterator))}}else{for(const iterator of module.dependencies){if(iterator.isResolved||iterator.importPromise&&iterator.isDependentOn(module)){continue}ds.push(this.import(iterator))}}yield Promise.all(ds);const exports=module.getExports();module.isResolved=true;if(module.postExports){module.postExports()}if(module.dynamicImports){for(const iterator of module.dynamicImports){if(iterator.replacedModule.importPromise){continue}yield this.import(iterator.replacedModule)}}return exports}))}load(module){if(module.loader){return module.loader}if(AmdLoader.isJson.test(module.url)){const mUrl=module.url.startsWith(module.package.url)?module.url:module.package.url+module.url;module.loader=new Promise(((resolve,reject)=>{try{AmdLoader.httpTextLoader(mUrl,(r=>{try{module.exports=JSON.parse(r);module.exports.default=module.exports;module.emptyExports=module.exports;module.isLoaded=true;resolve()}catch(e){reject(e)}}),reject)}catch(e1){reject(e1)}}));return module.loader}if(AmdLoader.isCss.test(module.url)){const m={get url(){var _a;let mUrl=!module.url.startsWith(module.package.url)?module.package.url+module.url:module.url;const[_,g1]=(_a=/\.((global|local)[^\.]{0,10})\.(css|less|scss)$/i.exec(mUrl))!==null&&_a!==void 0?_a:[];let segment=g1!==null&&g1!==void 0?g1:"local-high";if(!/^(global|local)/.test(segment)){segment="local-high"}if(!/\.css$/i.test(mUrl)){mUrl+=".css"}if(!module.packed){window.installStyleSheet(mUrl)}return mUrl},toString(){return this.url}};const e={__esModule:true,default:m.url};module.exports=e;module.emptyExports=e;module.loader=promiseDone;module.isLoaded=true;return module.loader}if(AmdLoader.isMedia.test(module.url)){const m={get url(){const mUrl=!module.url.startsWith(module.package.url)?module.package.url+module.url:module.url;Object.defineProperty(m,"url",{value:mUrl,enumerable:true});return mUrl},toString(){return this.url}};const e={__esModule:true,default:m};module.exports=e;module.emptyExports=e;module.loader=promiseDone;module.isLoaded=true;return module.loader}module.loader=new Promise(((resolve,reject)=>{const script=AmdLoader.moduleLoader(module.name,module.url,(()=>{try{AmdLoader.current=module;if(AmdLoader.instance.define){AmdLoader.instance.define();AmdLoader.instance.define=null}if(module.exportVar){module.exports=AmdLoader.globalVar[module.exportVar]}if(AmdLoader.moduleProgress){AmdLoader.moduleProgress(module.name,this.modules,"loading")}module.isLoaded=true;resolve()}catch(e){console.error(e);reject(e)}}),(error=>{reject(error)}));script[currentModuleSymbol]=module}));return module.loader}}AmdLoader.isMedia=/\.(jpg|jpeg|gif|png|mp4|mp3|css|less|scss|html|svg|webp|webm)$/i;AmdLoader.isCss=/\.(css|less|scss)$/i;AmdLoader.isJson=/\.json$/i;AmdLoader.globalVar={};AmdLoader.instance=new AmdLoader;AmdLoader.current=null;const a=AmdLoader.instance;a.map("global","/","global");a.registerModule("global/document",{default:document});a.registerModule("global/window",{default:typeof window!=="undefined"?window:global});a.map("reflect-metadata","/","global");a.registerModule("reflect-metadata",Reflect);AmdLoader.moduleLoader=(name,url,success,error)=>{const script=document.createElement("script");script.type="text/javascript";script.src=url;const s=script;script.onload=s.onreadystatechange=()=>{if(s.readyState&&s.readyState!=="complete"&&s.readyState!=="loaded"){return}script.onload=s.onreadystatechange=null;success()};script.onerror=e=>{error(e)};document.body.appendChild(script);return script};AmdLoader.httpTextLoader=(url,success,error)=>{const xhr=new XMLHttpRequest;xhr.onreadystatechange=e=>{if(xhr.readyState===XMLHttpRequest.DONE){if(xhr.status===200){success(xhr.responseText)}else{error(xhr.responseText)}}};xhr.open("GET",url);xhr.send()};var amdConfig;amdConfig!==null&&amdConfig!==void 0?amdConfig:amdConfig={};(_c=amdConfig.moduleProgress)!==null&&_c!==void 0?_c:amdConfig.moduleProgress=(()=>{if(!document){return(name,p)=>{console.log(`${name} ${p}%`)}}return(name,n,status)=>{}})();AmdLoader.moduleProgress=amdConfig.moduleProgress;var define=(requiresOrFactory,factory,nested)=>{const loader=AmdLoader.instance;const{currentScript}=document;let module;if(currentScript){module=currentScript[currentModuleSymbol];if(module){AmdLoader.current=module}}module!==null&&module!==void 0?module:module=AmdLoader.current;let requires=[];if(typeof requiresOrFactory!=="function"){requires=requiresOrFactory}else{factory=requiresOrFactory}if(!module){factory();return}if(module.factory){return}module.dependencies=[];const args=[];for(const s of requires){if(s==="require"){args.push(module.require);continue}if(s==="exports"){args.push(module.emptyExports);continue}if(/^global/.test(s)){args.push(loader.get(s).exports)}const name=loader.resolveRelativePath(s,module.name);const child=loader.get(name);module.addDependency(child)}module.factory=()=>factory.apply(module,args)};define.amd={};class MockType{constructor(module,type,name,mock,moduleName,exportName){this.module=module;this.type=type;this.name=name;this.mock=mock;this.moduleName=moduleName;this.exportName=exportName;this.name=name=name.replace("{lang}",UMD.lang).replace("{platform}",UMD.viewPrefix);if(name.indexOf("$")!==-1){const tokens=name.split("$");this.moduleName=tokens[0];this.exportName=tokens[1]||tokens[0].split("/").pop()}else{this.moduleName=name;this.exportName="default"}}}const merge=(target,source)=>{for(const key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}};const enumerable=true,configurable=true;class System{static resolve(id){return AmdLoader.instance.resolveSource(id)}static import(name){return AmdLoader.instance.import(name)}static register(nameOrImports,importsOrSetup,setup){var _a,_b;const instance=AmdLoader.instance;const currentModule=(_b=(_a=document.currentScript)===null||_a===void 0?void 0:_a[currentModuleSymbol])!==null&&_b!==void 0?_b:AmdLoader.current;const name=typeof nameOrImports==="string"?nameOrImports:void 0;let imports=importsOrSetup;if(arguments.length===2){imports=nameOrImports;setup=importsOrSetup}const module=name?instance.get(name):currentModule;if(module.packed){for(const d of imports){const absolutePath=module.require.resolve(d);const dm=instance.get(absolutePath);if(/\.(css|less)$/i.test(absolutePath)){dm.packed=true}module.dependencies.push(dm)}}else{for(const d of imports){const absolutePath=module.require.resolve(d);const dm=instance.get(absolutePath);module.dependencies.push(dm)}}module.isLoaded=true;if(module.exportVar){module.exports=AmdLoader.globalVar[module.exportVar]}module.setup=setup;module.loader=promiseDone;const r=module.setup(((key,value)=>{if(typeof key==="object"){merge(module.exports,key);if(!module.exports.default){module.exports.default=module.exports}return module.exports}module.exports[key]=value;return value}),module);module.resolver=()=>__awaiter(this,void 0,void 0,(function*(){const ds=[];const{setters}=r;let isCircularDependency;let index=0;for(const iterator of module.dependencies){const set=setters[index++];if(iterator.isResolved){set(iterator.getExports());continue}const setP=this.import(iterator).then(set);if(iterator.isDependentOn(module)){isCircularDependency=true;continue}ds.push(setP)}yield Promise.all(ds);if(isCircularDependency){yield new Promise((resolve=>setTimeout(resolve,1)))}const rp=r.execute();if(rp===null||rp===void 0?void 0:rp.then){yield rp}module.isResolved=true;module.getExports();if(module.postExports){module.postExports()}if(module.dynamicImports){for(const iterator of module.dynamicImports){if(iterator.replacedModule.importPromise){continue}yield this.import(iterator.replacedModule)}}return module.exports}));return module}}const globalNS=typeof window!=="undefined"?window:global;class UMDClass{constructor(){this.debug=false;this.viewPrefix="web";this.defaultApp="@web-atoms/core/dist/web/WebApp";this.lang="en-US";this.nameSymbol=typeof Symbol!=="undefined"?Symbol():"_$_nameSymbol"}get mock(){return AmdLoader.instance.enableMock}set mock(v){AmdLoader.instance.enableMock=v}resolvePath(n){return AmdLoader.instance.resolveSource(n,null)}resolveViewPath(path){return path.replace("{platform}",this.viewPrefix)}resolveType(type){return AmdLoader.instance.resolveType(type)}map(name,path,type="amd",exportVar){AmdLoader.instance.map(name,path,type,exportVar)}setupRoot(name,url){AmdLoader.instance.setupRoot(name,url)}mockType(type,name){AmdLoader.instance.replace(type,name,true)}inject(type,name){AmdLoader.instance.replace(type,name,false)}resolveViewClassAsync(path){return __awaiter(this,void 0,void 0,(function*(){path=this.resolveViewPath(path);const e=yield AmdLoader.instance.import(path);return e.default}))}import(path){return AmdLoader.instance.import(path)}load(path,designMode){return __awaiter(this,void 0,void 0,(function*(){this.mock=designMode;const t=yield AmdLoader.instance.import("@web-atoms/core/dist/core/types");const a=yield AmdLoader.instance.import("@web-atoms/core/dist/Atom");a.Atom.designMode=designMode;const al=yield AmdLoader.instance.import("@web-atoms/core/dist/core/AtomList");return yield AmdLoader.instance.import(path)}))}hostView(id,path,designMode){return __awaiter(this,void 0,void 0,(function*(){var _a;try{this.mock=designMode;AmdLoader.instance.get(path);const m=yield this.load(this.defaultApp,designMode);const app=(_a=globalNS.webApp)!==null&&_a!==void 0?_a:globalNS.webApp=new m.default;yield app.initPromise;const viewClass=yield AmdLoader.instance.import(path);const view=new viewClass.default(app);const element=typeof id==="string"?document.getElementById(id):id;element.appendChild(view.element);return view}catch(e){console.error(e)}}))}loadView(path,designMode,appPath){return __awaiter(this,void 0,void 0,(function*(){var _a;try{this.mock=designMode;appPath=appPath||this.defaultApp;AmdLoader.instance.get(path);const m=yield this.load(appPath,designMode);const app=(_a=globalNS.webApp)!==null&&_a!==void 0?_a:globalNS.webApp=new m.default;yield app.initPromise;const viewClass=yield AmdLoader.instance.import(path);const view=new viewClass.default(app);app.root=view;return view}catch(er){console.error(er);throw er}}))}installStyleSheet(path,imports={}){}}const UMD=new UMDClass;(u=>{globalNS.UMD=u;globalNS.AmdLoader=AmdLoader;globalNS.System=System;AmdLoader.instance.registerModule("tslib",setupTSLib())})(UMD);if(window){let first=document.head.firstElementChild;const markers={};const addMarker=name=>{const m=document.createElement("meta");m.name=name+"-marker";if(first){first.insertAdjacentElement("afterend",m)}else{document.head.insertAdjacentElement("afterbegin",m)}first=m;markers[name]=m;return m};addMarker("global-low");addMarker("global");addMarker("global-high");addMarker("local-low");addMarker("local");addMarker("local-high");window.installStyleSheet=UMD.installStyleSheet=(path,{imports}={})=>{var _a,_b;const[_,g1]=(_a=/\.((global|local)[^\.]{0,10})\.(css|less|scss)$/i.exec(path))!==null&&_a!==void 0?_a:[];let segment=g1!==null&&g1!==void 0?g1:"local-high";if(!/^(global|local)/.test(segment)){segment="local-high"}const marker=(_b=markers[segment])!==null&&_b!==void 0?_b:markers["local"];const link=document.createElement("link");link.rel="stylesheet";link.href=path;marker.insertAdjacentElement("beforebegin",link)}}AmdLoader.instance.register(["@social-mail/social-mail-client","@web-atoms/web-controls","@web-atoms/core","@web-atoms/date-time","@web-atoms/data-styles","@web-atoms/entity","@web-atoms/email-dom"],["@social-mail/social-mail-client/dist/public/channel/ChannelApp","@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/AtomLoader","@web-atoms/core/dist/services/JsonService","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/di/RegisterSingleton","@web-atoms/core/dist/di/Register","@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/AtomMap","@web-atoms/core/dist/di/ServiceCollection","@web-atoms/core/dist/di/TypeKey","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan","@web-atoms/core/dist/services/ReferenceService","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/core/AtomUri","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/EventScope","@web-atoms/core/dist/core/Route","@web-atoms/core/dist/core/InheritedProperty","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/ExpressionParser","@web-atoms/core/dist/services/NavigationService","@web-atoms/core/dist/core/AtomComponent","@web-atoms/core/dist/App","@web-atoms/core/dist/core/AtomDispatcher","@web-atoms/core/dist/di/ServiceProvider","@web-atoms/core/dist/core/TransientDisposable","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/services/BusyIndicatorService","@web-atoms/core/dist/core/AtomList","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@web-atoms/core/dist/core/Hacks","@web-atoms/core/dist/core/PropertyMap","@web-atoms/core/dist/core/FormattedString","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/WebImage","@web-atoms/core/dist/web/styles/AtomStyle","@web-atoms/core/dist/web/styles/AtomStyleSheet","@web-atoms/core/dist/web/services/PopupService","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/desktop-app/DesktopApp","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/services/http/JsonError","@social-mail/social-mail-client/dist/style/GlobalStyle","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@web-atoms/data-styles/data-styles","@web-atoms/core/dist/Pack","@social-mail/social-mail-client/dist/public/channel/commands/ChannelCommands","@social-mail/social-mail-client/dist/public/channel/pages/ChannelCalendarPage","@social-mail/social-mail-client/dist/model/model","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/entity/dist/models/Cloner","@web-atoms/entity/dist/models/cloneSource","@web-atoms/entity/dist/models/IEntityModel","@web-atoms/entity/dist/services/mergeProperties","@web-atoms/entity/dist/services/Query","@web-atoms/entity/dist/services/StringHelper","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/entity/dist/services/resolve","@web-atoms/entity/dist/models/TaskManager","@web-atoms/entity/dist/models/Queue","@social-mail/social-mail-client/dist/common/cache/CacheTTL","@web-atoms/web-controls/dist/basic/Calendar","@web-atoms/core/dist/core/WatchProperty","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Colors","@web-atoms/web-controls/dist/basic/MergeNode","@web-atoms/web-controls/dist/basic/ItemPath","@web-atoms/web-controls/dist/DataAttributes","@web-atoms/web-controls/dist/basic/elements/AtomPopover","@web-atoms/web-controls/dist/basic/elements/relativeRect","@web-atoms/web-controls/dist/basic/elements/getContainingBlock","@web-atoms/web-controls/dist/basic/Select","@web-atoms/web-controls/dist/basic/TimeEditor","@social-mail/social-mail-client/dist/common/Mailto","@social-mail/social-mail-client/dist/public/channel/UrlService","@social-mail/social-mail-client/dist/common/apiPath","@social-mail/social-mail-client/dist/common/CDN","@social-mail/social-mail-client/dist/common/Slugger","@social-mail/social-mail-client/dist/common/toBase36","@social-mail/social-mail-client/dist/common/TestMode","@social-mail/social-mail-client/dist/public/channel/pages/BaseChannelPage","@web-atoms/core/dist/core/InjectProperty","@social-mail/social-mail-client/dist/services/EntityService","@social-mail/social-mail-client/dist/services/BusyProgress","@social-mail/social-mail-client/dist/public/channel/BlogService","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/services/email/EmailContentDownloader","@social-mail/social-mail-client/dist/common/cache/CacheVersions","@social-mail/social-mail-client/dist/web/page/mails/service/EngagementService","@social-mail/social-mail-client/dist/public/channel/controls/blog-header/BlogHeader","@social-mail/social-mail-client/dist/public/channel/controls/RecentPosts","@social-mail/social-mail-client/dist/public/channel/controls/PostList","@social-mail/social-mail-client/content/images/gif/loader.gif","@social-mail/social-mail-client/dist/public/channel/BlogImageService","@social-mail/social-mail-client/content/images/svg/logo/logo-orange.svg","@social-mail/social-mail-client/dist/public/channel/controls/TagCloud","@social-mail/social-mail-client/dist/public/channel/controls/UpcomingEvents","@social-mail/social-mail-client/dist/common/controls/Loader","@social-mail/social-mail-client/dist/public/channel/pages/video/ChannelVideosPage","@social-mail/social-mail-client/dist/common/FileUrlService","@social-mail/social-mail-client/dist/public/channel/controls/Pager","@social-mail/social-mail-client/dist/public/channel/pages/photo/ChannelPhotosPage","@social-mail/social-mail-client/dist/public/channel/pages/posts/ChannelPage","@social-mail/social-mail-client/dist/public/channel/controls/channel-post/ChannelPost","@social-mail/social-mail-client/dist/common/date/DateFormats","@social-mail/social-mail-client/dist/public/channel/controls/MediaCarousel","@social-mail/social-mail-client/dist/common/controls/image/ImageLoader","@web-atoms/web-controls/dist/basic/LimitedText","@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService","@web-atoms/email-dom/dist/DomToString","@web-atoms/email-dom/dist/dom/StyleHelper","@web-atoms/email-dom/dist/style/mergeStyle","@social-mail/social-mail-client/dist/common/events/CommonEvents","@social-mail/social-mail-client/dist/web/commands/MailAppEvents","@social-mail/social-mail-client/dist/common/fileUrl","@social-mail/social-mail-client/dist/public/channel/emoji/EmojiPopup","@web-atoms/core/dist/web/WebApp","@web-atoms/core/dist/core/AtomOnce","@web-atoms/core/dist/web/services/WebBusyIndicatorService","@web-atoms/core/dist/web/styles/StyleBuilder","@web-atoms/core/dist/web/services/WindowService","@web-atoms/core/dist/Atom","@web-atoms/core/dist/core/FormattedError","@web-atoms/core/dist/view-model/AtomWindowViewModel","@web-atoms/core/dist/view-model/AtomViewModel","@web-atoms/core/dist/view-model/baseTypes","@web-atoms/core/dist/web/controls/AtomAlertWindow","@web-atoms/core/dist/web/styles/AtomAlertWindowStyle","@web-atoms/core/dist/web/styles/AtomWindowStyle","@web-atoms/core/src/web/images/close-button-hover.svg","@web-atoms/core/dist/web/controls/AtomWindow","@web-atoms/core/dist/web/controls/AtomTemplate","@web-atoms/core/dist/web/controls/AtomNotification","@web-atoms/core/dist/web/styles/AtomNotificationStyle","@web-atoms/core/dist/web/styles/AtomPopupStyle","@web-atoms/core/dist/web/services/NotificationPopup","@web-atoms/core/dist/web/styles/AtomTheme","@social-mail/social-mail-client/dist/public/channel/pages/comments/PostComments","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/public/channel/pages/tags/ChannelTagsPage","@social-mail/social-mail-client/dist/site-editor/editor/webComponentsPath"]);AmdLoader.instance.setup("@web-atoms/core/dist/core/StringHelper");System.register([],(function(_export,_context){"use strict";var StringHelper;_export("StringHelper",void 0);return{setters:[],execute:function(){_export("StringHelper",StringHelper=class StringHelper{static escapeRegExp(text){return text.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}static createContainsRegExp(text){return new RegExp(this.escapeRegExp(text),"i")}static createContainsAnyWordRegExp(text){return new RegExp(text.split(/\s+/g).map((x=>`(${this.escapeRegExp(x)})`)).join("|"),"i")}static containsIgnoreCase(source,test){if(!source){return false}if(!test){return true}return this.createContainsRegExp(test).test(source)}static containsAnyWordIgnoreCase(source,test){if(!source){return false}if(!test){return true}return this.createContainsAnyWordRegExp(test).test(source)}static fromCamelToHyphen(input){return input.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}static fromCamelToUnderscore(input){return input.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase()}static fromCamelToPascal(input){return input[0].toUpperCase()+input.substr(1)}static fromHyphenToCamel(input){return input.replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}static fromUnderscoreToCamel(input){return input.replace(/\_([a-z])/g,(g=>g[1].toUpperCase()))}static fromPascalToCamel(input){return input[0].toLowerCase()+input.substr(1)}static fromPascalToTitleCase(s){return s.replace(/([A-Z])/gm,((x,g,i)=>i?" "+x:x))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomMap");System.register([],(function(_export,_context){"use strict";return{setters:[],execute:function(){Map.prototype.getOrCreate=function(key,factory){let item=this.get(key);if(item===undefined){item=factory(key);this.set(key,item)}return item};_export("default",Map)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/types");System.register(["reflect-metadata","./AtomMap"],(function(_export,_context){"use strict";var Map,CancelToken,ArrayHelper,_a,_b,_c,ignoreValue,errorHandled,flat,groupBy,globalNS,DI,UMD;_export({CancelToken:void 0,ArrayHelper:void 0});return{setters:[function(_reflectMetadata){},function(_AtomMap){Map=_AtomMap.default}],execute:function(){_export("ignoreValue",ignoreValue=Symbol("ignore"));_export("errorHandled",errorHandled=Symbol("errorHandled"));_export("CancelToken",CancelToken=class CancelToken{static isCancelled(e){var _a;if(e[errorHandled]){return true}if(/^(cancelled$|canceled$|aborterror\:)/i.test((_a=e.message)!==null&&_a!==void 0?_a:e.toString().trim())){return true}if(e.name==="AbortError"){return true}}get cancelled(){return this.mCancelled}constructor(timeout=-1){this.listeners=[];this.mCancelled=null;this.cancelTimeout=null;if(timeout>0){this.cancelTimeout=setTimeout((()=>{this.cancelTimeout=null;this.cancel("timeout")}),timeout)}}cancel(r="cancelled"){this.mCancelled=r;const existing=this.listeners.slice(0);this.listeners.length=0;for(const fx of existing){fx(r)}this.dispose()}reset(){this.mCancelled=null;this.dispose()}dispose(){this.listeners.length=0;if(this.cancelTimeout){clearTimeout(this.cancelTimeout)}}registerForCancel(f){if(this.mCancelled){f(this.mCancelled);this.cancel();return}this.listeners.push(f)}});_export("ArrayHelper",ArrayHelper=class ArrayHelper{static remove(a,filter){for(let i=0;i<a.length;i++){const item=a[i];if(filter(item)){a.splice(i,1);return true}}return false}});(_a=Object.values)!==null&&_a!==void 0?_a:Object.values=function(t){const r=[];for(const key in t){if(Object.prototype.hasOwnProperty.call(t,key)){const element=t[key];r.push(element)}}return r};flat=(_b=Array.prototype.flat)!==null&&_b!==void 0?_b:function(depth=1){const r=[];const flat=depth>0;const nestDepth=depth-1;const nestFlat=nestDepth>0;for(const iterator of this){if(flat&&Array.isArray(iterator)){if(nestFlat){r.push(...iterator.flat(nestDepth));continue}r.push(...iterator);continue}r.push(iterator)}return r};groupBy=(_c=Array.prototype.groupBy)!==null&&_c!==void 0?_c:function(keySelector){const map=new Map;const groups=[];for(const iterator of this){const key=keySelector(iterator);let g=map.get(key);if(!g){g=[];g.key=key;groups.push(g);map.set(key,g)}g.push(iterator)}map.clear();return groups};Object.defineProperties(Array.prototype,{flat:{enumerable:false,value:flat,configurable:true},groupBy:{enumerable:false,value:groupBy,configurable:true}});globalNS=typeof window!=="undefined"?window:global;_export("DI",DI=globalNS.UMD);_export("UMD",UMD=globalNS.UMD)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/TypeKey");System.register(["../core/AtomMap"],(function(_export,_context){"use strict";var AtomMap,TypeKey;_export("TypeKey",void 0);return{setters:[function(_coreAtomMap){AtomMap=_coreAtomMap.default}],execute:function(){_export("TypeKey",TypeKey=class TypeKey{static get(c){return c}static getName(c){return TypeKey.keys.getOrCreate(c,(c1=>{const key=`${c1.name||"key"}${TypeKey.keys.size}`;return key}))}});TypeKey.keys=new AtomMap}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/ServiceCollection");System.register(["../core/types","./TypeKey"],(function(_export,_context){"use strict";var ArrayHelper,TypeKey,ServiceDescription,ServiceCollection,Scope;_export({ServiceDescription:void 0,ServiceCollection:void 0,Scope:void 0});return{setters:[function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper},function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){(function(Scope){Scope[Scope["Global"]=1]="Global";Scope[Scope["Scoped"]=2]="Scoped";Scope[Scope["Transient"]=3]="Transient"})(Scope||_export("Scope",Scope={}));_export("ServiceDescription",ServiceDescription=class ServiceDescription{constructor(id,scope,type,factory){this.id=id;this.scope=scope;this.type=type;this.factory=factory;this.factory=this.factory||(sp=>sp.create(type))}});_export("ServiceCollection",ServiceCollection=class ServiceCollection{constructor(){this.registrations=[];this.ids=1}register(type,factory,scope=Scope.Transient,id){ArrayHelper.remove(this.registrations,(r=>id?r.id===id:r.type===type));if(!id){id=TypeKey.get(type);this.ids++}const sd=new ServiceDescription(id,scope,type,factory);this.registrations.push(sd);return sd}registerScoped(type,factory,id){return this.register(type,factory,Scope.Scoped,id)}registerSingleton(type,factory,id){return this.register(type,factory,Scope.Global,id)}get(type){return this.registrations.find((s=>s.id===type||s.type===type))}});ServiceCollection.instance=new ServiceCollection}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/Register");System.register(["../core/types","./ServiceCollection"],(function(_export,_context){"use strict";var DI,Scope,ServiceCollection,globalNS;function evalGlobal(path){if(typeof path==="string"){let r=globalNS;for(const iterator of path.split(".")){r=r[iterator];if(r===undefined||r===null){return r}}return r}return path}function Register(id,scope){return target=>{if(typeof id==="object"){if(scope){id.scope=scope}ServiceCollection.instance.register(id.for||target,id.for?sp=>sp.create(target):null,id.scope||Scope.Transient,id.id);if(id.mockOrInject){if(id.mockOrInject.inject){DI.inject(target,id.mockOrInject.inject)}else if(id.mockOrInject.mock){DI.mockType(target,id.mockOrInject.mock)}else if(id.mockOrInject.globalVar){ServiceCollection.instance.register(id.for||target,(sp=>evalGlobal(id.mockOrInject.globalVar)),id.scope||Scope.Global,id.id)}}return}ServiceCollection.instance.register(target,null,scope,id)}}_export("Register",Register);return{setters:[function(_coreTypes){DI=_coreTypes.DI},function(_ServiceCollection){Scope=_ServiceCollection.Scope;ServiceCollection=_ServiceCollection.ServiceCollection}],execute:function(){globalNS=typeof global==="undefined"?window:global}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/RegisterSingleton");System.register(["./Register","./ServiceCollection"],(function(_export,_context){"use strict";var Register,Scope;function RegisterSingleton(target){Register({scope:Scope.Global})(target)}_export("RegisterSingleton",RegisterSingleton);return{setters:[function(_Register){Register=_Register.Register},function(_ServiceCollection){Scope=_ServiceCollection.Scope}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/date-time/dist/TimeSpan");System.register([],(function(_export,_context){"use strict";var TimeSpan,msMinutes,msSeconds,msHours,msDays,daysPerMS,hoursPerMS,minutesPerMS,secondsPerMS;function isEmpty(n){return n===undefined||n===null||n===0||isNaN(n)}function padLeft(n,c=2,t="0"){let s=n.toString();if(s.length<c){s=t+s}return s}_export("default",void 0);return{setters:[],execute:function(){_export("msMinutes",msMinutes=6e4);_export("msSeconds",msSeconds=1e3);_export("msHours",msHours=36e5);_export("msDays",msDays=24*msHours);daysPerMS=1/msDays;hoursPerMS=1/msHours;minutesPerMS=1/msMinutes;secondsPerMS=1/msSeconds;_export("default",TimeSpan=class TimeSpan{static fromDays(n){return new TimeSpan(n*msDays)}static fromHours(n){return new TimeSpan(n*msHours)}static fromMinutes(n){return new TimeSpan(n*msMinutes)}static fromSeconds(n){return new TimeSpan(n*msSeconds)}static parse(text){if(!text){throw new Error("Invalid time format")}let isPM=false;let d,h,m,s,ms;const tokens=text.split(/:/);const last=tokens[tokens.length-1];const lastParts=last.split(" ");if(lastParts.length>1){if(/pm/i.test(lastParts[1])){isPM=true}tokens[tokens.length-1]=lastParts[0]}const firstOfLast=lastParts[0];if(firstOfLast.indexOf(".")!==-1){const secondParts=firstOfLast.split(".");if(secondParts.length>1){tokens[tokens.length-1]=secondParts[0];ms=parseInt(secondParts[1],10)}}if(tokens.length===2){d=0;h=parseInt(tokens[0],10);m=parseInt(tokens[1],10)}else if(tokens.length===3){d=0;h=parseInt(tokens[0],10);m=parseInt(tokens[1],10);s=parseInt(tokens[2],10)}else if(tokens.length===4){d=parseInt(tokens[0],10);h=parseInt(tokens[1],10);m=parseInt(tokens[2],10);s=parseInt(tokens[3],10)}return new TimeSpan(d,isPM?h+12:h,m,s,ms)}get totalSeconds(){return this.msSinceEpoch*secondsPerMS}get totalMinutes(){return this.msSinceEpoch*minutesPerMS}get totalHours(){return this.msSinceEpoch*hoursPerMS}get totalDays(){return this.msSinceEpoch*daysPerMS}get totalMilliseconds(){return this.msSinceEpoch}get days(){return Math.floor(this.msSinceEpoch/msDays)}get hours(){return Math.floor(this.msSinceEpoch/msHours%24)}get minutes(){return Math.floor(this.msSinceEpoch/msMinutes%60)}get seconds(){return Math.floor(this.msSinceEpoch/msSeconds%60)}get milliseconds(){return Math.floor(this.msSinceEpoch%1e3)}get duration(){const t=this.msSinceEpoch;return new TimeSpan(t>0?t:-t)}get trimmedTime(){return new TimeSpan(Math.ceil(this.msSinceEpoch%msDays))}constructor(days,hours,minutes,seconds,milliseconds){if(arguments.length===1){this.msSinceEpoch=days}else{this.msSinceEpoch=(days||0)*msDays+(hours||0)*msHours+(minutes||0)*msMinutes+(seconds||0)*msSeconds+(milliseconds||0)}}toString(formatAs12=false){let ams=this.msSinceEpoch;const text=[];let postFix="";function format(max,f12=false){let txt=null;if(ams>max){const n=Math.floor(ams/max);ams=ams%max;if(f12){if(n>12){postFix=" PM";txt=padLeft(n-12)}else{postFix=" AM"}}if(!txt){txt=padLeft(n)}}if(txt){text.push(txt)}return txt}const d=format(msDays);format(msHours,formatAs12&&!d);format(msMinutes);let s=format(msSeconds);if(ams){s+="."+ams;text[text.length-1]=s}return`${text.join(":")}${postFix}`}add(ts){return new TimeSpan(this.msSinceEpoch+ts.msSinceEpoch)}equals(ts){return ts.msSinceEpoch===this.msSinceEpoch}});if(typeof window!=="undefined"){window.TimeSpan=TimeSpan}}}}));AmdLoader.instance.setup("@web-atoms/date-time/dist/DateTime");System.register(["./TimeSpan"],(function(_export,_context){"use strict";var TimeSpan,DateTime;_export("default",void 0);return{setters:[function(_TimeSpan){TimeSpan=_TimeSpan.default}],execute:function(){_export("default",DateTime=class DateTime{static from(d){if(!d){return null}if(!(d instanceof DateTime)){if(d instanceof Date){d=new DateTime(d.getTime())}return new DateTime(d)}return d}static get today(){const a=new DateTime;return a.date}static get utcNow(){const now=new Date;return new DateTime(now.getTime()+now.getTimezoneOffset())}static get now(){return new DateTime}static parse(s){return new DateTime(s)}get day(){return this.getDate()}get dayOfWeek(){return this.getDay()}get month(){return this.getMonth()}get year(){return this.getFullYear()}get hour(){return this.getHours()}get minute(){return this.getMinutes()}get second(){return this.getSeconds()}get milliSecond(){return this.getMilliseconds()}get timeZoneOffset(){return TimeSpan.fromMinutes(this.getTimezoneOffset())}get msSinceEpoch(){return this.getTime()}get date(){const d=new DateTime(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0,0);return d}get asJSDate(){return this}get time(){return new TimeSpan(0,this.getHours(),this.getMinutes(),this.getSeconds(),this.getMilliseconds())}constructor(a,b,c,d,e,f,g){let rd;switch(arguments.length){case 0:rd=new Date;break;case 1:rd=new Date(a);break;case 2:rd=new Date(a,b);break;case 3:rd=new Date(a,b,c);break;case 4:rd=new Date(a,b,c,d);break;case 5:rd=new Date(a,b,c,d,e);break;case 6:rd=new Date(a,b,c,d,e,f);break;default:rd=new Date(a,b,c,d,e,f,g)}Object.setPrototypeOf(rd,DateTime.prototype);return rd}add(t,hours,minutes,seconds,milliseconds){if(t instanceof Date){return new DateTime(this.getTime()+t.getTime())}let days=0;if(t instanceof TimeSpan){days=t.days;hours=t.hours;minutes=t.minutes;seconds=t.seconds;milliseconds=t.milliseconds}else{days=t}function hasValue(n,name){if(n===undefined){return false}if(n===null){throw new Error(`${name} cannot be null`)}return n!==0}const d=new Date(this.getTime());if(hasValue(days,"days")){d.setDate(d.getDate()+days)}if(hasValue(hours,"hours")){d.setHours(d.getHours()+hours)}if(hasValue(minutes,"minutes")){d.setMinutes(d.getMinutes()+minutes)}if(hasValue(seconds,"seconds")){d.setSeconds(d.getSeconds()+seconds)}if(hasValue(milliseconds,"milliseconds")){d.setMilliseconds(d.getMilliseconds()+milliseconds)}Object.setPrototypeOf(d,DateTime.prototype);return d}addMonths(m){const d=new Date(this.msSinceEpoch);d.setMonth(d.getMonth()+m);Object.setPrototypeOf(d,DateTime.prototype);return d}addYears(y){const d=new Date(this.msSinceEpoch);d.setFullYear(d.getFullYear()+y);Object.setPrototypeOf(d,DateTime.prototype);return d}addDays(day){const d=new Date(this.msSinceEpoch);d.setDate(d.getDate()+day);Object.setPrototypeOf(d,DateTime.prototype);return d}addHours(h){const d=new Date(this.msSinceEpoch);d.setHours(d.getHours()+h);Object.setPrototypeOf(d,DateTime.prototype);return d}addMinutes(m){const d=new Date(this.msSinceEpoch);d.setMinutes(d.getMinutes()+m);Object.setPrototypeOf(d,DateTime.prototype);return d}diff(rhs){return new TimeSpan(this.getTime()-rhs.getTime())}equals(d){if(!d){return false}return this.getTime()===d.getTime()}dateEquals(d){if(!d){return false}return this.date.equals(DateTime.from(d).date)}compare(d){return this.getTime()-d.getTime()}toRelativeString(dt){if(!dt){dt=DateTime.now}else{if(dt instanceof Date&&!(dt instanceof DateTime)){dt.__proto__=DateTime.prototype;dt=dt}}const diff=this.diff(dt);if(dt.year!==this.year){return this.toLocaleDateString()}if(Math.abs(diff.totalDays)>6){return this.toLocaleDateString(undefined,{month:"short",day:"numeric"})}if(Math.abs(diff.totalHours)>23){return this.toLocaleDateString(undefined,{weekday:"short"})}if(Math.abs(diff.totalMinutes)>59){return`${Math.floor(diff.totalHours)} hours`}return`${Math.floor(diff.totalMinutes)} mins`}valueOf(){return this.getTime()}});DateTime.prototype.__proto__=Date.prototype;if(typeof window!=="undefined"){window.DateTime=DateTime}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/JsonService");System.register(["tslib","../core/StringHelper","../di/RegisterSingleton","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __decorate,StringHelper,RegisterSingleton,DateTime,dateFormatISORegEx,dateFormatMSRegEx,timeZoneDiff,JsonService;return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("dateFormatISORegEx",dateFormatISORegEx=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/);_export("dateFormatMSRegEx",dateFormatMSRegEx=/^\/Date\((d|-|.*)\)[\/|\\]$/);timeZoneDiff=(new Date).getTimezoneOffset();_export("JsonService",JsonService=class JsonService{constructor(){this.options={indent:2,namingStrategy:"none",dateConverter:[{regex:dateFormatISORegEx,valueConverter:{fromSource(v){const d=new DateTime(v);return d},fromTarget(v){return v.toISOString()}}},{regex:dateFormatMSRegEx,valueConverter:{fromSource(v){const a=dateFormatMSRegEx.exec(v);const b=a[1].split(/[-+,.]/);return new DateTime(b[0]?+b[0]:0-+b[1])},fromTarget(v){return v.toISOString()}}}]}}transformKeys(t,v){if(!v){return v}if(typeof v!=="object"){return v}if(v instanceof Date){return v}if(typeof v==="object"&&v.length!==undefined&&typeof v.length==="number"){const a=v;if(a.map){return a.map((x=>this.transformKeys(t,x)))}const ra=[];for(let i=0;i<a.length;i++){const iterator=a[i];ra.push(this.transformKeys(t,iterator))}return ra}const r={};for(const key in v){if(v.hasOwnProperty(key)){const element=v[key];r[t(key)]=this.transformKeys(t,element)}}return r}parse(text,options){const{dateConverter,namingStrategy}=Object.assign(Object.assign({},this.options),options);const result=JSON.parse(text,((key,value)=>{if(typeof value==="string"){for(const iterator of dateConverter){const a=iterator.regex.test(value);if(a){const dv=iterator.valueConverter.fromSource(value);return dv}}}return value}));switch(namingStrategy){case"hyphen":return this.transformKeys(StringHelper.fromHyphenToCamel,result);case"underscore":return this.transformKeys(StringHelper.fromUnderscoreToCamel,result);case"pascal":return this.transformKeys(StringHelper.fromPascalToCamel,result)}return result}stringify(v,options){const{namingStrategy,dateConverter,indent}=Object.assign(Object.assign({},this.options),options);switch(namingStrategy){case"hyphen":v=this.transformKeys(StringHelper.fromCamelToHyphen,v);break;case"underscore":v=this.transformKeys(StringHelper.fromCamelToUnderscore,v);break;case"pascal":v=this.transformKeys(StringHelper.fromCamelToPascal,v);break}return JSON.stringify(v,((key,value)=>{if(key&&/^\_\$\_/.test(key)){return undefined}if(dateConverter&&value instanceof Date){return dateConverter[0].valueConverter.fromTarget(value)}return value}),indent)}});_export("JsonService",JsonService=__decorate([RegisterSingleton],JsonService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/DISingleton");System.register(["./Register","./ServiceCollection"],(function(_export,_context){"use strict";var Register,Scope;function DISingleton(mockOrInject){return target=>{Register({scope:Scope.Global,mockOrInject})(target)}}_export("default",DISingleton);return{setters:[function(_Register){Register=_Register.Register},function(_ServiceCollection){Scope=_ServiceCollection.Scope}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/ReferenceService");System.register(["tslib","../di/DISingleton"],(function(_export,_context){"use strict";var __decorate,DISingleton,ObjectReference,ReferenceService;_export("ObjectReference",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_diDISingleton){DISingleton=_diDISingleton.default}],execute:function(){_export("ObjectReference",ObjectReference=class ObjectReference{constructor(key,value){this.key=key;this.value=value}});ReferenceService=class ReferenceService{constructor(){this.cache={};this.id=1}get(key){return this.cache[key]}put(item,ttl=60){const key=`k${this.id++}`;const r=new ObjectReference(key,item);r.consume=()=>{delete this.cache[key];if(r.timeout){clearTimeout(r.timeout)}return r.value};r.timeout=setTimeout((()=>{r.timeout=0;r.consume()}),ttl*1e3);this.cache[key]=r;return r}};ReferenceService=__decorate([DISingleton()],ReferenceService);_export("default",ReferenceService)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/core/AtomUI");System.register([],(function(_export,_context){"use strict";var AncestorEnumerator,ChildEnumerator,AtomUI;function*descendentElementIterator(e){const stack=[];const start=e;if(start){stack.push(start)}while(stack.length){const pop=stack.pop();const next=pop.nextElementSibling;yield pop;if(next){stack.push(next)}const child=pop.firstElementChild;if(child){stack.push(child)}}}function*descendentIterator(e){const stack=[];const start=e;if(start){stack.push(start)}while(stack.length){const pop=stack.pop();const next=pop.nextSibling;yield pop;if(next){stack.push(next)}const child=pop.firstChild;if(child){stack.push(child)}}}_export({AncestorEnumerator:void 0,ChildEnumerator:void 0,descendentElementIterator,descendentIterator,AtomUI:void 0});return{setters:[],execute:function(){_export("AncestorEnumerator",AncestorEnumerator=class AncestorEnumerator{static find(e,filter){let start=e===null||e===void 0?void 0:e.parentElement;while(start){if(filter(start)){return start}start=start.parentElement}}static findSelector(e,selector){let start=e===null||e===void 0?void 0:e.parentElement;while(start){const found=start.matches(selector);if(found){return start}start=start.parentElement}}});_export("ChildEnumerator",ChildEnumerator=class ChildEnumerator{static find(e,filter){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;if(filter(item)){return item}item=next}}static*where(e,filter){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;if(filter(item)){yield item}item=next}}static*enumerate(e){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;yield item;item=next}}get current(){return this.item}constructor(e){this.e=e}next(){var _a;if(!this.item){this.item=(_a=this.e)===null||_a===void 0?void 0:_a.firstElementChild}else{this.item=this.item.nextElementSibling}return this.item?true:false}});_export("AtomUI",AtomUI=class AtomUI{static outerHeight(el,margin=false){let height=el.offsetHeight;if(!margin){return height}const style=getComputedStyle(el);height+=parseInt(style.marginTop,10)+parseInt(style.marginBottom,10);return height}static outerWidth(el,margin=false){let width=el.offsetWidth;if(!margin){return width}const style=getComputedStyle(el);width+=parseInt(style.marginLeft,10)+parseInt(style.marginRight,10);return width}static innerWidth(el){return el.clientWidth}static innerHeight(el){return el.clientHeight}static scrollTop(el,y){el.scrollTo(0,y)}static screenOffset(e){const r={x:e.offsetLeft,y:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight};if(e.offsetParent){const p=this.screenOffset(e.offsetParent);r.x+=p.x;r.y+=p.y}return r}static parseUrl(url){const r={};const plist=url.split("&");for(const item of plist){const p=item.split("=");const key=decodeURIComponent(p[0]);if(!key){continue}let val=p[1];if(val){val=decodeURIComponent(val)}r[key]=this.parseValue(val)}return r}static parseValue(val){let n;if(/^[0-9]+$/.test(val)){n=parseInt(val,10);if(!isNaN(n)){return n}return val}if(/^[0-9]+\.[0-9]+/gi.test(val)){n=parseFloat(val);if(!isNaN(n)){return n}return val}if(val==="true"){return true}if(val==="false"){return false}return val}static assignID(element){if(!element.id){element.id="__waID"+AtomUI.getNewIndex()}return element.id}static toNumber(text){if(!text){return 0}if(text.constructor===String){return parseFloat(text)}return 0}static getNewIndex(){AtomUI.index=AtomUI.index+1;return AtomUI.index}});AtomUI.index=1001}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomUri");System.register(["../web/core/AtomUI"],(function(_export,_context){"use strict";var AtomUI,AtomUri;_export("AtomUri",void 0);return{setters:[function(_webCoreAtomUI){AtomUI=_webCoreAtomUI.AtomUI}],execute:function(){_export("AtomUri",AtomUri=class AtomUri{get pathAndQuery(){const q=[];const h=[];for(const key in this.query){if(this.query.hasOwnProperty(key)){const element=this.query[key];if(element===undefined||element===null){continue}q.push(`${encodeURIComponent(key)}=${encodeURIComponent(element.toString())}`)}}for(const key in this.hash){if(this.hash.hasOwnProperty(key)){const element=this.hash[key];if(element===undefined||element===null){continue}h.push(`${encodeURIComponent(key)}=${encodeURIComponent(element.toString())}`)}}const query=q.length?"?"+q.join("&"):"";const hash=h.length?"#"+h.join("&"):"";let path=this.path||"/";if(path.startsWith("/")){path=path.substr(1)}return`${path}${query}${hash}`}constructor(url){let path;let query="";let hash="";let t=url.split("?");path=t[0];if(t.length===2){query=t[1]||"";t=query.split("#");query=t[0];hash=t[1]||""}else{t=path.split("#");path=t[0];hash=t[1]||""}let scheme="";let host="";let port="";let i=path.indexOf("//");if(i!==-1){scheme=path.substr(0,i);path=path.substr(i+2);i=path.indexOf("/");if(i!==-1){host=path.substr(0,i);path=path.substr(i+1);t=host.split(":");if(t.length>1){host=t[0];port=t[1]}}}this.host=host;this.protocol=scheme;this.port=port;this.path=path;this.query=AtomUI.parseUrl(query);this.hash=AtomUI.parseUrl(hash)}toString(){const port=this.port?":"+this.port:"";return`${this.protocol}//${this.host}${port}/${this.pathAndQuery}`}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/EventScope");System.register(["@web-atoms/date-time/dist/DateTime","./types"],(function(_export,_context){"use strict";var DateTime,CancelToken,EventScope,key,id;_export("default",void 0);return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_types){CancelToken=_types.CancelToken}],execute:function(){key=DateTime.now.msSinceEpoch;id=1;_export("default",EventScope=class EventScope{static create(){return new EventScope(`eventScopeE${key}${id++}`)}bindEvent(fx){return{[this.eventName]:fx}}constructor(eventType){this.eventType=eventType;this.eventName=`event-${this.eventType}`}subscribe(control,handler){return control.bindEvent(window,this.eventType,handler)}listen(fx){const asyncHandler=ce=>{if(ce.defaultPrevented){return}try{const p=fx(ce);if(p===null||p===void 0?void 0:p.catch){p.catch((r=>{if(CancelToken.isCancelled(r)){return}console.error(r)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}};window.addEventListener(this.eventType,asyncHandler);return{dispose:()=>{window.removeEventListener(this.eventType,asyncHandler)}}}listenOn(target,fx){const asyncHandler=ce=>{if(ce.defaultPrevented){return}try{const p=fx(ce);if(p===null||p===void 0?void 0:p.catch){p.catch((r=>{if(CancelToken.isCancelled(r)){return}console.error(r)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}};target.addEventListener(this.eventType,asyncHandler);return{dispose:()=>{target.removeEventListener(this.eventType,asyncHandler)}}}dispatch(target,detail,{cancelable=true,bubbles=true}={}){const ce=new CustomEvent(this.eventType,{detail,cancelable,bubbles});target.dispatchEvent(ce);return ce}dispatchEvent(detail,cancelable=true){const ce=new CustomEvent(this.eventType,{detail,cancelable,bubbles:false});window.dispatchEvent(ce);return ce}toString(){return this.eventType}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Route");System.register(["./StringHelper"],(function(_export,_context){"use strict";var StringHelper,Variable,Route;_export({Variable:void 0,default:void 0});return{setters:[function(_StringHelper){StringHelper=_StringHelper.StringHelper}],execute:function(){_export("Variable",Variable=class Variable{get regex(){if(this.catchAll){return`(/(?<${this.variable}>.+)?)?`}let r="[^\\/]{1,500}";if(this.parseAsNumber){r="[0-9]{1,500}"}if(this.optional){return`(/(?<${this.variable}>${r}))?`}return`/${StringHelper.escapeRegExp(this.prefix)}(?<${this.variable}>${r})${StringHelper.escapeRegExp(this.suffix)}`}constructor(variable,name){var _a;this.variable=variable;this.name=name;this.prefix="";this.suffix="";this.convert=v=>v;if(variable.startsWith("*")){this.catchAll=true;variable=variable.substring(1)}if(variable.endsWith("?")){this.optional=true;variable=variable.substring(0,variable.length-1)}const index=variable.indexOf(":");if(index!==-1){const parseAs=variable.substring(index+1);variable=variable.substring(0,index);switch(parseAs){case"number":this.parseAsNumber=true;this.convert=v=>{const r=parseFloat(v);if(Number.isNaN(r)){return void 0}return r};break;case"boolean":this.convert=v=>{if(v==="true"){return true}if(v==="false"){return false}};break}}this.variable=variable;(_a=this.name)!==null&&_a!==void 0?_a:this.name=variable}});_export("default",Route=class Route{static encodeUrl(url){return url}static create(route,queries,order=0){if(!route.startsWith("/")){throw new Error("String Route must start with /")}return new Route(route,queries,order)}constructor(route,queries,order=0){this.route=route;this.order=order;this.queries=new Map;this.variables=[];this.substitutions=[];if(queries){for(const iterator of queries){let[name,variable=name]=iterator.split("=");if(variable.startsWith("{")){variable=variable.substring(1,variable.length-1)}this.queries.set(name,variable)}}const tokens=route.substring(1).split(/\//g);let regex="^";this.substitutions.push("/");let catchAll=false;for(const iterator of tokens){if(regex.length>2){this.substitutions.push("/")}const match=/\{(\*?[\p{L}:]{1,50}\??)\}/u.exec(iterator);if(!match){this.substitutions.push(iterator);regex+=StringHelper.escapeRegExp("/");regex+=StringHelper.escapeRegExp(iterator);continue}const start=match.index;const index=match[0].length;const name=match[1];const prefix=iterator.substring(0,start);const suffix=iterator.substring(index+1);const v=new Variable(name);v.prefix=prefix;v.suffix=suffix;regex+=v.regex;this.variables.push(v);this.substitutions.push(v);catchAll||(catchAll=v.catchAll)}if(!catchAll){regex+="\\/?$"}this.regex=new RegExp(regex,"i")}matches(route,q){var _a;const matches=this.regex.exec(route);if((matches===null||matches===void 0?void 0:matches.length)>0){const result={};const{groups}=matches;for(const iterator of this.variables){const v=groups[iterator.variable];if(v!==void 0&&v!==null){const converted=iterator.convert(decodeURIComponent(v));if(converted===void 0){return null}result[iterator.variable]=converted}}if(q){for(let[key,value]of q.entries()){const variable=(_a=this.queries.get(key))!==null&&_a!==void 0?_a:key;result[variable]=value}}return result}return null}substitute(vars){var _a;let result="";for(const iterator of this.substitutions){if(typeof iterator==="string"){result+=iterator;continue}result+=(_a=vars[iterator.variable])!==null&&_a!==void 0?_a:""}if(this.queries.size>0){result+="?";for(const[key,variable]of this.queries.entries()){const value=vars[variable];if(value){result+=`${encodeURIComponent(key)}=${encodeURIComponent(value)}&`}}}return result}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Command");System.register(["tslib","./EventScope","./Route","./types"],(function(_export,_context){"use strict";var __awaiter,EventScope,Route,CancelToken,PageCommands,Command,Commands,routeSymbol,displayRouteSymbol,id,defaultOrSelf;_export({PageCommands:void 0,Commands:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_EventScope){EventScope=_EventScope.default},function(_Route){Route=_Route.default},function(_types){CancelToken=_types.CancelToken}],execute:function(){_export("routeSymbol",routeSymbol=Symbol("routeSymbol"));_export("displayRouteSymbol",displayRouteSymbol=Symbol("displayRouteSymbol"));document.body.addEventListener("click",(ce=>{let target=ce.target;let clickCommand;let commandParameter;while(target){clickCommand=target.getAttribute("data-click-command");const cp=target.commandParameter;if(cp){commandParameter=cp}if(clickCommand){break}target=target.parentElement}if(!clickCommand){return}const cmd=Command.registry.get(clickCommand);if(cmd){cmd.eventScope.dispatch(target,commandParameter)}}));id=1;_export("PageCommands",PageCommands=class PageCommands{});defaultOrSelf=x=>{var _a;return(_a=x===null||x===void 0?void 0:x.default)!==null&&_a!==void 0?_a:x};Command=class Command{static invokeRoute(route=(location.hash.startsWith("#!")?location.hash.substring(2):location.href),forceDisplay=false){let sp;if(/^http(s)?\:\/\//i.test(route)){const url=new URL(route);sp=url.searchParams;route=url.hash.startsWith("#!")?url.hash.substring(2):url.pathname}else{if(route.startsWith("#!")){route=route.substring(2)}}const index=route.indexOf("?");if(index!==-1){sp=new URLSearchParams(route.substring(index+1));route=route.substring(0,index)}else{sp!==null&&sp!==void 0?sp:sp=new URLSearchParams("")}for(const iterator of this.routes){const params=iterator.route.matches(route,sp);if(params){params[routeSymbol]=route;params[displayRouteSymbol]=forceDisplay?sp.size>0?`${route}?${sp.toString()}`:route:"";iterator.dispatch(params,true);return iterator}}}static create({name=`command${id++}`,eventScope=EventScope.create(),route,routeQueries,routeOrder=0,routeDefaults,pageLoader,pageListener,openPage,pushPage,registerOnClick,pushPageForResult,pushPageForResultOrCancel,listener}){let cmd=new Command(name,eventScope,registerOnClick);if(route){if(this.routePrefix){if(!route.startsWith(this.routePrefix)){route=this.routePrefix+route}}cmd=cmd.withRoute(route,routeQueries,routeOrder,routeDefaults)}cmd.listener=listener;if(openPage){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;const p=(_a=ce.detail)!==null&&_a!==void 0?_a:{};return p.returnResult?PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield openPage()),p):PageCommands.openPage(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield openPage()),p)}))}if(pushPage){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;const p=(_a=ce.detail)!==null&&_a!==void 0?_a:{};return p.returnResult?PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPage()),p):PageCommands.pushPage(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPage()),p)}))}if(pushPageForResult){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;return PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPageForResult()),(_a=ce.detail)!==null&&_a!==void 0?_a:{})}))}if(pushPageForResultOrCancel){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;try{return yield PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPageForResultOrCancel()),(_a=ce.detail)!==null&&_a!==void 0?_a:{})}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}))}if(pageLoader){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){try{pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pageLoader());return pageListener(pageType)(ce)}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}))}return cmd}get eventName(){return this.eventScope.eventType}get route(){return this.routeObj}constructor(name=`command${id++}`,eventScope=EventScope.create(),registerOnClick=(p=>({"data-click-command":this.name,commandParameter:p}))){this.name=name;this.eventScope=eventScope;this.registerOnClick=registerOnClick;Command.registry.set(this.name,this)}displayRoute(p,absoluteUrl=false){let route=Route.encodeUrl(this.routeObj.substitute(p));if(absoluteUrl){if(route.startsWith("#!")){route=location.href.split("#")[0]+route}else if(route.startsWith("/")){route=location.protocol+"//"+location.host+route}}return route}withRoute(route,queries,order=0,defaults){this.routeObj=Route.create(route,queries,order);Command.routes.push(this);Command.routes.sort(((a,b)=>a.route.order-b.route.order));this.defaults=defaults;return this}listen(r,handler=this.listener){if(!handler){throw new Error("Handler must be specified...")}const d=this.eventScope.listen((e=>{const ce=e;try{ce.executed=true;ce.promise=handler(e)}catch(error){ce.promise=Promise.reject(error)}r.app.runAsync((()=>ce.promise))}));return r.registerDisposable(d)}dispatch(detail,cancelable){if(this.route){detail=this.updateRoute(detail)}this.eventScope.dispatch(document.body,detail,{cancelable,bubbles:true})}updateRoute(detail){const d=detail!==null&&detail!==void 0?detail:detail={};let r=d[routeSymbol];if(r===null||r===void 0){r=this.route.substitute(d);d[routeSymbol]=r;d[displayRouteSymbol]=r}const{defaults}=this;if(defaults){for(const key in defaults){if(Object.prototype.hasOwnProperty.call(defaults,key)){const element=defaults[key];if(d[key]===void 0){d[key]=element}}}}return detail}dispatchAsync(detail,cancelable){return __awaiter(this,void 0,void 0,(function*(){if(this.route){detail=this.updateRoute(detail)}const ce=new CustomEvent(this.eventScope.eventType,{detail,cancelable});ce.returnResult=true;window.dispatchEvent(ce);if(ce.executed){const promise=ce.promise;if(promise){return yield promise}}}))}};Command.routePrefix="";Command.registry=new Map;Command.routes=[];_export("default",Command);_export("Commands",Commands=class Commands{static install(control){this.app=control.app;for(const key in this){const element=this[key];if(element instanceof Command){element.listen(control)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomBinder");System.register(["./types"],(function(_export,_context){"use strict";var ArrayHelper,AtomBinder,symbolHandlers,symbolBindable;_export("AtomBinder",void 0);return{setters:[function(_types){ArrayHelper=_types.ArrayHelper}],execute:function(){_export("symbolHandlers",symbolHandlers=Symbol.for("handlers"));_export("symbolBindable",symbolBindable=Symbol.for("bindable"));_export("AtomBinder",AtomBinder=class AtomBinder{static refreshValue(target,key){const handlers=AtomBinder.get_WatchHandler(target,key);if(handlers===undefined||handlers==null){return}for(const item of handlers){item(target,key)}if(target.onPropertyChanged){target.onPropertyChanged(key)}}static add_WatchHandler(target,key,handler){if(target==null){return}const handlers=AtomBinder.get_WatchHandler(target,key);handlers.push(handler);if(Array.isArray(target)){return}const pv=AtomBinder.getPropertyDescriptor(target,key);if(pv&&pv.get){return}const tw=target;let bindables=tw[symbolBindable];if(bindables===undefined){bindables={};Object.defineProperty(tw,symbolBindable,{value:bindables,enumerable:false,writable:true,configurable:true})}if(!bindables[key]){bindables[key]=1;const o=target[key];const nk=Symbol.for(key);target[nk]=o;const set=function(v){const ov=this[nk];if(ov===undefined?ov===v:ov==v){return}this[nk]=v;AtomBinder.refreshValue(this,key)};const get=function(){return this[nk]};if(pv){delete target[key];Object.defineProperty(target,key,{get,set,configurable:true,enumerable:true})}else{Object.defineProperty(target,key,{get,set,enumerable:true,configurable:true})}}}static getPropertyDescriptor(target,key){const pv=Object.getOwnPropertyDescriptor(target,key);if(!pv){const pt=Object.getPrototypeOf(target);if(pt){return AtomBinder.getPropertyDescriptor(pt,key)}}return pv}static get_WatchHandler(target,key){if(target==null){return null}let handlers=target[symbolHandlers];if(handlers===undefined){handlers={};Object.defineProperty(target,symbolHandlers,{value:handlers,enumerable:false,writable:true,configurable:true})}let handlersForKey=handlers[key];if(handlersForKey===undefined||handlersForKey==null){handlersForKey=[];handlers[key]=handlersForKey}return handlersForKey}static remove_WatchHandler(target,key,handler){if(target==null){return}const handlers=target[symbolHandlers];if(typeof handlers==="undefined"){return}const handlersForKey=target[symbolHandlers][key];if(handlersForKey===undefined||handlersForKey==null){return}ArrayHelper.remove(handlersForKey,(f=>f===handler));if(!handlersForKey.length){handlers[key]=null;delete handlers[key]}}static invokeItemsEvent(target,mode,index,item,oldItem){const key="_items";const handlers=AtomBinder.get_WatchHandler(target,key);if(!handlers){return}for(const obj of handlers){obj(target,mode,index,item,oldItem)}AtomBinder.refreshValue(target,"length")}static refreshItems(ary){AtomBinder.invokeItemsEvent(ary,"refresh",-1,null)}static add_CollectionChanged(target,handler){if(target==null){throw new Error("Target Array to watch cannot be null")}if(handler==null){throw new Error("Target handle to watch an Array cannot be null")}const handlers=AtomBinder.get_WatchHandler(target,"_items");handlers.push(handler);return{dispose:()=>{AtomBinder.remove_CollectionChanged(target,handler)}}}static remove_CollectionChanged(t,handler){if(t==null){return}const target=t;const handlers=target[symbolHandlers];if(typeof handlers==="undefined"){return}const key="_items";const handlersForKey=handlers[key];if(handlersForKey===undefined||handlersForKey==null){return}ArrayHelper.remove(handlersForKey,(f=>f===handler));if(!handlersForKey.length){handlers[key]=null;delete handlers[key]}}static watch(item,property,f){AtomBinder.add_WatchHandler(item,property,f);return{dispose:()=>{AtomBinder.remove_WatchHandler(item,property,f)}}}static clear(a){a.length=0;this.invokeItemsEvent(a,"refresh",-1,null);AtomBinder.refreshValue(a,"length")}static addItem(a,item){const index=a.length;a.push(item);this.invokeItemsEvent(a,"add",index,item);AtomBinder.refreshValue(a,"length")}static removeItem(a,item){const i=a.findIndex((x=>x===item));if(i===-1){return false}a.splice(i,1);AtomBinder.invokeItemsEvent(a,"remove",i,item);AtomBinder.refreshValue(a,"length");return true}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/InheritedProperty");System.register(["./AtomBinder"],(function(_export,_context){"use strict";var AtomBinder,cache;function getSymbolKey(name){var _a;return(_a=cache[name])!==null&&_a!==void 0?_a:cache[name]=Symbol(name)}function refreshInherited(ac,key,storageKey){const e=ac.element;if(!e){return}AtomBinder.refreshValue(ac,key);let start=e.firstElementChild;if(!start){return}const stack=[start];while(stack.length){start=stack.pop();while(start){let firstChild=start.firstElementChild;const childControl=start.atomControl;if(childControl){if(childControl[storageKey]===undefined){AtomBinder.refreshValue(childControl,key)}else{firstChild=void 0}}if(firstChild){stack.push(firstChild)}start=start.nextElementSibling}}}function getOwnInheritedProperty(target,key){return target[getSymbolKey(key)]}function InheritedProperty(target,key){const iVal=target[key];const keyName=getSymbolKey(key);target[keyName]=iVal;const getter=function(){let start=this;do{const p=start[keyName];if(typeof p!=="undefined"){return p}if(!start.element){break}start=start.parent}while(start);return undefined};const setter=function(newVal){const oldValue=this[keyName];if(oldValue&&oldValue.dispose){oldValue.dispose()}this[keyName]=newVal;refreshInherited(this,key,keyName)};if(delete target[key]){Object.defineProperty(target,key,{get:getter,set:setter,enumerable:true,configurable:true})}}_export({getOwnInheritedProperty,InheritedProperty});return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){cache={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomLoader");System.register(["tslib","../services/JsonService","../services/ReferenceService","./AtomUri","./Command","./InheritedProperty","./types"],(function(_export,_context){"use strict";var __addDisposableResource,__awaiter,__disposeResources,__rest,JsonService,ReferenceService,AtomUri,displayRouteSymbol,getOwnInheritedProperty,CancelToken,DI,AtomLoader;_export("AtomLoader",void 0);return{setters:[function(_tslib){__addDisposableResource=_tslib.__addDisposableResource;__awaiter=_tslib.__awaiter;__disposeResources=_tslib.__disposeResources;__rest=_tslib.__rest},function(_servicesJsonService){JsonService=_servicesJsonService.JsonService},function(_servicesReferenceService){ReferenceService=_servicesReferenceService.default},function(_AtomUri){AtomUri=_AtomUri.AtomUri},function(_Command){displayRouteSymbol=_Command.displayRouteSymbol},function(_InheritedProperty){getOwnInheritedProperty=_InheritedProperty.getOwnInheritedProperty},function(_types){CancelToken=_types.CancelToken;DI=_types.DI}],execute:function(){_export("AtomLoader",AtomLoader=class AtomLoader{static load(url,app){return __awaiter(this,void 0,void 0,(function*(){if(typeof url==="string"){const type=yield DI.resolveViewClassAsync(url);if(!type){throw new Error(`Type not found for ${url}`)}url=type}if(url instanceof AtomUri){if(url.host==="reference"){const r=app.get(ReferenceService).get(url.path);if(!r){throw new Error("reference not found")}return r.consume()}if(url.host==="class"){const r=app.get(ReferenceService).get(url.path);if(!r){throw new Error("reference not found")}return app.resolve(r.consume(),true)}url=url.path;const type=yield DI.resolveViewClassAsync(url);if(!type){throw new Error(`Type not found for ${url}`)}url=type}const obj=app.resolve(url,true);return obj}))}static loadView(url,app,hookCloseEvents,vmFactory){return __awaiter(this,void 0,void 0,(function*(){const env_1={stack:[],error:void 0,hasError:false};try{const _busy=__addDisposableResource(env_1,app.createBusyIndicator({title:url.toString(),description:`Loading View ${url}`}),false);const view=yield AtomLoader.load(url,app);let vm=view.viewModel;if(!vm){if(!vmFactory){return{view}}vm=vmFactory();view.viewModel=vm}if("parameters"in view){vm=view.parameters}if(vm){const jsonService=app.get(JsonService);for(const key in url.query){if(url.query.hasOwnProperty(key)){const element=url.query[key];if(typeof element==="object"){vm[key]=jsonService.parse(jsonService.stringify(element));continue}if(/^json\:/.test(key)){const k=key.split(":")[1];vm[k]=jsonService.parse(element.toString());continue}if(/^ref\:/.test(key)){const rs=app.get(ReferenceService);const v=rs.get(element);vm[key.split(":",2)[1]]=v.consume();continue}try{vm[key]=element}catch(e){console.error(e)}}}}if(hookCloseEvents&&vm){const disposables=view.disposables;const id=(AtomLoader.id++).toString();view.id=id;const returnPromise=new Promise(((resolve,reject)=>{disposables.add(app.subscribe(`atom-window-close:${id}`,((m,r)=>{resolve(r);view.dispose()})));disposables.add(app.subscribe(`atom-window-cancel:${id}`,(()=>{reject("cancelled");view.dispose()})))}));vm.windowName=id;view.returnPromise=returnPromise;return{view,disposables,returnPromise,id}}return{view}}catch(e_1){env_1.error=e_1;env_1.hasError=true}finally{__disposeResources(env_1)}}))}static loadClass(url_1){return __awaiter(this,arguments,void 0,(function*(url,_a={},app){var _b,_c,_d,_e;var _f;var{title}=_a,_g=displayRouteSymbol,route=_a[_g],parameters=__rest(_a,["title",typeof _g==="symbol"?_g:_g+""]);const env_2={stack:[],error:void 0,hasError:false};try{const _busyIndicator=__addDisposableResource(env_2,app.createBusyIndicator({title:url===null||url===void 0?void 0:url.toString(),description:`Loading View ${url}`}),false);const view=yield AtomLoader.load(url,app);const vm=getOwnInheritedProperty(view,"viewModel");let params;if("parameters"in view){params=view.parameters}if(!vm){params=(_b=(_f=view).parameters)!==null&&_b!==void 0?_b:_f.parameters={}}else{console.warn("ViewModel is deprecated")}if(title){view.title=title}if(params){params[displayRouteSymbol]=route}if((vm||params)&¶meters){for(const key in parameters){if(parameters.hasOwnProperty(key)){const element=parameters[key];try{if(vm){vm[key]=element}if(params){params[key]=element}}catch(e){console.error(e)}}}}(_e=(_d=(_c=view).init)===null||_d===void 0?void 0:_d.call(_c))===null||_e===void 0?void 0:_e.catch((error=>{if(!CancelToken.isCancelled(error)){console.error(error)}}));return view}catch(e_2){env_2.error=e_2;env_2.hasError=true}finally{__disposeResources(env_2)}}))}static loadControl(url,app){return __awaiter(this,void 0,void 0,(function*(){var _a,_b,_c,_d;var _e;const env_3={stack:[],error:void 0,hasError:false};try{const _busyIndicator=__addDisposableResource(env_3,app.createBusyIndicator({title:url===null||url===void 0?void 0:url.toString(),description:`Loading View ${url}`}),false);const view=yield AtomLoader.load(url,app);const vm=getOwnInheritedProperty(view,"viewModel");let params;if("parameters"in view){params=view.parameters}if(!vm){params=(_a=(_e=view).parameters)!==null&&_a!==void 0?_a:_e.parameters={}}if(vm||params){const jsonService=app.get(JsonService);for(const key in url.query){if(url.query.hasOwnProperty(key)){const element=url.query[key];if(/^json\:/.test(key)){const k=key.split(":")[1];const v=jsonService.parse(element.toString());if(vm){vm[k]=v}if(params){params[k]=v}continue}if(/^ref\:/.test(key)){const rs=app.get(ReferenceService);const v=rs.get(element).consume();const keyName=key.split(":",2)[1];if(vm){vm[keyName]=v}if(params){params[keyName]=v}continue}try{if(vm){vm[key]=element}if(params){params[key]=element}}catch(e){console.error(e)}}}}(_d=(_c=(_b=view).init)===null||_c===void 0?void 0:_c.call(_b))===null||_d===void 0?void 0:_d.catch((error=>{if(!CancelToken.isCancelled(error)){console.error(error)}}));return view}catch(e_3){env_3.error=e_3;env_3.hasError=true}finally{__disposeResources(env_3)}}))}});AtomLoader.id=1}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/sleep");System.register([],(function(_export,_context){"use strict";function sleep(timeInMS,ct,throwOnCancel=true){let token=0;return new Promise(((resolve,reject)=>{ct===null||ct===void 0?void 0:ct.registerForCancel((reason=>{if(token){clearTimeout(token);if(throwOnCancel){reject(reason)}else{resolve()}}}));if(ct===null||ct===void 0?void 0:ct.cancelled){if(throwOnCancel){reject("cancelled")}else{resolve()}return}token=setTimeout(resolve,timeInMS)}))}_export("default",sleep);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/ExpressionParser");System.register([],(function(_export,_context){"use strict";var viewModelParseWatchCache,viewModelParseWatchCache2;function trimRegEx(t,r){const m=r.exec(t);if(m&&m.length){return[true,t.substring(m[0].length).trim(),m[0]]}return[false,t,""]}function extractTill(text,search,returnOriginal=false){const index=text.indexOf(search);if(index<=0){return returnOriginal?text:""}return text.substring(0,index)}function parsePath(f,parseThis){let str=f.toString().trim();str=str.split("\n").filter((s=>!/^\/\//.test(s.trim()))).join("\n");const key=(parseThis===undefined?"un:":parseThis?"_this:":"_noThis:")+str;const px1=viewModelParseWatchCache[key];if(px1){return px1}if(str.endsWith("}")){str=str.substr(0,str.length-1)}const functionRegEx=/^\w+\s*\(/;const lambdaRegEx=/^\(?(\w+)?(\s?\,\s?\w+)*\)?\s?\=\>/;let arg="";const original=str;let[success,remaining]=trimRegEx(str,functionRegEx);if(success){str=remaining;remaining=extractTill(remaining,")");str=str.substring(remaining.length);arg=extractTill(remaining,",",true)}else{[success,str,remaining]=trimRegEx(str,lambdaRegEx);if(success){remaining=remaining.trim();remaining=remaining.substring(0,remaining.length-2);remaining=extractTill(remaining,")",true);arg=extractTill(remaining,",",true);if(arg.startsWith("(")){arg=arg.substring(1)}}else{if(parseThis!==undefined&&parseThis===false){return[]}else{parseThis=true}}}str=str.trim();const isThis=parseThis===undefined?(arg?false:true)||parseThis:parseThis;const p=(isThis?"(\\_this|this)":arg||"").trim();if(p.length===0){const empty=[];viewModelParseWatchCache[key]=empty;return empty}const regExp=`(?:(\\b${p})(?:(\\.[a-zA-Z_][a-zA-Z_0-9]*)+)\\s?(?:(\\(|\\=\\=\\=|\\=\\=|\\=)?))`;const re=new RegExp(regExp,"gi");let path=[];const ms=str.replace(re,(m=>{let px=m;if(px.startsWith("this.")){if(parseThis!==true){px=px.substr(5)}}else if(px.startsWith("_this.")){if(parseThis!==true){px=px.substr(6)}else{px=px.substr(1)}}else{px=px.substr(p.length+1)}px=px.split(".").filter((s=>!s.endsWith("("))).join(".");if(!path.find((y=>y===px))){path.push(px)}const filtered=[];for(const iterator of path){if(iterator.endsWith("==")||!(iterator.endsWith("(")||iterator.endsWith("="))){filtered.push((iterator.endsWith("===")?iterator.substr(0,iterator.length-3):iterator.endsWith("==")?iterator.substr(0,iterator.length-2):iterator).trim())}}path=filtered.filter((px11=>{const search=px11+".";for(const iterator of filtered){if(px11!==iterator&&iterator.indexOf(search)!==-1){return false}}return true}));return m}));path=path.sort(((a,b)=>b.localeCompare(a)));const duplicates=path;path=[];for(const iterator of duplicates){if(path.find((px2=>px2===iterator))){continue}path.push(iterator)}const rp=[];for(const rpItem of path){if(rp.find((x=>x.startsWith(rpItem)))){continue}rp.push(rpItem)}const pl=path.filter((p1=>p1)).map((p1=>p1.split(".")));viewModelParseWatchCache[key]=pl;return pl}function parsePathLists(f){const str=f.toString().trim();const key=str;const px1=viewModelParseWatchCache2[key];if(px1){return px1}const pl={pathList:parsePath(str,false),thisPath:parsePath(str,true),combined:[]};if(pl.thisPath.length&&pl.pathList.length){pl.combined=pl.thisPath.map((x=>{x[0]="t";x.splice(0,0,"this");return x})).concat(pl.pathList.map((x=>{x.splice(0,0,"this","x");return x})));pl.thisPath=[];pl.pathList=[]}viewModelParseWatchCache2[key]=pl;return pl}_export({parsePath,parsePathLists});return{setters:[],execute:function(){viewModelParseWatchCache={};viewModelParseWatchCache2={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Bind");System.register(["tslib","./ExpressionParser","./types"],(function(_export,_context){"use strict";var __awaiter,parsePath,parsePathLists,CancelToken,ignoreValue,Bind,isEvent,bindSymbol;function twoWaysConvert(name,b,control,e,creator){control.bind(e,name,b.thisPathList||b.pathList,b.eventList||true,null,b.thisPathList?creator:undefined)}_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_ExpressionParser){parsePath=_ExpressionParser.parsePath;parsePathLists=_ExpressionParser.parsePathLists},function(_types){CancelToken=_types.CancelToken;ignoreValue=_types.ignoreValue}],execute:function(){isEvent=/^event/i;_export("bindSymbol",bindSymbol=Symbol("Bind"));_export("default",Bind=class Bind{static forControl(){return Bind}static forData(){return Bind}static forViewModel(){return Bind}static forLocalViewModel(){return Bind}static presenter(name){return{[bindSymbol](cn,control,e,creator){if(typeof name==="function"){name(control);return}const n=name||cn;let c=control.element;while(c){if(c.atomControl&&c.atomControl[n]!==undefined){break}c=c._logicalParent||c.parentElement}(c&&c.atomControl||control)[n]=e}}}static event(sourcePath){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{if(isEvent.test(name)){name=name.substring(5);if(name.startsWith("-")){name=name.substring(1).replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}else{name=name[0].toLowerCase()+name.substring(1)}}control.bindEvent(e,name,(e1=>sourcePath(control,e1)))}))}}}static oneTime(sourcePath,now){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{control.setLocalValue(e,name,sourcePath(control,e))}));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static oneTimeAsync(sourcePath,now){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{control.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const value=yield sourcePath(control,e,new CancelToken);control.setLocalValue(e,name,value)}))))}));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static source(source,path,now){const lists=parsePath(path,false).map((x=>["this",...x]));return{[bindSymbol](name,control,e,creator){const self={control,source};control.bind(e,name,lists,false,(()=>path.call(self,self)),self);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static oneWayAsync(sourcePath,{watchDelayInMS=250,default:defaultValue}={}){let pathList;let combined;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){combined=lists.combined}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(combined||pathList||thisPathList)){throw new Error(`Failed to setup binding for ${sourcePath}, parsing failed`)}return{[bindSymbol](name,control,e,creator){let bindingSource;let finalPathList=pathList;if(combined){bindingSource={t:creator,x:control};finalPathList=combined}else if(thisPathList){finalPathList=thisPathList;bindingSource=creator}const asyncState={token:0,cancelToken:undefined};control.bind(e,name,finalPathList,false,(()=>{var _a;const app=control.app;(_a=asyncState.cancelToken)===null||_a===void 0?void 0:_a.cancel();asyncState.cancelToken=undefined;asyncState.token=app.setTimeoutAsync((()=>__awaiter(this,void 0,void 0,(function*(){var _a,_b;if((_a=asyncState.cancelToken)===null||_a===void 0?void 0:_a.cancelled){return}asyncState.token=undefined;(_b=asyncState.cancelToken)===null||_b===void 0?void 0:_b.cancel();const ct=asyncState.cancelToken=new CancelToken;const value=yield sourcePath.call(creator,control,e,ct);if(!ct.cancelled){control.setLocalValue(e,name,value)}}))),watchDelayInMS,asyncState.token);return ignoreValue}),bindingSource);if(typeof defaultValue!=="undefined"){control.setLocalValue(e,name,defaultValue)}}}}static oneWay(sourcePath,now){let pathList;let combined;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){combined=lists.combined}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(combined||pathList||thisPathList)){throw new Error(`Failed to setup binding for ${sourcePath}, parsing failed`)}return{[bindSymbol](name,control,e,creator){if(pathList){control.bind(e,name,pathList,false,(()=>sourcePath.call(creator,control,e)));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}return}if(combined){const a={t:creator,x:control};control.bind(e,name,combined,false,(()=>sourcePath.call(creator,control,e)),a);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}return}control.bind(e,name,thisPathList,false,(()=>sourcePath.call(creator,control,e)),creator);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static twoWays(sourcePath,events,converter){let pathList;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){throw new Error("Cannot have combined binding for two ways")}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(thisPathList||pathList)){throw new Error(`Failed to setup twoWay binding on ${sourcePath}`)}return{[bindSymbol](name,control,e,creator){control.bind(e,name,thisPathList||pathList,events||true,converter,thisPathList?creator:undefined)}}}static sourceTwoWays(source,path,events=["input","cut","paste","change"]){const lists=parsePath(path,false).map((x=>["this",...x]));return{[bindSymbol](name,control,e,creator){const self={control,source};control.bind(e,name,lists,events,lists,self)}}}static twoWaysImmediate(sourcePath,converter){return this.twoWays(sourcePath,["change","input","paste","cut"],converter)}constructor(setupFunction,sourcePath,name,eventList){this.setupFunction=setupFunction;this.name=name;this.eventList=eventList;this.sourcePath=sourcePath;this[bindSymbol]=true;if(!this.sourcePath){return}if(Array.isArray(this.sourcePath)){this.pathList=this.sourcePath}else{const lists=parsePathLists(this.sourcePath);if(lists.combined.length){this.combined=lists.combined}if(lists.pathList.length){this.pathList=lists.pathList}if(lists.thisPath.length){this.thisPathList=lists.thisPath}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/XNode");System.register(["./Bind"],(function(_export,_context){"use strict";var bindSymbol,RootObject,XNode,xnodeSymbol,isControl,elementFactorySymbol,isFactorySymbol,attachedSymbol,isTemplateSymbol,constructorNeedsArgumentsSymbol,attachedProperties,attachedId,attach;_export("RootObject",void 0);return{setters:[function(_Bind){bindSymbol=_Bind.bindSymbol}],execute:function(){_export("RootObject",RootObject=class RootObject{get vsProps(){return undefined}addEventListener(name,handler){return bridge.addEventHandler(this,name,handler)}appendChild(e){bridge.appendChild(this,e)}dispatchEvent(evt){bridge.dispatchEvent(evt)}});_export("xnodeSymbol",xnodeSymbol=Symbol("XNode"));_export("isControl",isControl=Symbol("isControl"));_export("elementFactorySymbol",elementFactorySymbol=Symbol("elementFactory"));_export("isFactorySymbol",isFactorySymbol=Symbol("isFactory"));_export("attachedSymbol",attachedSymbol=Symbol("attached"));_export("isTemplateSymbol",isTemplateSymbol=Symbol("isTemplate"));_export("constructorNeedsArgumentsSymbol",constructorNeedsArgumentsSymbol=Symbol("constructorNeedsArguments"));_export("attachedProperties",attachedProperties={});attachedId=1;attach=(name,attacher)=>{const key=`:${attachedId++}`;const fx=v=>({[key]:v});attachedProperties[key]=attacher;fx[attachedSymbol]=attacher;fx[isFactorySymbol]=key;return fx};XNode=class XNode{static attach(n,tag){return{factory:(attributes,...nodes)=>new XNode(n,attributes?Object.assign(Object.assign({},attributes),{for:tag}):{for:tag},nodes)}}static prepare(n,isProperty,isTemplate){function px(v){return{[n]:v}}px.factory=(a,...nodes)=>new XNode(n,a,nodes,isProperty,isTemplate);px.toString=()=>n;return px}static getClass(fullTypeName,assemblyName){const n=fullTypeName+";"+assemblyName;const cx=XNode.classes[n]||(XNode.classes[n]=bridge.getClass(fullTypeName,assemblyName,RootObject,((name,isProperty,isTemplate)=>(a,...nodes)=>new XNode(name,a,nodes,isProperty,isTemplate))));return cx}static namespace(ns,assemblyName){return(type,isTemplate)=>c=>{for(const key in c){if(c.hasOwnProperty(key)){const element=c[key];if(element){const n=ns+"."+type+":"+key+";"+assemblyName;const af=a=>{const r={[n]:a};Object.defineProperty(r,"toString",{value:()=>n,enumerable:false,configurable:false});return r};af.factory=(a,...nodes)=>new XNode(n,a,nodes,true,element.isTemplate);af.toString=()=>n;c[key]=af}}}const tn=ns+"."+type+";"+assemblyName;c.factory=(a,...nodes)=>new XNode(tn,a,nodes,false,isTemplate);c.toString=()=>tn}}static create(name,attributes,...children){if(typeof name==="string"){return new XNode(name,attributes,children)}if(name[isFactorySymbol]){return new XNode(name,attributes,children)}if(name.factory){return name.factory(attributes,...children)}switch(typeof name){case"object":name=name.toString();break;case"function":return name(attributes||{},...children)}return new XNode(name,attributes,children)}constructor(name,attributes,children,isProperty,isTemplate){this.name=name;this.attributes=attributes;this.children=children;this.isProperty=isProperty;this.isTemplate=isTemplate;this[xnodeSymbol]=true}toString(){if(typeof this.name==="string"){return`name is of type string and value is ${this.name}`}return`name is of type ${typeof this.name}`}};XNode.isFactory=isFactorySymbol;XNode.elementFactory=elementFactorySymbol;XNode.bindSymbol=bindSymbol;XNode.isTemplate=isTemplateSymbol;XNode.prepareAttached=attach;XNode.constructorNeedsArguments=constructorNeedsArgumentsSymbol;XNode.classes={};XNode.factory=(name,isProperty,isTemplate)=>(a,...nodes)=>new XNode(name,a,nodes,isProperty,isTemplate);_export("default",XNode);if(typeof bridge!=="undefined"){bridge.XNode=XNode}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomDispatcher");System.register([],(function(_export,_context){"use strict";var AtomDispatcher;_export("AtomDispatcher",void 0);return{setters:[],execute:function(){_export("AtomDispatcher",AtomDispatcher=class AtomDispatcher{constructor(){this.head=null;this.tail=null}onTimeout(){if(this.paused){return}if(!this.head){return}const item=this.head;this.head=item.next;item.next=null;if(!this.head){this.tail=null}item();setTimeout((()=>{this.onTimeout()}),1)}pause(){this.paused=true}start(){this.paused=false;setTimeout((()=>{this.onTimeout()}),1)}callLater(f){if(this.tail){this.tail.next=f;this.tail=f}else{this.head=f;this.tail=f}if(!this.paused){this.start()}}waitForAll(){return new Promise(((resolve,reject)=>{this.callLater((()=>{resolve()}))}))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/TransientDisposable");System.register([],(function(_export,_context){"use strict";var TransientDisposable;_export("default",void 0);return{setters:[],execute:function(){_export("default",TransientDisposable=class TransientDisposable{constructor(owner){if(owner){this.registerIn(owner)}}registerIn(value){const v=value.disposables;if(v){v.push(this)}else{if(value.registerDisposable){value.registerDisposable(this)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/Inject");System.register(["./TypeKey"],(function(_export,_context){"use strict";var TypeKey,InjectedTypes;function Inject(target,name,index){if(index!==undefined){const key=TypeKey.get(target);const plist=Reflect.getMetadata("design:paramtypes",target,name);if(typeof index==="number"){const pSavedList=InjectedTypes.paramList[key]||(InjectedTypes.paramList[key]=[]);pSavedList[index]=plist[index]}else{throw new Error("Inject can only be applied on constructor"+"parameter or a property without get/set methods")}}else{const key=TypeKey.get(target.constructor);const plist=Reflect.getMetadata("design:type",target,name);const p=InjectedTypes.propertyList[key]||(InjectedTypes.propertyList[key]={});p[name]=plist;let base=target.constructor;while(true){base=Object.getPrototypeOf(base);if(!base){break}const baseKey=TypeKey.get(base);const bp=InjectedTypes.propertyList[baseKey];if(bp){for(const pKey in bp){if(bp.hasOwnProperty(pKey)){const element=bp[pKey];if(!p[pKey]){p[pKey]=element}}}}}}}_export({InjectedTypes:void 0,Inject});return{setters:[function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){_export("InjectedTypes",InjectedTypes=class InjectedTypes{static getParamList(key,typeKey1){let plist=InjectedTypes.paramList[typeKey1];let type=key;while(plist===undefined){type=Object.getPrototypeOf(type);if(!type){break}const typeKey=TypeKey.get(type);plist=InjectedTypes.paramList[typeKey];if(!plist){InjectedTypes.paramList[typeKey]=plist}}return plist}static getPropertyList(key,typeKey1){let plist=InjectedTypes.propertyList[typeKey1];let type=key;while(plist===undefined){type=Object.getPrototypeOf(type);if(!type){break}const typeKey=TypeKey.get(type);plist=InjectedTypes.propertyList[typeKey];if(!plist){InjectedTypes.propertyList[typeKey]=plist}}return plist}});InjectedTypes.paramList={};InjectedTypes.propertyList={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/ServiceProvider");System.register(["../core/TransientDisposable","../core/types","./Inject","./ServiceCollection","./TypeKey"],(function(_export,_context){"use strict";var TransientDisposable,DI,InjectedTypes,Scope,ServiceCollection,TypeKey,ServiceProvider;_export("ServiceProvider",void 0);return{setters:[function(_coreTransientDisposable){TransientDisposable=_coreTransientDisposable.default},function(_coreTypes){DI=_coreTypes.DI},function(_Inject){InjectedTypes=_Inject.InjectedTypes},function(_ServiceCollection){Scope=_ServiceCollection.Scope;ServiceCollection=_ServiceCollection.ServiceCollection},function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){_export("ServiceProvider",ServiceProvider=class ServiceProvider{get global(){return this.parent===null?this:this.parent.global}constructor(parent){this.parent=parent;this.instances=new Map;if(parent===null){ServiceCollection.instance.registerScoped(ServiceProvider)}const sd=ServiceCollection.instance.get(ServiceProvider);this.instances.set(sd.id,this)}get(key){return this.resolve(key,true)}put(key,value){let sd=ServiceCollection.instance.get(key);if(!sd){sd=ServiceCollection.instance.register(key,(()=>value),Scope.Global)}this.instances.set(sd.id,value)}resolve(key,create=false,defValue){const sd=ServiceCollection.instance.get(key);if(!sd){if(!create){if(defValue!==undefined){return defValue}throw new Error(`No service registered for type ${key}`)}return this.create(key)}if(sd.type===ServiceProvider){return this}if(sd.scope===Scope.Global){return this.global.getValue(sd)}if(sd.scope===Scope.Scoped){if(this.parent===null){throw new Error("Scoped dependency cannot be created on global")}}return this.getValue(sd)}getValue(sd){if(sd.scope===Scope.Transient){return sd.factory(this)}let v=this.instances.get(sd.id);if(v===void 0){v=sd.factory(this);this.instances.set(sd.id,v)}return v}newScope(){return new ServiceProvider(this)}dispose(){var _a;for(const element of this.instances.values()){if(element===this){continue}(_a=element.dispose)===null||_a===void 0?void 0:_a.call(element)}this.instances.clear()}create(key){const originalKey=key;const originalTypeKey=TypeKey.get(originalKey);if(DI.resolveType){let mappedType=ServiceProvider.mappedTypes.get(originalTypeKey);if(mappedType===void 0){mappedType=DI.resolveType(originalKey);ServiceProvider.mappedTypes.set(originalKey,mappedType)}key=mappedType}const typeKey1=TypeKey.get(key);const plist=InjectedTypes.getParamList(key,typeKey1);let value=null;if(plist){const pv=plist.map((x=>x?this.resolve(x):void 0));pv.unshift(null);value=new(key.bind.apply(key,pv));for(const iterator of pv){if(iterator&&iterator instanceof TransientDisposable){iterator.registerIn(value)}}}else{value=new key}const propList=InjectedTypes.getPropertyList(key,typeKey1);if(propList){for(const key1 in propList){if(propList.hasOwnProperty(key1)){const element=propList[key1];const d=this.resolve(element);value[key1]=d;if(d&&d instanceof TransientDisposable){d.registerIn(value)}}}}return value}});ServiceProvider.mappedTypes=new Map}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/BusyIndicatorService");System.register(["tslib","../di/RegisterSingleton"],(function(_export,_context){"use strict";var __decorate,RegisterSingleton,BusyIndicatorService;return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton}],execute:function(){_export("BusyIndicatorService",BusyIndicatorService=class BusyIndicatorService{createIndicator(info){return{[Symbol.dispose](){}}}});_export("BusyIndicatorService",BusyIndicatorService=__decorate([RegisterSingleton],BusyIndicatorService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomList");System.register(["./AtomBinder"],(function(_export,_context){"use strict";var AtomBinder,AtomList,ap;_export("AtomList",void 0);return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){_export("AtomList",AtomList=class AtomList extends Array{constructor(){super();this.startValue=0;this.totalValue=0;this.sizeValue=10;this["__proto__"]=AtomList.prototype;this.next=()=>{this.start=this.start+this.size};this.prev=()=>{if(this.start>=this.size){this.start=this.start-this.size}}}get start(){return this.startValue}set start(v){if(v===this.startValue){return}this.startValue=v;AtomBinder.refreshValue(this,"start")}get total(){return this.totalValue}set total(v){if(v===this.totalValue){return}this.totalValue=v;AtomBinder.refreshValue(this,"total")}get size(){return this.sizeValue}set size(v){if(v===this.sizeValue){return}this.sizeValue=v;AtomBinder.refreshValue(this,"size")}add(item){const i=this.length;const n=this.push(item);AtomBinder.invokeItemsEvent(this,"add",i,item);AtomBinder.refreshValue(this,"length");return n}addAll(items){for(const item of items){const i=this.length;this.push(item);AtomBinder.invokeItemsEvent(this,"add",i,item);AtomBinder.refreshValue(this,"length")}const t=items["total"];if(t){this.total=t}}replace(items,start,size){this.length=items.length;for(let i=0;i<items.length;i++){this[i]=items[i]}this.refresh();const t=items["total"];if(t){this.total=t}if(start!==undefined){this.start=start}if(size!==undefined){this.size=size}}insert(i,item){const n=this.splice(i,0,item);AtomBinder.invokeItemsEvent(this,"add",i,item);AtomBinder.refreshValue(this,"length")}set(i,item){const old=this[i];this[i]=item;AtomBinder.invokeItemsEvent(this,"replace",i,item,old);AtomBinder.refreshValue(this,"length")}removeAt(i){const item=this[i];this.splice(i,1);AtomBinder.invokeItemsEvent(this,"remove",i,item);AtomBinder.refreshValue(this,"length");return item}remove(item){if(item instanceof Function){let removed=false;for(let index=0;index<this.length;){const it=this[index];if(item(it)){this.splice(index,1);AtomBinder.invokeItemsEvent(this,"remove",index,it);AtomBinder.refreshValue(this,"length");removed=true;continue}index++}return removed}const n=this.indexOf(item);if(n!==-1){this.removeAt(n);return true}return false}clear(){this.length=0;this.refresh()}refresh(){AtomBinder.invokeItemsEvent(this,"refresh",-1,null);AtomBinder.refreshValue(this,"length")}watch(f,wrap){if(wrap){const fx=f;f=function(){const p=[];for(let i=0;i<arguments.length;i++){const iterator=arguments[i];p.push(iterator)}return fx.call(this,p)}}return AtomBinder.add_CollectionChanged(this,f)}count(f){let total=0;for(const iterator of this){if(f(iterator)){total++}}return total}avg(f){if(!this.length){return 0}let sum=0;for(const iterator of this){sum+=f(iterator)}return sum/this.length}includes(item){return this.indexOf(item)!==-1}});ap=Array.prototype;for(const key of Object.getOwnPropertyNames(AtomList.prototype)){const{value}=Object.getOwnPropertyDescriptor(AtomList.prototype,key);switch(key){case"add":case"addAll":case"clear":case"refresh":case"set":case"remove":case"removeAt":case"watch":case"replace":case"insert":case"count":case"avg":case"includes":if(key in ap){continue}Object.defineProperty(ap,key,{enumerable:false,value,configurable:true,writable:true});continue}}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/App");System.register(["tslib","./core/AtomBinder","./core/AtomDispatcher","./core/types","./di/RegisterSingleton","./di/ServiceProvider","./services/BusyIndicatorService","./core/AtomList","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan"],(function(_export,_context){"use strict";var __decorate,__metadata,AtomBinder,AtomDispatcher,CancelToken,RegisterSingleton,ServiceProvider,BusyIndicatorService,AtomHandler,AtomMessageAction,App_1,App;_export("AtomMessageAction",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomDispatcher){AtomDispatcher=_coreAtomDispatcher.AtomDispatcher},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_diServiceProvider){ServiceProvider=_diServiceProvider.ServiceProvider},function(_servicesBusyIndicatorService){BusyIndicatorService=_servicesBusyIndicatorService.BusyIndicatorService},function(_coreAtomList){},function(_webAtomsDateTimeDistDateTime){},function(_webAtomsDateTimeDistTimeSpan){}],execute:function(){AtomHandler=class AtomHandler{constructor(message){this.message=message;this.list=new Array}};_export("AtomMessageAction",AtomMessageAction=class AtomMessageAction{constructor(msg,a){this.message=msg;this.action=a}});_export("App",App=App_1=class App extends ServiceProvider{static installStyleSheet(ssConfig){if(typeof ssConfig!=="object"){ssConfig={href:ssConfig}}ssConfig.href=UMD.resolvePath(ssConfig.href);const links=document.getElementsByTagName("link");for(let index=0;index<links.length;index++){const element=links[index];const href=element.getAttribute("href");if(href===ssConfig.href){return}}const ss=document.createElement("link");ss.rel="stylesheet";ss.href=ssConfig.href;if(ssConfig.crossOrigin){ss.crossOrigin=ssConfig.crossOrigin}if(ssConfig.integrity){ss.integrity=ssConfig.integrity}document.head.appendChild(ss)}static installScript(location){location=UMD.resolvePath(location);const links=document.getElementsByTagName("script");for(let index=0;index<links.length;index++){const element=links[index];const href=element.getAttribute("src");if(href===location){return element.loaderPromise}}const script=document.createElement("script");const p=new Promise(((resolve,reject)=>{script.type="text/javascript";script.src=location;const s=script;script.onload=s.onreadystatechange=()=>{if(s.readyState&&s.readyState!=="complete"&&s.readyState!=="loaded"){return}script.onload=s.onreadystatechange=null;resolve()};document.body.appendChild(script)}));script.loaderPromise=p;return p}static authorize(authorize=true){const detail={authorize,authorized:true};const ce=new CustomEvent("authorize",{bubbles:true,detail});document.body.dispatchEvent(ce);if(!ce.detail.authorized){return false}return true}get url(){return this.mUrl}set url(v){this.mUrl=v;AtomBinder.refreshValue(this,"url")}get contextId(){return"none"}constructor(){super(null);this.appReady=false;this.readyHandlers=[];this.onError=error=>{console.log(error)};App_1.current=this;this.screen={};this.bag={};this.put(App_1,this);this.dispatcher=new AtomDispatcher;this.dispatcher.start();this.put(AtomDispatcher,this.dispatcher);setTimeout((()=>{this.invokeReady()}),5)}createBusyIndicator(taskInfo){this.busyIndicatorService=this.busyIndicatorService||this.resolve(BusyIndicatorService);return this.busyIndicatorService.createIndicator(taskInfo)}syncUrl(){}callLater(f){this.dispatcher.callLater(f)}installStyleSheet(ssConfig){App_1.installStyleSheet(ssConfig)}installScript(location){return App_1.installScript(location)}updateDefaultStyle(content){throw new Error("Platform does not support StyleSheets")}waitForPendingCalls(){return this.dispatcher.waitForAll()}setTimeoutAsync(task,timeInMS=1,previousToken){if(previousToken!==void 0){clearTimeout(previousToken)}return setTimeout((()=>{try{const p=task();if(p===null||p===void 0?void 0:p.then){p.catch((error=>{if(CancelToken.isCancelled(error)){return}console.error(error)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}),timeInMS)}runAsync(tf){try{const p=tf();if(p&&p.then&&p.catch){p.catch((error=>{this.onError("runAsync");this.onError(error)}))}}catch(e){this.onError("runAsync");this.onError(e)}}broadcast(channel,data){const ary=this.bag[channel];if(!ary){return}for(const entry of ary.list){entry.call(this,channel,data)}}subscribe(channel,action){let ary=this.bag[channel];if(!ary){ary=new AtomHandler(channel);this.bag[channel]=ary}ary.list.push(action);return{dispose:()=>{ary.list=ary.list.filter((a=>a!==action));if(!ary.list.length){this.bag[channel]=null}}}}main(){}onReady(f){if(this.readyHandlers){this.readyHandlers.push(f)}else{this.invokeReadyHandler(f)}}invokeReady(){if(this.invokeReadyHandler){for(const iterator of this.readyHandlers){this.invokeReadyHandler(iterator)}}this.readyHandlers=null}invokeReadyHandler(f){const indicator=this.createBusyIndicator();const a=f();if(a&&a.then&&a.catch){a.then((r=>{indicator[Symbol.dispose]()}));a.catch((e=>{indicator[Symbol.dispose]();console.error(typeof e==="string"?e:JSON.stringify(e))}));return}indicator[Symbol.dispose]()}});_export("App",App=App_1=__decorate([RegisterSingleton,__metadata("design:paramtypes",[])],App))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomDisposableList");System.register([],(function(_export,_context){"use strict";var AtomDisposableList;_export("AtomDisposableList",void 0);return{setters:[],execute:function(){_export("AtomDisposableList",AtomDisposableList=class AtomDisposableList{constructor(){this.disposables=[]}add(d){if(typeof d==="function"){const fx=d;d={dispose:fx}}this.disposables.push(d);const dx=d;return{dispose:()=>{this.disposables=this.disposables.filter((x=>x!==dx));dx.dispose()}}}dispose(){for(const iterator of this.disposables){iterator.dispose()}this.disposables.length=0}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomWatcher");System.register(["./AtomBinder","./ExpressionParser"],(function(_export,_context){"use strict";var AtomBinder,parsePath,ObjectProperty,AtomWatcher;_export({ObjectProperty:void 0,AtomWatcher:void 0});return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder},function(_ExpressionParser){parsePath=_ExpressionParser.parsePath}],execute:function(){_export("ObjectProperty",ObjectProperty=class ObjectProperty{constructor(name){this.name=name}toString(){return this.name}});_export("AtomWatcher",AtomWatcher=class AtomWatcher{constructor(target,path,onChanged,source){this.source=source;this.isExecuting=false;this.target=target;this.forValidation=true;if(path instanceof Function){const f=path;path=parsePath(path);this.func=onChanged||f;this.funcText=f.toString()}else{this.func=onChanged}this.runEvaluate=()=>{this.evaluate()};this.runEvaluate.watcher=this;this.path=path.map((x=>x.map((y=>new ObjectProperty(y)))));if(!this.path.length){debugger;console.warn("There is nothing to watch, do not use one way binding without any binding expression")}}toString(){return this.func.toString()}dispose(){if(!this.path){return}for(const p of this.path){for(const op of p){if(op.watcher){op.watcher.dispose();op.watcher=null;op.target=null}}}this.func=null;this.path=null;this.source=null}init(evaluate){if(evaluate){this.evaluate(true)}else{for(const iterator of this.path){this.evaluatePath(this.target,iterator)}}}evaluatePath(target,path){let newTarget=null;for(const p of path){if(this.source&&p.name==="this"){target=this.source;continue}newTarget=target[p.name];if(!p.target){if(p.watcher){p.watcher.dispose()}p.watcher=AtomBinder.watch(target,p.name,this.runEvaluate)}else if(p.target!==target){if(p.watcher){p.watcher.dispose()}p.watcher=AtomBinder.watch(target,p.name,this.runEvaluate)}p.target=target;target=newTarget;if(newTarget===undefined||newTarget===null){break}}return newTarget}evaluate(force){if(!this.path){console.warn(`Watcher is not disposed properly, please watch for any memory leak`);return}if(this.isExecuting){return}const disposeWatchers=[];this.isExecuting=true;try{const values=[];const logs=[];for(const p of this.path){values.push(this.evaluatePath(this.target,p))}try{this.func.apply(this.target,values)}catch(e){console.warn(e)}}finally{this.isExecuting=false;for(const d of disposeWatchers){d.dispose()}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Hacks");System.register(["../web/core/AtomUI","./AtomBinder"],(function(_export,_context){"use strict";var ChildEnumerator,AtomBinder,visitDescendents,refreshInherited,watchProperty,setValue;return{setters:[function(_webCoreAtomUI){ChildEnumerator=_webCoreAtomUI.ChildEnumerator},function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){_export("visitDescendents",visitDescendents=(element,action)=>{for(const iterator of ChildEnumerator.enumerate(element)){const eAny=iterator;const ac=eAny?eAny.atomControl:undefined;if(!action(iterator,ac)){continue}visitDescendents(iterator,action)}});_export("refreshInherited",refreshInherited=(target,name,fieldName)=>{AtomBinder.refreshValue(target,name);if(!fieldName){fieldName="m"+name[0].toUpperCase()+name.substr(1)}if(!target.element){return}visitDescendents(target.element,((e,ac)=>{if(ac){if(ac[fieldName]===undefined){refreshInherited(ac,name,fieldName)}return false}return true}))});_export("watchProperty",watchProperty=(element,name,events,f)=>{if(events.indexOf("change")===-1){events.push("change")}const l=e=>{const e1=element;const v=e1.type==="checkbox"?e1.checked:e1.value;f(v)};for(const iterator of events){element.addEventListener(iterator,l,false)}return{dispose:()=>{for(const iterator of events){element.removeEventListener(iterator,l,false)}}}});_export("setValue",setValue=(element,name,value)=>{element[name]=value})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/PropertyMap");System.register(["../di/TypeKey"],(function(_export,_context){"use strict";var TypeKey,PropertyMap;_export("PropertyMap",void 0);return{setters:[function(_diTypeKey){TypeKey=_diTypeKey.TypeKey}],execute:function(){_export("PropertyMap",PropertyMap=class PropertyMap{static from(o){const c=Object.getPrototypeOf(o);const key=TypeKey.get(c);const map=PropertyMap.map;const m=map[key]||(map[key]=PropertyMap.createMap(o));return m}static createMap(c){const map={};const nameList=[];while(c){const names=Object.getOwnPropertyNames(c);for(const name of names){if(/hasOwnProperty|constructor|toString|isValid|errors/i.test(name)){continue}map[name]=true;nameList.push(name)}c=Object.getPrototypeOf(c)}const m=new PropertyMap;m.map=map;m.names=nameList;return m}});PropertyMap.map={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomComponent");System.register(["tslib","../App","../core/types","../di/Inject","./AtomDisposableList","./AtomWatcher","./Bind","./Hacks","./InheritedProperty","./PropertyMap","./XNode"],(function(_export,_context){"use strict";var __decorate,__metadata,__param,App,ArrayHelper,CancelToken,ignoreValue,Inject,AtomDisposableList,AtomWatcher,bindSymbol,visitDescendents,watchProperty,InheritedProperty,PropertyMap,isControl,isFactorySymbol,xnodeSymbol,PropertyBinding,_a,_b,localBindSymbol,localXNodeSymbol,AtomComponent;_export("PropertyBinding",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper;CancelToken=_coreTypes.CancelToken;ignoreValue=_coreTypes.ignoreValue},function(_diInject){Inject=_diInject.Inject},function(_AtomDisposableList){AtomDisposableList=_AtomDisposableList.AtomDisposableList},function(_AtomWatcher){AtomWatcher=_AtomWatcher.AtomWatcher},function(_Bind){bindSymbol=_Bind.bindSymbol},function(_Hacks){visitDescendents=_Hacks.visitDescendents;watchProperty=_Hacks.watchProperty},function(_InheritedProperty){InheritedProperty=_InheritedProperty.InheritedProperty},function(_PropertyMap){PropertyMap=_PropertyMap.PropertyMap},function(_XNode){isControl=_XNode.isControl;isFactorySymbol=_XNode.isFactorySymbol;xnodeSymbol=_XNode.xnodeSymbol}],execute:function(){localBindSymbol=bindSymbol;localXNodeSymbol=xnodeSymbol;_export("AtomComponent",AtomComponent=class AtomComponent{get vsProps(){return undefined}constructor(app,element=null){this.app=app;this.mInvalidated=0;this.mPendingPromises={};this.disposables=new AtomDisposableList;this.bindings=[];this.eventHandlers=[];this.element=element;this.element.atomControl=this;const a=this.beginEdit();this.preCreate();this.create();app.callLater((()=>a.dispose()))}bind(element,name,path,twoWays,valueFunc,source){const binding=new PropertyBinding(this,element,name,path,twoWays,valueFunc,source);this.bindings.push(binding);return{dispose:()=>{binding.dispose();ArrayHelper.remove(this.bindings,(x=>x===binding))}}}unbind(element,name){const toDelete=this.bindings.filter((x=>x.element===element&&(!name||x.name===name)));for(const iterator of toDelete){iterator.dispose();ArrayHelper.remove(this.bindings,(x=>x===iterator))}}bindEvent(element,name,method,key,capture){if(!element){return}if(!method){return}const be={element,name,handler:method};if(key){be.key=key}const handler=e=>{var _c;try{let r=method(e);e.executed=true;if(r){const originalReturn=r;r=r.then?r:Promise.resolve(r);e.promise=e.promise?e.promise.then((()=>r)):r;if(originalReturn.catch){return originalReturn.catch((c=>{var _c;if(CancelToken.isCancelled(c!==null&&c!==void 0?c:"Unknown error")){return}alert((_c=c.stack)!==null&&_c!==void 0?_c:c)}))}return r}}catch(error){if(CancelToken.isCancelled(error)){return}alert((_c=error.stack)!==null&&_c!==void 0?_c:error)}};element.addEventListener(name,handler,capture);be.disposable={dispose:()=>{element.removeEventListener(name,handler,capture);be.disposable.dispose=()=>undefined}};this.eventHandlers.push(be);return{dispose:()=>{be.disposable.dispose();ArrayHelper.remove(this.eventHandlers,(e=>e.disposable===be.disposable))}}}unbindEvent(element,name,method,key){const deleted=[];for(const be of this.eventHandlers){if(element&&be.element!==element){return}if(key&&be.key!==key){return}if(name&&be.name!==name){return}if(method&&be.handler!==method){return}be.disposable.dispose();be.handler=null;be.element=null;be.name=null;be.key=null;deleted.push((()=>this.eventHandlers.remove(be)))}for(const iterator of deleted){iterator()}}hasProperty(name){if(/^(data|viewModel|localViewModel|element)$/.test(name)){return true}const map=PropertyMap.from(this);if(map.map[name]){return true}if(this[name]!==undefined){return true}return false}setPrimitiveValue(element,name,value){const p=value;if(p&&p.then&&p.catch){console.warn(`Do not bind promises, instead use Bind.oneWayAsync`);this.mPendingPromises[name]=p;p.then((r=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;this.setPrimitiveValue(element,name,r)})).catch((e=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;console.error(e)}));return}if(/^(viewModel|localViewModel)$/.test(name)){this[name]=value;return}if((!element||element===this.element)&&this.hasProperty(name)){this.runAfterInit((()=>{this[name]=value}))}else{this.setElementValue(element,name,value)}}setLocalValue(element,name,value){const p=value;if(p&&p.then&&p.catch){console.warn(`Do not bind promises, instead use Bind.oneWayAsync`);this.mPendingPromises[name]=p;p.then((r=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;this.setLocalValue(element,name,r)})).catch((e=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;console.error(e)}));return}if((!element||element===this.element)&&Reflect.has(this,name)){this[name]=value}else{this.setElementValue(element,name,value)}}dispose(e){if(this.mInvalidated){clearTimeout(this.mInvalidated);this.mInvalidated=0}visitDescendents(e||this.element,((ex,ac)=>{if(ac){ac.dispose();return false}return true}));if(!e){this.unbindEvent(null,null,null);for(const binding of this.bindings){binding.dispose()}this.bindings.length=0;this.bindings=null;const e1=this.element;if(typeof e1.dispose==="function"){e1.dispose()}this.element=null;const lvm=this.localViewModel;if(lvm&&lvm.dispose){lvm.dispose();this.localViewModel=null}const vm=this.viewModel;if(vm&&vm.dispose){vm.dispose();this.viewModel=null}this.disposables.dispose();this.pendingInits=null}}onPropertyChanged(name){}beginEdit(){this.pendingInits=[];const a=this.pendingInits;return{dispose:()=>{if(this.pendingInits==null){return}this.pendingInits=null;if(a){for(const iterator of a){iterator()}}this.invalidate()}}}invalidate(){if(this.mInvalidated){clearTimeout(this.mInvalidated)}this.mInvalidated=setTimeout((()=>{this.mInvalidated=0;this.app.callLater((()=>{this.onUpdateUI()}))}),5)}onUpdateUI(){}runAfterInit(f){if(this.pendingInits){this.pendingInits.push(f)}else{f()}}registerDisposable(d){return this.disposables.add(d)}render(node,e=this.element,creator=this.creator||this){const app=this.app;const attr=node.attributes;if(attr){for(const key in attr){if(attr.hasOwnProperty(key)){const item=attr[key];const isObject=typeof item==="object";if(isObject&&item!==null){const localSymbol=item[localBindSymbol];if(localSymbol){localSymbol(key,this,e,creator);continue}const localXNode=item[localXNodeSymbol];if(localXNode){if(item.isTemplate){this.setLocalValue(e,key,this.toTemplate(app,item,creator));continue}this.setLocalValue(e,key,this.createNode(app,null,item,creator));continue}}this.setLocalValue(e,key,item)}}}const children=node.children;if(children===void 0){return}for(const iterator of children){if(!iterator){continue}if(!iterator[localXNodeSymbol]){e.appendChild(document.createTextNode(iterator.toString()));continue}if(iterator.isProperty){if(iterator.isTemplate){this.setLocalValue(e,iterator.name,this.toTemplate(app,iterator.children[0],creator));continue}this.createNode(app,e,iterator,creator);continue}const t=iterator.attributes&&iterator.attributes.template;if(t){console.warn(`This path is deprecated, check who is calling it.`);this.setLocalValue(e,t,this.toTemplate(app,iterator,creator));continue}this.createNode(app,e,iterator,creator)}}extractControlProperties(x,name="div"){const a=x.attributes;const extracted={};if(typeof x.name==="function"&&this instanceof x.name){x.name=name}if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){if(Reflect.has(this,key)){const element=a[key];extracted[key]=element;delete a[key]}}}}return extracted}create(){}preCreate(){}setElementValue(element,name,value){element[name]=value}resolve(c,selfName){const result=this.app.resolve(c,true);if(selfName){if(typeof selfName==="function"){this.runAfterInit((()=>{const v=selfName();if(v){for(const key in v){if(v.hasOwnProperty(key)){const element=v[key];result[key]=element}}}}))}else{result[selfName]=this}}return result}pushInit(){this.runAfterInit((()=>{var _c,_d,_e;(_e=(_d=(_c=this).init)===null||_d===void 0?void 0:_d.call(_c))===null||_e===void 0?void 0:_e.catch((error=>CancelToken.isCancelled(error)?void 0:console.error(error)))}))}});_a=isControl;_b=isFactorySymbol;AtomComponent[_a]=true;AtomComponent[_b]=true;__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"data",void 0);__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"viewModel",void 0);__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"localViewModel",void 0);_export("AtomComponent",AtomComponent=__decorate([__param(0,Inject),__metadata("design:paramtypes",[App,Object])],AtomComponent));_export("PropertyBinding",PropertyBinding=class PropertyBinding{constructor(target,element,name,path,twoWays,valueFunc,source){this.target=target;this.element=element;this.name=name;this.twoWays=twoWays;this.source=source;this.isTwoWaySetup=false;this.name=name;this.twoWays=twoWays;this.target=target;this.element=element;this.isRunning=false;if(valueFunc){if(typeof valueFunc!=="function"){this.fromSourceToTarget=valueFunc.fromSource;this.fromTargetToSource=valueFunc.fromTarget}else{this.fromSourceToTarget=valueFunc}}this.watcher=new AtomWatcher(target,path,((...v)=>{if(this.isRunning){return}if(this.disposed){return}for(const iterator of v){if(iterator===undefined){return}}const cv=this.fromSourceToTarget?this.fromSourceToTarget.apply(this,v):v[0];if(cv===ignoreValue){return}this.isRunning=true;try{if(this.target instanceof AtomComponent){this.target.setLocalValue(this.element,this.name,cv)}else{this.target[name]=cv}}finally{this.isRunning=false}}),source);this.path=this.watcher.path;if(this.target instanceof AtomComponent){this.target.runAfterInit((()=>{if(!this.watcher){return}this.watcher.init(true);if(twoWays){this.setupTwoWayBinding()}}))}else{this.watcher.init(true);if(twoWays){this.setupTwoWayBinding()}}}setupTwoWayBinding(){if(this.target instanceof AtomComponent){if(this.element&&(this.element!==this.target.element||!this.target.hasProperty(this.name))){let events=[];if(typeof this.twoWays!=="boolean"){events=this.twoWays}this.twoWaysDisposable=watchProperty(this.element,this.name,events,(v=>{this.setInverseValue(v)}));return}}const watcher=new AtomWatcher(this.target,[[this.name]],((...values)=>{if(this.isTwoWaySetup){this.setInverseValue(values[0])}}));watcher.init(true);this.isTwoWaySetup=true;this.twoWaysDisposable=watcher}setInverseValue(value){if(!this.twoWays){throw new Error("This Binding is not two ways.")}if(this.disposed){return}if(this.isRunning){return}this.isRunning=true;try{const first=this.path[0];const length=first.length;let v=this.target;let i=0;let name;for(i=0;i<length-1;i++){name=first[i].name;if(name==="this"){v=this.source||this.target}else{v=v[name]}if(!v){return}}name=first[i].name;v[name]=this.fromTargetToSource?this.fromTargetToSource.call(this,value):value}finally{this.isRunning=false}}dispose(){var _c;(_c=this.twoWaysDisposable)===null||_c===void 0?void 0:_c.dispose();this.twoWaysDisposable=undefined;this.watcher.dispose();this.disposed=true;this.watcher=null}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/FormattedString");System.register([],(function(_export,_context){"use strict";var FormattedString;_export("default",void 0);return{setters:[],execute:function(){_export("default",FormattedString=class FormattedString{constructor(text){this.text=text}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/NavigationService");System.register(["tslib","../core/AtomComponent","../core/AtomUri","../core/FormattedString","../core/types","./ReferenceService"],(function(_export,_context){"use strict";var __awaiter,AtomComponent,AtomUri,FormattedString,ArrayHelper,ReferenceService,ObjectReference,NavigationService,NotifyType,nameSymbol;function hasPageUrl(target){const url=target[nameSymbol];if(!url){return false}const baseClass=Object.getPrototypeOf(target);if(!baseClass){return false}return baseClass[nameSymbol]!==url}_export({NavigationService:void 0,NotifyType:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_coreAtomComponent){AtomComponent=_coreAtomComponent.AtomComponent},function(_coreAtomUri){AtomUri=_coreAtomUri.AtomUri},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper},function(_ReferenceService){ReferenceService=_ReferenceService.default;ObjectReference=_ReferenceService.ObjectReference}],execute:function(){(function(NotifyType){NotifyType["Information"]="info";NotifyType["Warning"]="warn";NotifyType["Error"]="error"})(NotifyType||_export("NotifyType",NotifyType={}));nameSymbol=UMD.nameSymbol;_export("NavigationService",NavigationService=class NavigationService{constructor(app){this.app=app;this.callbacks=[]}pushPage(pageName,viewModelParameters,options){this.app.runAsync((()=>this.openPage(pageName,viewModelParameters,options)))}openPage(pageName,viewModelParameters,options){options=options||{};if(typeof pageName!=="string"){if(hasPageUrl(pageName)){pageName=pageName[nameSymbol]}else{const rs=this.app.resolve(ReferenceService);const host=pageName instanceof AtomComponent?"reference":"class";const r=rs.put(pageName);pageName=`ref://${host}/${r.key}`}}if(this.beforeCallbacks){for(const iterator of this.beforeCallbacks){const r=iterator(pageName,viewModelParameters,options);if(r){return r}}}const url=new AtomUri(pageName);if(viewModelParameters){for(const key in viewModelParameters){if(viewModelParameters.hasOwnProperty(key)){const element=viewModelParameters[key];if(element===undefined){continue}if(element===null){url.query["json:"+key]="null";continue}if(key.startsWith("ref:")||element instanceof FormattedString){const r=element instanceof ObjectReference?element:this.app.resolve(ReferenceService).put(element);url.query[key.startsWith("ref:")?key:`ref:${key}`]=r.key;continue}if(typeof element!=="string"&&(typeof element==="object"||Array.isArray(element))){url.query["json:"+key]=JSON.stringify(element)}else{url.query[key]=element}}}}for(const iterator of this.callbacks){const r=iterator(url,options);if(r){return r}}return this.openWindow(url,options)}remove(view,force){return __awaiter(this,void 0,void 0,(function*(){if(force){this.app.broadcast(`atom-window-cancel:${view.id}`,"cancelled");return true}const vm=view.viewModel;if(vm&&vm.cancel){const a=yield vm.cancel();return a}this.app.broadcast(`atom-window-cancel:${view.id}`,"cancelled");return true}))}registerNavigationHook(callback){this.callbacks.push(callback);return{dispose:()=>{ArrayHelper.remove(this.callbacks,(a=>a===callback))}}}registerPreNavigationHook(callback){var _a;((_a=this.beforeCallbacks)!==null&&_a!==void 0?_a:this.beforeCallbacks=[]).push(callback);return{dispose:()=>{this.beforeCallbacks.remove(callback)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/BindableProperty");System.register(["./AtomBinder"],(function(_export,_context){"use strict";var AtomBinder;function BindableProperty(target,key){const iVal=target[key];const keyName="_"+key;target[keyName]=iVal;const getter=function(){return this[keyName]};const setter=function(newVal){const oldValue=this[keyName];if(oldValue===undefined?oldValue===newVal:oldValue==newVal){return}const ce=this;if(ce.onPropertyChanging){ce.onPropertyChanging(key,oldValue,newVal)}this[keyName]=newVal;AtomBinder.refreshValue(this,key)};if(delete target[key]){Object.defineProperty(target,key,{get:getter,set:setter,enumerable:true,configurable:true})}}_export("BindableProperty",BindableProperty);return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/WebImage");System.register([],(function(_export,_context){"use strict";var WebImage;_export("default",void 0);return{setters:[],execute:function(){_export("default",WebImage=class WebImage{constructor(url){this.url=url}toString(){return this.url}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomStyle");System.register(["../../core/StringHelper"],(function(_export,_context){"use strict";var StringHelper,AtomStyle,emptyPrototype;_export("AtomStyle",void 0);return{setters:[function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper}],execute:function(){emptyPrototype=Object.getPrototypeOf({});_export("AtomStyle",AtomStyle=class AtomStyle{constructor(styleSheet,name){this.styleSheet=styleSheet;this.name=name;this.styleText=null;this.name=this.name+"-root"}getBaseProperty(tc,name){let c=tc;do{c=Object.getPrototypeOf(c);if(!c){throw new Error("No property descriptor found for "+name)}const pd=Object.getOwnPropertyDescriptor(c.prototype,name);if(!pd){continue}return pd.get.apply(this)}while(true)}build(){if(this.styleText){return}this.styleText=this.createStyleText("",[],this.root).join("\n")}toString(){return this.styleText}createStyleText(name,pairs,styles){const styleList=[];for(const key in styles){if(styles.hasOwnProperty(key)){if(/^(\_\$\_|className$|toString$)/i.test(key)){continue}const element=styles[key];if(element===undefined||element===null){continue}const keyName=StringHelper.fromCamelToHyphen(key);if(key==="subclasses"){const n=name;for(const subclassKey in element){if(element.hasOwnProperty(subclassKey)){const ve=element[subclassKey];pairs=this.createStyleText(`${n}${subclassKey}`,pairs,ve)}}}else{if(element.url){styleList.push(`${keyName}: url(${element})`)}else{styleList.push(`${keyName}: ${element}`)}}}}const cname=StringHelper.fromCamelToHyphen(name);const styleClassName=`${this.name}${cname}`;if(styleList.length){pairs.push(`.${styleClassName} { ${styleList.join(";\r\n")}; }`)}return pairs}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomStyleSheet");System.register(["../../di/TypeKey"],(function(_export,_context){"use strict";var TypeKey,AtomStyleSheet;_export("AtomStyleSheet",void 0);return{setters:[function(_diTypeKey){TypeKey=_diTypeKey.TypeKey}],execute:function(){_export("AtomStyleSheet",AtomStyleSheet=class AtomStyleSheet{constructor(app,name){this.app=app;this.name=name;this.styles={};this.lastUpdateId=0;this.isAttaching=false;this.pushUpdate(0)}getNamedStyle(c){const name=TypeKey.getName(c);return this.createNamedStyle(c,name)}createNamedStyle(c,name,updateTimeout){const style=this.styles[name]=new c(this,`${this.name}-${name}`);style.build();this.pushUpdate(updateTimeout);return style}onPropertyChanging(name,newValue,oldValue){this.pushUpdate()}pushUpdate(delay=1){if(this.isAttaching){return}if(delay===0){this.attach();return}if(this.lastUpdateId){clearTimeout(this.lastUpdateId)}this.lastUpdateId=setTimeout((()=>{this.attach()}),delay)}dispose(){if(this.styleElement){this.styleElement.remove()}}attach(){this.isAttaching=true;const text=[];for(const key in this.styles){if(this.styles.hasOwnProperty(key)){const element=this.styles[key];text.push(element.toString())}}const textContent=text.join("\n");this.app.updateDefaultStyle(textContent);this.isAttaching=false}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomControl");System.register(["tslib","../../core/AtomBinder","../../core/AtomComponent","../../core/BindableProperty","../../core/Command","../../core/FormattedString","../../core/Hacks","../../core/WebImage","../../core/XNode","../../di/TypeKey","../styles/AtomStyle","../styles/AtomStyleSheet"],(function(_export,_context){"use strict";var __decorate,__metadata,AtomBinder,AtomComponent,BindableProperty,Command,FormattedString,refreshInherited,visitDescendents,WebImage,XNode,isControl,TypeKey,AtomStyle,AtomStyleSheet,AtomControl,isAtomControl,fromHyphenToCamel,defaultStyleSheets,ElementValueSetters,propertyId,getSelection,body,html;function setAttribute(name){return(ctrl,e,value)=>{e.setAttribute(name,value)}}function setEvent(name){return(ctrl,e,value)=>{ctrl.bindEvent(e,name,value)}}function setStyle(name,applyUnit){if(applyUnit){return(ctrl,e,value)=>{if(typeof value==="number"){e.style[name]=value+applyUnit;return}e.style[name]=value}}return(ctrl,e,value)=>{e.style[name]=value}}function disposeChildren(owner,e){if(!e){return}let s=e.firstElementChild;while(s){const c=s;s=s.nextElementSibling;const ac=c.atomControl;if(ac){ac.dispose();c.remove();continue}disposeChildren(owner,c);owner.unbind(c);owner.unbindEvent(c);c.remove()}}_export("AtomControl",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomComponent){AtomComponent=_coreAtomComponent.AtomComponent},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreCommand){Command=_coreCommand.default},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreHacks){refreshInherited=_coreHacks.refreshInherited;visitDescendents=_coreHacks.visitDescendents},function(_coreWebImage){WebImage=_coreWebImage.default},function(_coreXNode){XNode=_coreXNode.default;isControl=_coreXNode.isControl},function(_diTypeKey){TypeKey=_diTypeKey.TypeKey},function(_stylesAtomStyle){AtomStyle=_stylesAtomStyle.AtomStyle},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet}],execute:function(){isAtomControl=isControl;fromHyphenToCamel=input=>input.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));if(typeof bridge!=="undefined"&&bridge.platform){throw new Error("AtomControl of Web should not be used with Xamarin Forms")}defaultStyleSheets={};_export("ElementValueSetters",ElementValueSetters={text(ctrl,e,value){e.textContent=value},["class"](ctrl,e,value){if(typeof value==="string"){e.className=value;return}ctrl.setElementClass(e,value,true)},alt:setAttribute("alt"),title:setAttribute("title"),href:setAttribute("href"),target:setAttribute("target"),style:setAttribute("style"),styleLeft:setStyle("left","px"),styleTop:setStyle("top","px"),styleBottom:setStyle("bottom","px"),styleRight:setStyle("right","px"),styleWidth:setStyle("width","px"),styleHeight:setStyle("height","px"),stylePosition:setStyle("position"),styleFontSize:setStyle("fontSize","px"),styleFontFamily:setStyle("fontFamily"),styleFontWeight:setStyle("fontWeight"),styleBorder:setStyle("border"),styleBorderWidth:setStyle("borderWidth","px"),styleBorderColor:setStyle("borderColor"),styleColor:setStyle("color"),styleBackgroundColor:setStyle("backgroundColor"),dir:setAttribute("dir"),name:setAttribute("name"),tabIndex:setAttribute("tabIndex"),contentEditable:setAttribute("contentEditable"),eventClick:setEvent("click"),eventKeydown:setEvent("keydown"),eventKeyup:setEvent("keyup"),eventKeypress:setEvent("keypress"),eventMousedown:setEvent("mousedown"),eventMouseup:setEvent("mouseup"),eventMousemove:setEvent("mousemove"),src(ctrl,e,value){if(value&&/^http\:/i.test(value)){e.src=value.substring(5);return}e.src=value},styleClass(ctrl,e,value){ctrl.setElementClass(e,value)},styleDisplay(ctrl,e,value){if(typeof value==="boolean"){e.style.display=value?"":"none";return}e.style.display=value},formattedText(ctrl,e,value){if(value instanceof FormattedString){value.applyTo(ctrl.app,e)}else{e.textContent=(value||"").toString()}},disabled(ctrl,e,value){if(value){e.setAttribute("disabled","");return}e.removeAttribute("disabled")},autofocus(ctrl,element,value){ctrl.app.callLater((()=>{const ie=element;if(ie){setTimeout((()=>requestAnimationFrame((()=>ie.focus()))),100)}}))},autocomplete(ctrl,element,value){ctrl.app.callLater((()=>{element.autocomplete=value}))},onCreate(ctrl,element,value){value(ctrl,element)},watch(ctrl,element,value){setTimeout(((c1,e1,v1)=>{e1.dispatchEvent(new CustomEvent("watch",{bubbles:true,cancelable:true,detail:{control:c1,value:v1}}))}),1,ctrl,element,value)},ariaLabel(ctrl,e,value){if(value===null){e.removeAttribute("aria-label");return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}e.setAttribute("aria-label",value)},ariaPlaceholder(ctrl,e,value){if(value===null){e.removeAttribute("aria-placeholder");return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}e.setAttribute("aria-placeholder",value)}});ElementValueSetters["aria-label"]=ElementValueSetters.ariaLabel;ElementValueSetters["aria-placeholder"]=ElementValueSetters.ariaPlaceholder;ElementValueSetters["style-display"]=ElementValueSetters.styleDisplay;ElementValueSetters["style-left"]=ElementValueSetters.styleLeft;ElementValueSetters["style-top"]=ElementValueSetters.styleTop;ElementValueSetters["style-bottom"]=ElementValueSetters.styleBottom;ElementValueSetters["style-right"]=ElementValueSetters.styleRight;ElementValueSetters["style-width"]=ElementValueSetters.styleWidth;ElementValueSetters["style-height"]=ElementValueSetters.styleHeight;ElementValueSetters["style-position"]=ElementValueSetters.stylePosition;ElementValueSetters["style-font-size"]=ElementValueSetters.styleFontSize;ElementValueSetters["style-font-family"]=ElementValueSetters.styleFontFamily;ElementValueSetters["style-font-weight"]=ElementValueSetters.styleFontWeight;ElementValueSetters["style-border"]=ElementValueSetters.styleBorder;ElementValueSetters["style-border-width"]=ElementValueSetters.styleBorderWidth;ElementValueSetters["style-border-color"]=ElementValueSetters.styleBorderColor;ElementValueSetters["style-color"]=ElementValueSetters.styleColor;ElementValueSetters["style-background-color"]=ElementValueSetters.styleBackgroundColor;ElementValueSetters["on-create"]=ElementValueSetters.onCreate;propertyId=1;_export("AtomControl",AtomControl=class AtomControl extends AtomComponent{static from(e1){var _a;let e=e1;while(e){const{atomControl}=e;if(atomControl){return atomControl}e=(_a=e._logicalParent)!==null&&_a!==void 0?_a:e.parentElement}}static registerProperty(attributeName,attributeValue,setter){const setterSymbol=`${attributeName}_${attributeValue}_${propertyId++}`;ElementValueSetters[setterSymbol]=setter;function setterFx(v){return{[setterSymbol]:v}}setterFx.toString=()=>setterSymbol;setterFx.property=setterSymbol;return setterFx}get controlStyle(){if(this.mControlStyle===undefined){const key=TypeKey.getName(this.defaultControlStyle||this.constructor);this.mControlStyle=defaultStyleSheets[key];if(this.mControlStyle){return this.mControlStyle}if(this.defaultControlStyle){this.mControlStyle=defaultStyleSheets[key]||(defaultStyleSheets[key]=this.theme.createNamedStyle(this.defaultControlStyle,key))}this.mControlStyle=this.mControlStyle||null}return this.mControlStyle}set controlStyle(v){if(v instanceof AtomStyle){this.mControlStyle=v}else{const key=TypeKey.getName(v);this.mControlStyle=defaultStyleSheets[key]||(defaultStyleSheets[key]=this.theme.createNamedStyle(v,key))}AtomBinder.refreshValue(this,"controlStyle");this.invalidate()}get theme(){return this.mTheme||this.mCachedTheme||(this.mCachedTheme=this.parent?this.parent.theme:this.app.resolve(AtomStyleSheet,false,null))}set theme(v){this.mTheme=v;refreshInherited(this,"theme")}get parent(){let e=this.element._logicalParent||this.element.parentElement;if(!e){return null}while(e){const ac=e.atomControl;if(ac){return ac}e=e._logicalParent||e.parentElement}}get factory(){return AtomControl}constructor(app,e=document.createElement("div")){super(app,e)}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"theme":this.mCachedTheme=null;AtomBinder.refreshValue(this,"style");break;case"renderer":this.rendererChanged();break}}atomParent(e){var _a;while(e){const ac=e.atomControl;if(ac){return ac}e=(_a=e._logicalParent)!==null&&_a!==void 0?_a:e.parentElement}}append(element){if(element instanceof AtomControl){this.element.appendChild(element.element)}else{this.element.appendChild(element)}return this}updateSize(){this.onUpdateSize();visitDescendents(this.element,((e,ac)=>{if(ac){ac.updateSize();return false}return true}))}rendererChanged(){disposeChildren(this,this.element);this.element.innerHTML="";const r=this.renderer;if(!r){return}delete this.render;this.render(r)}preCreate(){}setElementValue(element,name,value){if(value===undefined){return}const setter=ElementValueSetters[name];if(setter!==void 0){setter(this,element,value);return}if(/^(data|aria)\-/.test(name)){if(value===null){element.removeAttribute(name);return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}element.setAttribute(name,value);return}if(/^style/.test(name)){name=name.substring(5);if(name.startsWith("-")){name=fromHyphenToCamel(name.substring(1))}else{name=name.charAt(0).toLowerCase()+name.substring(1)}if(value instanceof WebImage){value=`url(${value})`}element.style[name]=value;return}if(/^event/.test(name)){name=name.substring(5);if(name.startsWith("-")){name=fromHyphenToCamel(name.substring(1))}else{name=name.charAt(0).toLowerCase()+name.substring(1)}this.bindEvent(element,name,value);return}if(name.startsWith("attr-")){if(value===null){element.removeAttribute(name.substring(5));return}element.setAttribute(name.substring(5),value)}else{element[name]=value}}setElementClass(element,value,clear){const s=value;if(s&&typeof s==="object"){if(!s.className){if(clear){let sr="";for(const key in s){if(s.hasOwnProperty(key)){const sv=s[key];if(sv){sr+=sr?" "+key:key}}}element.className=sr;return}for(const key in s){if(s.hasOwnProperty(key)){const sv=s[key];if(sv){if(!element.classList.contains(key)){element.classList.add(key)}}else{if(element.classList.contains(key)){element.classList.remove(key)}}}}return}}const sv1=s?s.className||s.toString():"";element.className=sv1}onUpdateSize(){}removeAllChildren(e){let child=e.firstElementChild;while(child){const c=child;child=child.nextElementSibling;const ac=c;if(ac&&ac.atomControl){ac.atomControl.dispose()}else{this.unbindEvent(child);this.unbind(child)}c.remove()}}createNode(app,e,iterator,creator){const name=iterator.name;const attributes=iterator.attributes;if(typeof name==="string"){const element=document.createElement(name);if(name==="input"){if(!attributes.autocomplete){this.app.callLater((()=>{element.autocomplete="google-stop"}))}}e===null||e===void 0?void 0:e.appendChild(element);this.render(iterator,element,creator);return element}if(name[isAtomControl]){const forName=attributes===null||attributes===void 0?void 0:attributes.for;const ctrl=new name(app,forName?document.createElement(forName):undefined);const element=ctrl.element;e===null||e===void 0?void 0:e.appendChild(element);ctrl.render(iterator,element,creator);return element}throw new Error(`not implemented create for ${iterator.name}`)}toTemplate(app,iterator,creator){var _a;if(iterator.isTemplate){return this.toTemplate(app,iterator.children[0],creator)}const name=iterator.name;if(typeof name==="string"){return class Template extends AtomControl{constructor(a=app,e=document.createElement(name)){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}if(name[isAtomControl]){const forName=(_a=name.attributes)===null||_a===void 0?void 0:_a.for;if(forName){return class Template extends name{constructor(a=app,e=document.createElement(forName)){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}return class Template extends name{constructor(a=app,e){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}throw new Error(`Creating template from ${name} not supported`)}dispatchClickEvent(e,data){let clickEvent=data.clickEvent;if(!clickEvent){return}clickEvent=clickEvent.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));const ce=new CustomEvent(clickEvent,{detail:data,bubbles:true,cancelable:true});e.target.dispatchEvent(ce);if(ce.preventClickEvent){e.preventDefault()}}});__decorate([BindableProperty,__metadata("design:type",XNode)],AtomControl.prototype,"renderer",void 0);getSelection=()=>{const sel=window.getSelection();if(sel.rangeCount){var frag=sel.getRangeAt(0).cloneContents();var el=document.createElement("div");el.appendChild(frag);return el.innerHTML}return""};body=document.body;html=body.parentElement;window.addEventListener("click",(e=>{if(e.defaultPrevented){return}if(getSelection()){return}const originalTarget=e.target;let start=originalTarget;if(originalTarget===html){return}let clickEvent;while(start&&start!==body){clickEvent||(clickEvent=start.getAttribute("data-click-event"));if(start.tagName==="A"){if(!clickEvent){return}if(clickEvent==="route"){const{href}=start;if(href){if(Command.invokeRoute(href,true)){e.preventDefault();e.stopImmediatePropagation();e.stopPropagation()}}}e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();break}start=start.parentNode}let control=AtomControl.from(originalTarget);if(control!==void 0){const data=new Proxy(originalTarget,{get(target,p){if(typeof p!=="string"){return}while(target){const value=target.dataset[p];if(value!==void 0){return value}target=target.parentElement}}});control.dispatchClickEvent(e,data)}}))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/PopupWindow");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../../core/sleep","../../core/types","../controls/AtomControl","../core/AtomUI","./PopupWindow.global.css"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,BindableProperty,XNode,sleep,CancelToken,AtomControl,ChildEnumerator,PopupWindow,ConfirmPopup,popupService,loadPopupService,focus;_export({default:void 0,ConfirmPopup:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreBind){Bind=_coreBind.default},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreXNode){XNode=_coreXNode.default},function(_coreSleep){sleep=_coreSleep.default},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},function(_coreAtomUI){ChildEnumerator=_coreAtomUI.ChildEnumerator},function(_PopupWindowGlobalCss){}],execute:function(){loadPopupService=()=>__awaiter(void 0,void 0,void 0,(function*(){if(popupService){return popupService}return popupService=(yield _context.import("./PopupService")).default}));focus=popup=>{var _a,_b,_c;const element=popup.element;if(!element){return}const host=(_a=element.querySelector(`[data-window-element="title"]`))!==null&&_a!==void 0?_a:element.querySelector(`[data-window-element="action-bar"]`);if(host){popup.setupDragging(host)}const anyAutofocus=element.querySelector(`*[autofocus]`);if(!anyAutofocus){const cb=element.querySelector(".popup-close-button");if(cb){cb.focus()}return}(_c=(_b=anyAutofocus).focus)===null||_c===void 0?void 0:_c.call(_b)};_export("default",PopupWindow=class PopupWindow extends AtomControl{constructor(){super(...arguments);this.initialized=false}static showWindow(window,options){var arguments_1=arguments;return __awaiter(this,void 0,void 0,(function*(){if(arguments_1.length<=1){options=arguments_1[0];window=this}yield sleep(1);const PS=yield loadPopupService();return PS.showWindow(PS.lastTarget,window,options)}))}static showModal(window,options){var arguments_2=arguments;return __awaiter(this,void 0,void 0,(function*(){var _a;if(arguments_2.length<=1){options=arguments_2[0];window=this}options!==null&&options!==void 0?options:options={};(_a=options.modal)!==null&&_a!==void 0?_a:options.modal=true;yield sleep(1);const PS=yield loadPopupService();return PS.showWindow(PS.lastTarget,window,options)}))}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"iconRenderer":this.recreate(name,"icon");break;case"actionBarRenderer":this.recreate(name,"action-bar");break;case"footerRenderer":this.recreate(name,"footer");break;case"titleRenderer":this.recreate(name,"title");break;case"headerRenderer":this.recreate(name,"header");break;case"closeButtonRenderer":this.recreate(name,"close");break}}init(){}requestCancel(){return __awaiter(this,void 0,void 0,(function*(){if(this.closeWarning){if(!(yield ConfirmPopup.confirm({message:this.closeWarning}))){return}}this.cancel()}))}recreate(renderer,name){var _a,_b,_c;const node=(_b=(_a=this[renderer])===null||_a===void 0?void 0:_a.call(this))!==null&&_b!==void 0?_b:undefined;for(const e of ChildEnumerator.enumerate(this.element)){if(e.getAttribute("data-window-element")===name){this.dispose(e);e.remove();break}}if(node){const na=(_c=node.attributes)!==null&&_c!==void 0?_c:node.attributes={};na["data-window-element"]=name;super.render(XNode.create("div",null,node));return this.element.querySelector(`[data-window-element="${name}"]`)}return null}rendererChanged(){for(const content of ChildEnumerator.where(this.element,(e=>e.getAttribute("data-window-element")==="content"))){this.dispose(content);content.remove()}const r=this.renderer;if(!r){return}delete this.render;this.render(r)}preCreate(){this.title=null;this.viewModelTitle=null;this.element.setAttribute("not-ready","1");const c=new CancelToken;this.cancelToken=c;this.registerDisposable({dispose(){c.cancel()}});const handler=e=>{if(e.key==="Escape"){this.app.runAsync((()=>this.requestCancel()));e.preventDefault();return}};this.bindEvent(this.element,"keydown",handler);this.element.setAttribute("data-popup-window","popup-window");setTimeout((p=>{p.setAttribute("data-ready","true")}),10,this.element);setTimeout((p=>{var _a;const parent=(_a=p.offsetParent)!==null&&_a!==void 0?_a:document.body;const left=`${(parent.offsetWidth-p.offsetWidth)/2}px`;const top=`${(parent.offsetHeight-p.offsetHeight)/2}px`;p.style.left=left;p.style.top=top;p.removeAttribute("not-ready")}),1e3,this.element)}render(node,e,creator){var _a,_b,_c,_d,_e;if(e||((_a=node===null||node===void 0?void 0:node.attributes)===null||_a===void 0?void 0:_a["data-window-element"])){super.render(node,e,creator);return}this.render=super.render;(_b=this.titleRenderer)!==null&&_b!==void 0?_b:this.titleRenderer=()=>XNode.create("div",{class:"title-text",text:Bind.oneWay((()=>this.title||this.viewModelTitle))});(_c=this.closeButtonRenderer)!==null&&_c!==void 0?_c:this.closeButtonRenderer=()=>XNode.create("button",{class:"popup-close-button",text:"x",eventClick:Bind.event((()=>this.requestCancel()))});(_d=this.actionBarRenderer)!==null&&_d!==void 0?_d:this.actionBarRenderer=()=>XNode.create("div",null);const a=(_e=node.attributes)!==null&&_e!==void 0?_e:node.attributes={};a["data-window-content"]="window-content";a["data-window-element"]="content";const extracted=this.extractControlProperties(node);super.render(XNode.create("div",Object.assign({viewModelTitle:Bind.oneWay((()=>this.viewModel.title))},extracted),node),e,creator);if(!this.initialized){this.initialized=true;this.runAfterInit((()=>{setTimeout(focus,100,this)}))}}setupDragging(tp){this.bindEvent(tp,"mousedown",(startEvent=>{if(startEvent.target.tagName==="BUTTON"){return}startEvent.preventDefault();const disposables=[];const element=this.element;const offset={x:element.offsetLeft,y:element.offsetTop};this.element.dataset.dragging="true";const rect={x:startEvent.clientX,y:startEvent.clientY};const cursor=tp.style.cursor;tp.style.cursor="move";disposables.push(this.bindEvent(document.body,"mousemove",(moveEvent=>{const{clientX,clientY}=moveEvent;const dx=clientX-rect.x;const dy=clientY-rect.y;const finalX=offset.x+dx;const finalY=offset.y+dy;if(finalX<5||finalY<5){return}offset.x=finalX;offset.y=finalY;this.element.style.left=offset.x+"px";this.element.style.top=offset.y+"px";rect.x=clientX;rect.y=clientY})));disposables.push(this.bindEvent(document.body,"mouseup",(endEvent=>{tp.style.cursor=cursor;this.element.removeAttribute("data-dragging");for(const iterator of disposables){iterator.dispose()}})))}))}});__decorate([BindableProperty,__metadata("design:type",String)],PopupWindow.prototype,"title",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"titleRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"closeButtonRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"footerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"headerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"iconRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"actionBarRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",String)],PopupWindow.prototype,"closeWarning",void 0);delete PopupWindow.prototype.init;_export("ConfirmPopup",ConfirmPopup=class ConfirmPopup extends PopupWindow{static confirm(_a){return __awaiter(this,arguments,void 0,(function*({message,title="Confirm",yesLabel="Yes",noLabel="No",cancelLabel=null}){const PS=yield loadPopupService();return PS.confirm({title,message,yesLabel,noLabel,cancelLabel})}))}preCreate(){super.preCreate();this.yesLabel="Yes";this.noLabel="No";this.cancelLabel=null;this.element.setAttribute("data-confirm-popup","confirm-popup");this.footerRenderer=()=>XNode.create("div",null,XNode.create("button",{class:"yes",autofocus:true,text:Bind.oneWay((()=>this.yesLabel)),eventClick:()=>this.close(true),"style-display":Bind.oneWay((()=>!!this.yesLabel))}),XNode.create("button",{class:"no",text:Bind.oneWay((()=>this.noLabel)),eventClick:()=>this.close(false),"style-display":Bind.oneWay((()=>!!this.noLabel))}),XNode.create("button",{class:"cancel",text:Bind.oneWay((()=>this.cancelLabel)),eventClick:()=>this.requestCancel(),"style-display":Bind.oneWay((()=>!!this.cancelLabel))}));this.closeButtonRenderer=()=>XNode.create("div",{"style-display":"none"})}requestCancel(){this.cancel();return Promise.resolve()}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/PopupService");System.register(["tslib","../../core/AtomDisposableList","../../core/InheritedProperty","../../core/types","../../core/XNode","../controls/AtomControl","./PopupService.global.css","./PopupWindow"],(function(_export,_context){"use strict";var __awaiter,__rest,AtomDisposableList,getOwnInheritedProperty,CancelToken,XNode,AtomControl,PopupWindowA,ConfirmPopup,PopupControl,PopupService,PopupWindow,popupCss,disableContain,popupId,lastTarget;function findHostAndPosition(opener){let root=opener;const body=document.body;let rect=opener.getBoundingClientRect();const offset={x:rect.left,y:rect.top,handler:null,root};do{root=root.parentElement;if(root===body){break}if(root.parentElement.classList.contains("page-host")){break}if(root.classList.contains("popup-host")){break}if(root.getAttribute("data-pop-up-host")==="yes"){break}}while(true);rect=root.getBoundingClientRect();offset.x-=rect.x;offset.y-=rect.y;offset.root=root;return offset}function findHost(opener,offset){var _a,_b;let host=opener.offsetParent;while(host){const current=host;if(host===document.body){return host}if(host.classList.contains("popup-host")){return host}if(host.dataset.popUpHost==="yes"){return host}const parent=(_a=host.offsetParent)!==null&&_a!==void 0?_a:host.parentElement;host=parent;if(host.classList.contains("page-host")){host=current;return host}if(!host){continue}if(!offset){continue}offset.x+=host.offsetLeft;offset.y+=host.offsetTop-((_b=parent===null||parent===void 0?void 0:parent.scrollTop)!==null&&_b!==void 0?_b:0)}return host!==null&&host!==void 0?host:document.body}function closeHandler(host,opener,container,close){let handler=null;handler=e=>{var _a;if(container===null||container===void 0?void 0:container.element){const ce=new CustomEvent("outsideClick",{detail:e,cancelable:true,bubbles:true});container.element.dispatchEvent(ce);if(ce.defaultPrevented){return}}let start=e.target;if(e.defaultPrevented){return}while(start){if(start===host){break}if(start===opener){return}if(start===container.element){return}start=start.parentElement}close();e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e)};document.body.addEventListener("click",handler,true);container.registerDisposable((()=>document.body.removeEventListener("click",handler,true)));const onBack=e=>{var _a;e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e);e.stopPropagation();close()};window.addEventListener("backButton",onBack,true);container.registerDisposable((()=>window.removeEventListener("backButton",onBack,true)));setTimeout((()=>{container.registerDisposable(disableContain(container.element))}),10)}_export("PopupControl",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__rest=_tslib.__rest},function(_coreAtomDisposableList){AtomDisposableList=_coreAtomDisposableList.AtomDisposableList},function(_coreInheritedProperty){getOwnInheritedProperty=_coreInheritedProperty.getOwnInheritedProperty},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_coreXNode){XNode=_coreXNode.default},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},function(_PopupServiceGlobalCss){},function(_PopupWindow){PopupWindowA=_PopupWindow.default;ConfirmPopup=_PopupWindow.ConfirmPopup}],execute:function(){_export("PopupWindow",PopupWindow=PopupWindowA);document.body.addEventListener("click",(e=>{if(e.target.offsetParent){PopupService.lastTarget=e.target}}));popupCss="web-atoms-popup-local";_export("PopupControl",PopupControl=class PopupControl extends AtomControl{static showControl(opener,_a={}){var{onClick="close"}=_a,options=__rest(_a,["onClick"]);let openerElement=options===null||options===void 0?void 0:options.parentElement;let app;if(opener instanceof AtomControl){openerElement!==null&&openerElement!==void 0?openerElement:openerElement=opener.element;app=opener.app}else{openerElement!==null&&openerElement!==void 0?openerElement:openerElement=opener;let start=opener;while(!start.atomControl){start=start.parentElement}if(!start){return Promise.reject("Could not create popup as target is not attached")}app=start.atomControl.app}const popup=new this(app);if(onClick==="close"){popup.bindEvent(popup.element,"click",(()=>setTimeout((()=>popup.close()),10)))}else if(onClick==="cancel"){popup.bindEvent(popup.element,"click",(()=>setTimeout((()=>popup.cancel()),10)))}const p=PopupService.show(openerElement,popup.element,options);return new Promise(((resolve,reject)=>{let resolved=false;popup.close=r=>{if(resolved){return}resolved=true;PopupService.lastTarget=openerElement;resolve(r);p.dispose()};popup.cancel=e=>{if(resolved){return}resolved=true;PopupService.lastTarget=openerElement;reject(e);p.dispose()}}))}});_export("disableContain",disableContain=ce=>{const containNoneList=[];while(ce){const style=window.getComputedStyle(ce);const isNotNone=style.contain!=="none";if(isNotNone){ce.setAttribute("data-force-contain","none");containNoneList.push(ce)}ce=ce.parentElement}return()=>{for(const iterator of containNoneList){iterator.removeAttribute("data-force-contain")}}});popupId=1001;lastTarget={element:null,x:10,y:10};PopupService=class PopupService{static get lastTarget(){var _a,_b,_c;const{element,x=0,y=0}=lastTarget;if(element===null||element===void 0?void 0:element.isConnected){return element}const targets=this.targetPath;if(targets){for(;;){const first=targets[0];if(!first){break}if(first.isConnected){lastTarget={element:first,x,y};return first}targets.splice(0,1)}}let e=(_b=(_a=document.elementFromPoint)===null||_a===void 0?void 0:_a.call(document,x,y))!==null&&_b!==void 0?_b:document.body;if(((_c=this.defaultElementTarget)===null||_c===void 0?void 0:_c.isConnected)&&(e===document.documentElement||e===document.body)){e=this.defaultElementTarget}PopupService.lastTarget=e;return e}static set lastTarget(element){if(!element.isConnected){return}if(element===document.documentElement){return}let start=element;const targets=[start];while(start){start=start.parentElement;if(start){targets.push(start)}}this.targetPath=targets;if(!this.defaultElementTarget&&element!==document.body&&element!==document.documentElement){this.defaultElementTarget=element}const rect=element.getBoundingClientRect();lastTarget={element,x:rect.left+rect.width/2,y:rect.top+rect.height/2}}static alert(_a){return __awaiter(this,arguments,void 0,(function*({message,detail,title="Alert",yesLabel="Ok"}){var _b,_c;try{const isMsgXNode=message instanceof XNode;const isDetailXNode=detail&&detail instanceof XNode;if(isMsgXNode){((_b=message.attributes)!==null&&_b!==void 0?_b:message.attributes={})["data-element"]="message"}if(isDetailXNode){((_c=detail.attributes)!==null&&_c!==void 0?_c:detail.attributes={})["data-element"]="details"}const popup=class extends ConfirmPopup{create(){this.render(XNode.create("div",null,isMsgXNode?message:XNode.create("div",{"data-element":"message",text:message}),detail&&(isDetailXNode?detail:XNode.create("details",{"data-element":"details"},XNode.create("pre",{text:detail})))))}};return yield popup.showModal({parameters:{message,detail,yesLabel,noLabel:""},title})}catch(e){if(CancelToken.isCancelled(e)){return false}throw e}}))}static confirm(_a){return __awaiter(this,arguments,void 0,(function*({message,title="Confirm",yesLabel="Yes",noLabel="No",cancelLabel=null}){try{const popup=class extends ConfirmPopup{create(){this.render(XNode.create("div",null,message instanceof XNode?message:XNode.create("div",{text:message})))}};return yield popup.showModal({parameters:{message,yesLabel,noLabel,cancelLabel},title})}catch(e){if(CancelToken.isCancelled(e)){return false}throw e}}))}static showWindow(opener,popupClass,popupOptions){return new Promise(((resolve,reject)=>{var _a,_b,_c,_d,_e;var _f;const activeElement=document.activeElement;const previousTarget=opener;const parent=AtomControl.from(opener);const control=new popupClass(parent.app,document.createElement("div"));const vm=(_a=getOwnInheritedProperty(control,"viewModel"))!==null&&_a!==void 0?_a:"parameters"in control?(_b=(_f=control).parameters)!==null&&_b!==void 0?_b:_f.parameters={}:control;let element=control.element;element.style.zIndex=`${popupId++}`;let resolved=false;const close=r=>{setTimeout((()=>{if(!resolved){resolved=true;setTimeout(resolve,1,r);if(control.element){control.element.remove();control.dispose()}element===null||element===void 0?void 0:element.remove();element=undefined;PopupService.lastTarget=previousTarget;try{activeElement===null||activeElement===void 0?void 0:activeElement.focus()}catch(error){console.error(error)}}}),1)};const cancel=r=>{setTimeout((()=>{if(!resolved){resolved=true;setTimeout(reject,1,r!==null&&r!==void 0?r:"cancelled");if(control.element){control.element.remove();control.dispose()}element===null||element===void 0?void 0:element.remove();element=undefined;PopupService.lastTarget=previousTarget;try{activeElement===null||activeElement===void 0?void 0:activeElement.focus()}catch(error){console.error(error)}}}),1)};let isModal=false;if(popupOptions){const{width,height,minHeight,maxHeight,minWidth,maxWidth,maximize,title,parameters,cancelToken,modal}=popupOptions;if(title){vm.title=title}let widthSet=false;let heightSet=false;if(maximize){element.setAttribute("data-maximize","true");widthSet=heightSet=true}else{if(width){element.style.width=typeof width==="number"?width+"px":width;widthSet=true}if(height){element.style.height=typeof height==="number"?height+"px":height;heightSet=true}if(minWidth){element.style.minWidth=typeof minWidth==="number"?minWidth+"px":minWidth;widthSet=true}if(minHeight){element.style.minHeight=typeof minHeight==="number"?minHeight+"px":minHeight;heightSet=true}if(maxWidth){element.style.maxWidth=typeof maxWidth==="number"?maxWidth+"px":maxWidth;widthSet=true}if(maxHeight){element.style.maxHeight=typeof maxHeight==="number"?maxHeight+"px":maxHeight;heightSet=true}}if(!widthSet){element.setAttribute("data-no-width","true")}if(!heightSet){element.setAttribute("data-no-height","true")}if(parameters){for(const key in parameters){if(Object.prototype.hasOwnProperty.call(parameters,key)){const e=parameters[key];vm[key]=e}}(_e=(_d=(_c=control).init)===null||_d===void 0?void 0:_d.call(_c))===null||_e===void 0?void 0:_e.catch((error=>{if(!CancelToken.isCancelled(error)){console.error(error)}}))}cancelToken===null||cancelToken===void 0?void 0:cancelToken.registerForCancel(cancel);isModal=modal}const host=findHost(opener);host.appendChild(control.element);vm.cancel=cancel;vm.close=close;if(vm!==control){control.cancel=cancel;control.close=close}if(isModal){const bg=document.createElement("div");bg.setAttribute("data-window-modal-background","background");host.appendChild(bg);const onBack=e=>{var _a,_b,_c;e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e);e.stopPropagation();(_c=(_b=control).requestCancel)===null||_c===void 0?void 0:_c.call(_b)};window.addEventListener("backButton",onBack,true);control.registerDisposable({dispose:()=>{bg.remove();window.removeEventListener("backButton",onBack,true)}})}else{closeHandler(host,opener,control,cancel)}}))}static show(opener,popup,options){var _a,_b;const previousTarget=opener;const container={element:document.createElement("div"),disposables:new AtomDisposableList,registerDisposable:null,dispose:null};container.registerDisposable=f=>container.disposables.add(f);let alignment=(_a=options===null||options===void 0?void 0:options.alignment)!==null&&_a!==void 0?_a:"auto";if(alignment==="auto"){const rect=opener.getBoundingClientRect();const w=window.visualViewport.width;if(rect.left>w/2){alignment="bottomRight"}}const isCenterOfScreen=alignment==="centerOfScreen";const popupStyle=(_b=options===null||options===void 0?void 0:options.popupStyle)!==null&&_b!==void 0?_b:popupCss;container.element._logicalParent=opener;container.element.classList.add(popupStyle);if(isCenterOfScreen){container.element.dataset.centerPopup="center"}else{container.element.dataset.inlinePopup="left";const alignPopup=()=>{switch(alignment){case"bottomRight":container.element.style.top=opener.offsetTop+opener.offsetHeight+"px";container.element.style.right="0px";container.element.dataset.inlinePopup="right";opener.insertAdjacentElement("afterend",container.element);break;case"topRight":case"right":container.element.style.top=opener.offsetTop+"px";container.element.style.left=opener.offsetWidth+"px";opener.insertAdjacentElement("afterend",container.element);break;case"bottomLeft":container.element.dataset.inlinePopup="inline-left";container.element.style.top=opener.offsetTop+opener.offsetHeight+"px";opener.insertAdjacentElement("beforebegin",container.element);break;default:container.element.style.top=opener.offsetTop+opener.offsetHeight+"px";opener.insertAdjacentElement("afterend",container.element);break}};if(opener.offsetParent!==opener.parentElement){opener.parentElement.style.position="relative";setTimeout(alignPopup,5)}else{alignPopup()}}const parent=AtomControl.from(opener);if(popup instanceof XNode){parent.render(popup,container)}else{container.element.appendChild(popup)}const style=container.element.style;style.zIndex=`${popupId++}`;container.dispose=()=>{if(!container.disposables){return}container.disposables.dispose();parent.dispose(container.element);container.element.remove();container.disposables=null;PopupService.lastTarget=previousTarget};closeHandler(opener.parentElement,opener,container,(()=>{const e=container.element;container.dispose();e.remove()}));const ct=options===null||options===void 0?void 0:options.cancelToken;if(ct){ct.registerForCancel((()=>container.dispose()))}return container}};PopupService.targetPath=[];_export("default",PopupService)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/PageNavigator");System.register(["tslib","@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/Command"],(function(_export,_context){"use strict";var __awaiter,CancelToken,PageCommands,PageNavigator;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistCoreCommand){PageCommands=_webAtomsCoreDistCoreCommand.PageCommands}],execute:function(){_export("default",PageNavigator=class PageNavigator{static openPage(page,parameters={},clearHistory=true){this.pushPageForResult(page,parameters,clearHistory).catch((e=>{if(!CancelToken.isCancelled(e)){console.error(e)}}))}static pushPage(page,parameters={},clearHistory=false){this.pushPageForResult(page,parameters,clearHistory).catch((e=>{if(!CancelToken.isCancelled(e)){console.error(e)}}))}static pushPageForResult(page_1){return __awaiter(this,arguments,void 0,(function*(page,parameters={},clearHistory=false){return null}))}static pushPageForResultOrCancel(page,parameters,clearHistory){try{return this.pushPageForResult(page,parameters)}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e);return}}});PageCommands.openPage=(c,p)=>PageNavigator.openPage(c,p);PageCommands.pushPage=(c,p)=>PageNavigator.pushPage(c,p);PageCommands.pushPageForResult=(c,p)=>PageNavigator.pushPageForResult(c,p)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/mobile-app/MobileApp");System.register(["tslib","@web-atoms/core/dist/core/AtomLoader","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/services/NavigationService","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/services/PopupService","../PageNavigator","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/types","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/Route","./MobileApp.global.css"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomLoader,sleep,XNode,NavigationService,AtomControl,PopupService,PopupWindow,PageNavigator,StringHelper,BindableProperty,AtomDisposableList,Bind,CancelToken,AncestorEnumerator,ChildEnumerator,displayRouteSymbol,Route,Drawer,BasePage,ContentPage,TabbedPage,MobileApp,PopupWindowEx,PopupWindowPage,_a,historyBackCalled,isMobileView,isPopupPage,root;function PullToRefresh(){return XNode.create("div",null,XNode.create("i",{class:"pull-icon fa-solid fa-down"}),XNode.create("span",{class:"down",text:" Pull"}),XNode.create("span",{class:"up",text:" Refresh"}),XNode.create("i",{class:"loading fa-duotone fa-spinner fa-spin"}))}_export({PullToRefresh,Drawer:void 0,BasePage:void 0,ContentPage:void 0,TabbedPage:void 0,PopupWindowPage:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreAtomLoader){AtomLoader=_webAtomsCoreDistCoreAtomLoader.AtomLoader},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistServicesNavigationService){NavigationService=_webAtomsCoreDistServicesNavigationService.NavigationService},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default;PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_PageNavigator){PageNavigator=_PageNavigator.default},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreAtomDisposableList){AtomDisposableList=_webAtomsCoreDistCoreAtomDisposableList.AtomDisposableList},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator;ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator},function(_webAtomsCoreDistCoreCommand){displayRouteSymbol=_webAtomsCoreDistCoreCommand.displayRouteSymbol},function(_webAtomsCoreDistCoreRoute){Route=_webAtomsCoreDistCoreRoute.default},function(_MobileAppGlobalCss){}],execute:function(){_export("Drawer",Drawer=class Drawer extends AtomControl{init(){}preCreate(){this.element.dataset.drawerPage="drawer-page";this.bindEvent(this.element,"click",(e=>{const target=e.target;if(e.defaultPrevented){return}if(/input/i.test(target.tagName)&&!/button|submit/i.test(target.type)){return}this.closeDrawer()}));this.runAfterInit((()=>this.app.runAsync((()=>{var _b;return(_b=this.init)===null||_b===void 0?void 0:_b.call(this)}))))}closeDrawer(){const ce=new CustomEvent("closeDrawer",{bubbles:true});this.element.dispatchEvent(ce)}});delete Drawer.prototype.init;historyBackCalled=false;_export("BasePage",BasePage=class BasePage extends AtomControl{constructor(){super(...arguments);this.keep=false;this.disableAutoFocus=false}get route(){return this.routeUrl}set route(url){var _b,_c;if(!url){return}if(((_b=history.state)===null||_b===void 0?void 0:_b.url)===url){return}url=Route.encodeUrl(url);if(this.routeUrl===url){return}this.routeUrl=url;(_c=this.routeDisposable)===null||_c===void 0?void 0:_c.dispose();let last=void 0;setTimeout((()=>last=url),100);const state={url};history.pushState(state,"",url);const eventRegistration=e=>{var _b;if(historyBackCalled){return}if(((_b=e.state)===null||_b===void 0?void 0:_b.url)===last){this.cancel()}};window.addEventListener("popstate",eventRegistration);const d={dispose(){var _b;window.removeEventListener("popstate",eventRegistration);if(((_b=history.state)===null||_b===void 0?void 0:_b.url)===state.url){historyBackCalled=true;history.back();setTimeout((()=>historyBackCalled=false),500)}}};this.routeDisposable=this.registerDisposable(d)}get hideToolbar(){var _b,_c;return((_c=(_b=this.element)===null||_b===void 0?void 0:_b.dataset)===null||_c===void 0?void 0:_c.hideToolbar)?true:false}set hideToolbar(v){this.element.dataset.hideToolbar=v?"true":"false"}requestCancel(){return __awaiter(this,void 0,void 0,(function*(){if(this.closeWarning){if(!(yield PopupService.confirm({message:this.closeWarning}))){return}}this.cancel()}))}onPropertyChanged(name){var _b;super.onPropertyChanged(name);switch(name){case"footerRenderer":this.recreate(name,"footer");break;case"iconRenderer":this.recreate(name,"icon");break;case"titleRenderer":this.recreate(name,"title");break;case"actionRenderer":this.recreate(name,"action");break;case"headerRenderer":this.recreate(name,"header");break;case"pullToRefreshRenderer":this.pullToRefreshElement=this.recreate(name,"pull-to-refresh");(_b=this.pullToRefreshElement)===null||_b===void 0?void 0:_b.remove();this.enablePullToRefreshEvents();break;case"actionBarRenderer":this.recreate(name,"action-bar");break}}init(){}rendererChanged(){for(const content of ChildEnumerator.where(this.element,(({dataset:{pageElement}})=>!pageElement||pageElement==="content"))){this.dispose(content);content.remove()}const r=this.renderer;if(!r){return}delete this.render;this.render(r)}recreate(renderer,name){var _b,_c,_d;const node=(_c=(_b=this[renderer])===null||_b===void 0?void 0:_b.call(this))!==null&&_c!==void 0?_c:undefined;for(const e of ChildEnumerator.enumerate(this.element)){if(e.dataset.pageElement===name){this.dispose(e);e.remove();break}}if(node){const na=(_d=node.attributes)!==null&&_d!==void 0?_d:node.attributes={};na["data-page-element"]=name;super.render(XNode.create("div",null,node));return this.element.querySelector(`[data-page-element="${name}"]`)}return null}preCreate(){this.element.dataset.basePage="base-page";this.iconClass="";this.viewModelTitle=null;const c=new CancelToken;this.cancelToken=c;this.registerDisposable({dispose(){c.cancel()}});this.runAfterInit((()=>{if(!this.element){return}const anyAutofocus=this.element.querySelector(`*[autofocus]`);if(!anyAutofocus){if(this.disableAutoFocus){return}const windowContent=this.element.querySelector(`[data-page-element="content"]`);if(windowContent){const firstInput=windowContent.querySelector("input,textarea");if(firstInput){firstInput.focus();return}}return}anyAutofocus.focus()}));setTimeout((p=>{p.dataset.pageState="ready"}),1,this.element);this.titleRenderer=()=>XNode.create("span",{"data-text-overflow":"ellipsis",class:"title-text",text:Bind.oneWay((()=>this.viewModelTitle||this.title))});this.iconRenderer=()=>XNode.create("i",{"data-icon-button":"icon-button",class:Bind.oneWay((()=>this.iconClass)),eventClick:e1=>this.dispatchIconClickEvent(e1)});this.actionBarRenderer=()=>XNode.create("div",null);this.runAfterInit((()=>{var _b,_c,_d,_e;(_c=(_b=this.pullToRefreshElement)===null||_b===void 0?void 0:_b.remove)===null||_c===void 0?void 0:_c.call(_b);this.initialized=true;this.enablePullToRefreshEvents();try{document.body.dispatchEvent(new CustomEvent("pageNavigated",{detail:{title:this.title,route:this.route||((_e=(_d=Object.getPrototypeOf(this))===null||_d===void 0?void 0:_d.constructor)===null||_e===void 0?void 0:_e.name)},bubbles:true,cancelable:true}))}catch(_f){}}))}render(node,e,creator){var _b,_c;if(e||((_b=node===null||node===void 0?void 0:node.attributes)===null||_b===void 0?void 0:_b["data-page-element"])){super.render(node,e,creator);return}this.render=super.render;const na=(_c=node.attributes)!==null&&_c!==void 0?_c:node.attributes={};let extracted={};if(!na["data-page-element"]){na["data-page-element"]="content";extracted=this.extractControlProperties(node)}super.render(XNode.create("div",Object.assign({viewModelTitle:Bind.oneWay((()=>this.viewModel.title))},extracted),node),e,creator);this.contentElement=this.element.querySelector("[data-page-element='content']");setTimeout((()=>{this.contentElement.scrollTop=0;this.contentElement.scrollLeft=0}),100)}enablePullToRefreshEvents(){var _b;const e=this.pullToRefreshElement;if(!e){(_b=this.pullToRefreshDisposable)===null||_b===void 0?void 0:_b.dispose();this.pullToRefreshDisposable=void 0;return e}if(this.pullToRefreshDisposable){return}let elementAdded=false;const touchStart=te=>{var _b;if(!this.pullToRefreshElement){(_b=this.pullToRefreshDisposable)===null||_b===void 0?void 0:_b.dispose();this.pullToRefreshDisposable=null;return}if(this.contentElement.scrollTop>0){return}const isMouseEvent=te.type==="mousedown";const moveEventName=isMouseEvent?"mousemove":"touchmove";const endEventName=isMouseEvent?"mouseup":"touchend";const startY=isMouseEvent?te.screenY:te.touches[0].screenY;this.pullToRefreshElement.dataset.mode="down";if(isMouseEvent){te.stopPropagation();te.preventDefault()}const d=new AtomDisposableList;d.add((()=>{this.contentElement.style.removeProperty("touch-action")}));d.add(this.bindEvent(this.contentElement,moveEventName,(me=>{const screenY=isMouseEvent?me.screenY:me.touches[0].screenY;const diffX=Math.min(75,screenY-startY);if(diffX>5){if(!elementAdded){this.contentElement.style.touchAction="none";elementAdded=true;this.element.appendChild(this.pullToRefreshElement)}}else{return}this.contentElement.style.transform=`translateY(${diffX}px)`;if(diffX>50){this.pullToRefreshElement.dataset.mode="up"}else{this.pullToRefreshElement.dataset.mode="down"}}),null,{passive:true}));d.add(this.bindEvent(this.contentElement,endEventName,(ue=>{ue.stopPropagation();if(isMouseEvent){ue.stopImmediatePropagation();ue.preventDefault()}d.dispose();const done=()=>{delete this.pullToRefreshElement.dataset.mode;this.contentElement.style.transform=``;this.pullToRefreshElement.style.transform="";this.pullToRefreshElement.remove();elementAdded=false};const diffX=ue.screenY-startY;if(diffX<=50){done();return}const ce=new CustomEvent("reloadPage",{detail:this,bubbles:true,cancelable:true});this.contentElement.dispatchEvent(ce);if(ce.defaultPrevented){done();return}this.pullToRefreshElement.dataset.mode="loading";const promise=ce.promise;if(!promise){done();return}promise.then(done,done)}),null,{passive:!isMouseEvent}))};const ed=new AtomDisposableList;ed.add(this.bindEvent(this.contentElement,"mousedown",touchStart));ed.add(this.bindEvent(this.contentElement,"touchstart",touchStart,null,{passive:true}));this.pullToRefreshDisposable=ed}dispatchIconClickEvent(e){const ce=new CustomEvent("iconClick",{bubbles:true});e.target.dispatchEvent(ce)}hide(){var _b;const{element}=this;if(!element){return}element.setAttribute("data-page-state","hidden");if(this.keep){setTimeout((()=>element.setAttribute("data-page-removed","true")),400);return}element._logicalParent=element.parentElement;this.scrollTop=(_b=this.contentElement)===null||_b===void 0?void 0:_b.scrollTop;setTimeout((()=>{element===null||element===void 0?void 0:element.remove()}),400)}show(){if(this.keep){this.element.removeAttribute("data-page-removed")}else{this.element._logicalParent.appendChild(this.element)}setTimeout((()=>{if(this.scrollTop){this.contentElement.scrollTop=this.scrollTop}this.element.setAttribute("data-page-state","ready")}),1)}});__decorate([BindableProperty,__metadata("design:type",String)],BasePage.prototype,"closeWarning",void 0);__decorate([BindableProperty,__metadata("design:type",String)],BasePage.prototype,"title",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"titleRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"iconRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"actionRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"footerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"actionBarRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"headerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],BasePage.prototype,"pullToRefreshRenderer",void 0);delete BasePage.prototype.init;_export("ContentPage",ContentPage=class ContentPage extends BasePage{});_export("TabbedPage",TabbedPage=class TabbedPage extends BasePage{});MobileApp=class MobileApp extends AtomControl{static pushPage(pageUri_1){return __awaiter(this,arguments,void 0,(function*(pageUri,parameters={},clearHistory=false){const mobileApp=this.current;const page=yield AtomLoader.loadClass(pageUri,parameters!==null&¶meters!==void 0?parameters:{},mobileApp.app);const result=yield mobileApp.loadPage(page,clearHistory);return result}))}popTo(w){this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){while(this.selectedPage!==w){this.selectedPage.cancel();yield sleep(500)}}))))}back(){return __awaiter(this,void 0,void 0,(function*(){if(this.pages.length===0){const drawer=this.drawer;if(drawer&&!this.hideDrawer){const drawerPage=new drawer(this.app);const modalClose=ce=>{var _b;let start=ce.target;const de=drawerPage.element;while(start){if(start===de){return}start=start.parentElement}ce.preventDefault();(_b=ce.stopImmediatePropagation)===null||_b===void 0?void 0:_b.call(ce);ce.target.dispatchEvent(new CustomEvent("closeDrawer",{bubbles:true}))};const dispatchCloseDrawer=de=>{if(de.defaultPrevented){return}const target=de.target;if(AncestorEnumerator.find(target,(x=>x===drawerPage.element))){return}de.target.dispatchEvent(new CustomEvent("closeDrawer",{bubbles:true}))};this.element.appendChild(drawerPage.element);setTimeout((()=>{this.element.dataset.drawer="visible";drawerPage.bindEvent(this.element,"click",dispatchCloseDrawer);drawerPage.bindEvent(document.body,"click",modalClose,null,true)}),10);this.hideDrawer=()=>{this.element.dataset.drawer="";setTimeout((()=>{const de=drawerPage.element;drawerPage.dispose();de.remove()}),400);this.hideDrawer=undefined};return false}return true}this.selectedPage.cancel("cancelled");return false}))}init(){return __awaiter(this,void 0,void 0,(function*(){}))}preCreate(){MobileApp.current=this;window.addEventListener("backButton",(ce=>{const{detail}=ce;ce.preventDefault();this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){if(yield this.back()){detail()}}))))}));this.drawer=null;this.element.dataset.pageApp="page-app";const container=this.container=document.createElement("div");container.dataset.container="true";this.element.appendChild(container);this.pages=[];this.selectedPage=null;this.bindEvent(this.element,"iconClick",(e=>this.back()));this.bindEvent(this.element,"closeDrawer",(e=>{var _b;(_b=this.hideDrawer)===null||_b===void 0?void 0:_b.call(this)}));const navigationService=this.app.resolve(NavigationService);navigationService.registerNavigationHook(((uri,{target,clearHistory})=>{if(/^(app|root)$/.test(target)){return this.loadPageForReturn(uri,clearHistory)}}));this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}loadPageForReturn(url,clearHistory){return __awaiter(this,void 0,void 0,(function*(){var _b;(_b=this.defaultPage)!==null&&_b!==void 0?_b:this.defaultPage=url;const page=yield AtomLoader.loadControl(url,this.app);if(url.query&&url.query.title){page.title||(page.title=url.query.title.toString())}const p=yield this.loadPage(page,clearHistory);try{return yield p}catch(ex){if((ex.message?ex.message:ex)==="cancelled"){console.warn(ex);return}throw ex}}))}loadPage(page,clearHistory){return __awaiter(this,void 0,void 0,(function*(){page.title||(page.title=StringHelper.fromPascalToTitleCase(Object.getPrototypeOf(page).constructor.name));const{parameters}=page;const route=parameters===null||parameters===void 0?void 0:parameters[displayRouteSymbol];if(route){page.route=route}const selectedPage=this.selectedPage;if(selectedPage){selectedPage.hide();this.pages.add(selectedPage)}const hasPages=!clearHistory&&this.pages.length;if(clearHistory){for(const iterator of this.pages){const e=iterator.element;iterator.dispose();e.remove()}this.pages.length=0;this.selectedPage=null}if(!hasPages){page.element.dataset.pageState="ready";page.iconClass="fas fa-bars"}else{page.iconClass="fas fa-arrow-left"}this.container.appendChild(page.element);this.selectedPage=page;const vm=page.viewModel;const element=page.element;return new Promise(((resolve,reject)=>{const closeFactory=(callback,result)=>r=>{if(clearHistory){this.app.runAsync((()=>this.loadPageForReturn(this.defaultPage,true)));return}element.removeAttribute("data-page-state");const last=this.pages.pop();last.show();setTimeout((()=>{page.dispose();element.remove();callback(r!==null&&r!==void 0?r:result);this.selectedPage=last}),300)};const cancel=closeFactory(reject,"cancelled");const close=closeFactory(resolve);if(vm){vm.cancel=cancel;vm.close=close}page.cancel=cancel;page.close=close}))}))}};MobileApp.drawer=XNode.prepare("drawer",true,true);_export("default",MobileApp);_export("isMobileView",isMobileView=/Android|iPhone/i.test(navigator.userAgent)||window.visualViewport.width<500||window.forceMobileLayout);isPopupPage=Symbol("isPopupPage");PopupWindowEx=class PopupWindowEx extends PopupWindow{};_a=isPopupPage;PopupWindowEx[_a]=true;root=isMobileView?ContentPage:PopupWindowEx;_export("PopupWindowPage",PopupWindowPage=class PopupWindowPage extends root{});PageNavigator.pushPageForResult=(page,parameters,clearHistory)=>{var _b,_c;if(!isMobileView&&page[isPopupPage]){const popupPage=page;const options=Object.assign(Object.assign({},(_b=popupPage.dialogOptions)!==null&&_b!==void 0?_b:{}),{parameters:{parameters}});(_c=options.modal)!==null&&_c!==void 0?_c:options.modal=true;if(options.modal){return page.showModal(options)}return page.showWindow(options)}return MobileApp.pushPage(page,parameters,clearHistory)}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/http/JsonError");System.register([],(function(_export,_context){"use strict";var JsonError;_export("default",void 0);return{setters:[],execute:function(){_export("default",JsonError=class JsonError extends Error{constructor(message,json){super(message);this.json=json}get errors(){var _a;return(_a=this.json.paramErrors)!==null&&_a!==void 0?_a:[]}get details(){var _a;const{errors}=this;if(errors.length){return errors.map((x=>`${x.name}: ${x.reason}`)).join("\n")}return(_a=this.json)===null||_a===void 0?void 0:_a.details}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/Action");System.register(["tslib","../App","../core/Command","../core/EventScope","../core/StringHelper","../core/types","../services/http/JsonError","../services/NavigationService","../web/services/PopupService"],(function(_export,_context){"use strict";var __awaiter,App,Command,EventScope,StringHelper,CancelToken,errorHandled,JsonError,NavigationService,NotifyType,PopupService,MarkBusySet,onEventHandler;function Action({onEvent=void 0,onEventTarget=void 0,onEventSetBusy,blockMultipleExecution=true,dispatchEvent,authorize=void 0,defer=void 0,success=null,successTitle="Done",successMode="notify",confirm=null,confirmTitle=null,validate=false,validateTitle=null,close=false,notifyDelay=2e3}={}){return(target,key,descriptor)=>{const getEventNames=names=>{if(names===null||names===void 0){return}if(Array.isArray(names)){return names.map(getEventNames)}if(names instanceof Command){onEventTarget!==null&&onEventTarget!==void 0?onEventTarget:onEventTarget=window;return names.eventScope.eventType}if(names instanceof EventScope){onEventTarget!==null&&onEventTarget!==void 0?onEventTarget:onEventTarget=window;return names.eventType}return names};onEvent=getEventNames(onEvent);if((onEvent===null||onEvent===void 0?void 0:onEvent.length)>0){const oldCreate=target.beginEdit;if(oldCreate){const onEventName=Array.isArray(onEvent)?onEvent.map(StringHelper.fromHyphenToCamel):StringHelper.fromHyphenToCamel(onEvent);const busyKey=Symbol.for("isBusy"+key.toString());target.beginEdit=function(){const result=oldCreate.apply(this,arguments);const c=this;let element=this.element;if(element){if(onEventTarget){element=onEventTarget}const handler=onEventHandler(c,blockMultipleExecution,key,busyKey,onEventSetBusy);if(typeof onEventName==="string"){c.bindEvent(element,onEventName,handler)}else{for(const eventName of onEventName){c.bindEvent(element,eventName,handler)}}}return result}}}const{value}=descriptor;const deferSymbol=defer?Symbol.for(`${key.toString()}Defer`):void 0;return{get:function(){const vm=this;const oldMethod=value;const fx=function(...a){return __awaiter(this,void 0,void 0,(function*(){var _a,_b;const vm=this;if(defer){const previous=vm[deferSymbol];if(previous!==0){if(previous>0){clearTimeout(previous)}vm[deferSymbol]=setTimeout((()=>{vm[deferSymbol]=0;const r=vm[key](...a);delete vm[deferSymbol];return r}),defer);return}}const app=vm.app;const ns=app.resolve(NavigationService);try{if(authorize&&!App.authorize()){return}if(validate){if(!vm.isValid){const vMsg=typeof validate==="boolean"?"Please enter correct information":validate;yield ns.alert(vMsg,validateTitle||"Error");return}}if(confirm){if(!(yield ns.confirm(confirm,confirmTitle||"Confirm"))){return}}let result=oldMethod.apply(vm,a);if(result===null||result===void 0?void 0:result.then){result=yield result}if(success){if(successMode==="notify"){yield ns.notify(success,successTitle,NotifyType.Information,notifyDelay)}else{yield ns.alert(success,successTitle)}}if(close){(_a=vm.close)===null||_a===void 0?void 0:_a.call(vm,result)}if(dispatchEvent){const element=(_b=vm.element)!==null&&_b!==void 0?_b:document.body;if(typeof dispatchEvent!=="string"){dispatchEvent=dispatchEvent.eventType}element.dispatchEvent(new CustomEvent(dispatchEvent,{detail:result,bubbles:true}))}return result}catch(e){if(CancelToken.isCancelled(e)){throw e}e[errorHandled]=true;if(/^timeout$/i.test(e.toString().trim())){console.warn(e);throw e}if(e instanceof JsonError){if(e.details){yield PopupService.alert({message:e.message,title:"Error",detail:e.details});throw e}}yield ns.alert(e,"Error");throw e}}))};Object.defineProperty(vm,key,{value:fx,writable:true,enumerable:false});return fx},configurable:true}}}_export({MarkBusySet:void 0,default:Action});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_App){App=_App.App},function(_coreCommand){Command=_coreCommand.default},function(_coreEventScope){EventScope=_coreEventScope.default},function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper},function(_coreTypes){CancelToken=_coreTypes.CancelToken;errorHandled=_coreTypes.errorHandled},function(_servicesHttpJsonError){JsonError=_servicesHttpJsonError.default},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService;NotifyType=_servicesNavigationService.NotifyType},function(_webServicesPopupService){PopupService=_webServicesPopupService.default}],execute:function(){_export("MarkBusySet",MarkBusySet=class MarkBusySet{static selector(selector){return new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.matches(selector)){yield start;break}start=start.parentElement}}))}constructor(set){this.set=set}*find(event){yield*this.set(event.target,event.currentTarget)}});MarkBusySet.none=new MarkBusySet((function*(){}));MarkBusySet.target=new MarkBusySet((function*(t,ct){yield t}));MarkBusySet.currentTarget=new MarkBusySet((function*(t,ct){yield ct}));MarkBusySet.tillCurrentTarget=new MarkBusySet((function*(target,currentTarget){let start=target;do{yield start;start=start.parentElement}while(start!==currentTarget);yield currentTarget}));MarkBusySet.button=new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.tagName==="BUTTON"){yield start;break}start=start.parentElement}}));MarkBusySet.buttonOrAnchor=new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.tagName==="BUTTON"||start.tagName==="A"){yield start;break}start=start.parentElement}}));MarkBusySet.allAncestors=new MarkBusySet((function*(target,currentTarget){do{yield target;target=target.parentElement}while(target)}));onEventHandler=(owner,blockMultipleExecution,key,busyKey,onEventSetBusy)=>ce=>__awaiter(void 0,void 0,void 0,(function*(){const element=ce.currentTarget;if(owner[busyKey]){if(blockMultipleExecution){return}}owner[busyKey]=true;try{if(onEventSetBusy){for(const iterator of onEventSetBusy.find(ce)){iterator.setAttribute("data-busy","true")}}const detail=ce.detail;return yield owner[key](detail,ce)}finally{delete owner[busyKey];if(onEventSetBusy){for(const iterator of onEventSetBusy.find(ce)){iterator.removeAttribute("data-busy")}}}}))}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/desktop-app/DesktopApp");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","../mobile-app/MobileApp","../styles/desktop-app.global.css","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __decorate,__metadata,BindableProperty,XNode,AtomControl,ChildEnumerator,MobileApp,Action,DesktopApp;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator},function(_mobileAppMobileApp){MobileApp=_mobileAppMobileApp.default},function(_stylesDesktopAppGlobalCss){},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",DesktopApp=class DesktopApp extends AtomControl{onPropertyChanged(name){super.onPropertyChanged(name);if(!this.initialized){return}switch(name){case"statusBarRenderer":this.recreate(name,"status-bar");break;case"menuRenderer":this.recreate(name,"menu-renderer");break;case"sideBarRenderer":this.recreate(name,"side-bar");break}}init(){}recreate(renderer,name,remove=true){var _a,_b,_c;const node=(_b=(_a=this[renderer])===null||_a===void 0?void 0:_a.call(this))!==null&&_b!==void 0?_b:undefined;if(remove){for(const e of ChildEnumerator.enumerate(this.element)){if(e.dataset.pageElement===name){this.dispose(e);e.remove();break}}}if(node){const na=(_c=node.attributes)!==null&&_c!==void 0?_c:node.attributes={};na["data-page-element"]=name;this.render(XNode.create("div",null,node));return this.element.querySelector(`[data-page-element="${name}"]`)}return null}create(){this.render(XNode.create("div",{"data-desktop-app":"desktop-app"},XNode.create(MobileApp,{"data-page-element":"app"})));this.recreate("menuRenderer","menu-renderer",false);this.recreate("sideBarRenderer","side-bar",false);this.recreate("statusBarRenderer","status-bar",false);this.initialized=true;this.runAfterInit((()=>{this.app.runAsync((()=>this.init()))}))}onIconClick(){if(this.element.hasAttribute("drawer-hidden")){this.element.removeAttribute("drawer-hidden")}else{this.element.setAttribute("drawer-hidden","1")}}});__decorate([BindableProperty,__metadata("design:type",Function)],DesktopApp.prototype,"menuRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DesktopApp.prototype,"sideBarRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DesktopApp.prototype,"statusBarRenderer",void 0);__decorate([Action({onEvent:"iconClick"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],DesktopApp.prototype,"onIconClick",null)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp");System.register(["../mobile-app/MobileApp","./DesktopApp","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/services/PopupService"],(function(_export,_context){"use strict";var MobileApp,isMobileView,DesktopApp,XNode,PopupService,MobileDesktopApp,T;_export("default",void 0);return{setters:[function(_mobileAppMobileApp){MobileApp=_mobileAppMobileApp.default;isMobileView=_mobileAppMobileApp.isMobileView},function(_DesktopApp){DesktopApp=_DesktopApp.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default}],execute:function(){T=isMobileView?MobileApp:DesktopApp;_export("default",MobileDesktopApp=class MobileDesktopApp extends T{get drawerMenu(){return this.menu}set drawerMenu(v){this.menu=v;if(this.mobileApp){this.mobileApp.drawer=v}else{this.desktopApp.menuRenderer=()=>XNode.create(v,{})}}preCreate(){MobileDesktopApp.current=this;super.preCreate();if(isMobileView){this.mobileApp=this}else{this.desktopApp=this}this.runAfterInit((()=>PopupService.lastTarget=this.element))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/style/OverrideAppStyle");System.register(["./override-app-style.local.css"],(function(_export,_context){"use strict";return{setters:[function(_overrideAppStyleLocalCss){}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/data-styles/data-styles");System.register([],(function(_export,_context){return{setters:[],execute:function(){setTimeout((()=>{const cssModule=_context.meta.resolve("./data-styles.css");const cssURL=System.resolve(cssModule);const link=document.createElement("link");link.id="data-styles";link.setAttribute("href",cssURL);link.setAttribute("rel","stylesheet");link.setAttribute("as","style");link.setAttribute("crossorigin","anonymous");const head=document.head;const firstElementChild=head.firstElementChild;if(firstElementChild){head.insertBefore(link,firstElementChild)}else{head.appendChild(link)}}),1)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/style/GlobalStyle");System.register(["@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/AtomList","./OverrideAppStyle","@web-atoms/data-styles/data-styles","./global-style.local.css"],(function(_export,_context){"use strict";var UMD,___UMD;function addLinkTag(href,integrity,rel="stylesheet"){if(!document.head.querySelector(`[href="${href}"]`)){const fa=document.createElement("link");fa.href=href;fa.crossOrigin="anonymous";fa.as="style";fa.rel="preload";if(integrity){fa.integrity=integrity}fa.onload=()=>{fa.onload=null;fa.rel=rel};document.head.insertBefore(fa,document.head.firstElementChild)}}return{setters:[function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_webAtomsCoreDistCoreAtomList){},function(_OverrideAppStyle){},function(_webAtomsDataStylesDataStyles){},function(_globalStyleLocalCss){}],execute:function(){_export("___UMD",___UMD=UMD);addLinkTag("https://dtzkc6yot8xw8.cloudfront.net/npm/package/@c8private/fa-icons@7.0.1/css/all.min.css");addLinkTag("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0");addLinkTag("https://cdn.jsdelivr.net/npm/file-icon-vectors@1.0.0/dist/file-icon-vivid.min.css");addLinkTag("https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap")}}}));AmdLoader.instance.setup("@web-atoms/core/dist/Pack");System.register([],(function(_export,_context){"use strict";function Pack(...a){}_export("default",Pack);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/cloneSource");System.register([],(function(_export,_context){"use strict";var cloneSource;return{setters:[],execute:function(){cloneSource=Symbol("cloneSource");_export("default",cloneSource)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/Cloner");System.register(["./cloneSource"],(function(_export,_context){"use strict";var cloneSource,Cloner,PropertyCloner,getKey;_export({Cloner:void 0,PropertyCloner:void 0});return{setters:[function(_cloneSource){cloneSource=_cloneSource.default}],execute:function(){getKey=(target,value)=>{for(const key in target){if(Object.prototype.hasOwnProperty.call(target,key)){const element=target[key];if(element===value){return key}}}};_export("Cloner",Cloner=class Cloner{static copyProperties(src,dest={}){dest[cloneSource]=src;for(const key in src){if(Object.prototype.hasOwnProperty.call(src,key)){const element=src[key];switch(typeof element){case"bigint":case"boolean":case"number":case"string":dest[key]=element;break;case"object":if(element===null){dest[key]=null}if(element instanceof Date){dest[key]=element}break}}}return dest}get copy(){const copy=Cloner.copyProperties(this.item);if(this.path){for(const iterator of this.path){this.clone(this.item,copy,iterator)}}return copy}constructor(item,path){this.item=item;this.path=path;this.$type=item.$type}include(property){const last=[property];return new PropertyCloner(this.item,this.path?[...this.path,last]:[last],last)}clone(src,dest,paths){var _a,_b,_c;if(!paths.length){return dest}const[first,...others]=paths;let p=first(src);if(!p){return dest}const original=p;const name=getKey(src,p);if(Array.isArray(p)){const existing=(_a=dest[name])!==null&&_a!==void 0?_a:dest[name]=[];for(let index=0;index<p.length;index++){const element=p[index];const existingItem=(_b=existing[index])!==null&&_b!==void 0?_b:existing[index]={};Cloner.copyProperties(element,existingItem);this.clone(element,existingItem,others)}return existing}p=Cloner.copyProperties(p,(_c=dest[name])!==null&&_c!==void 0?_c:undefined);dest[name]=p;this.clone(original,p,others);return dest}});_export("PropertyCloner",PropertyCloner=class PropertyCloner extends Cloner{constructor(item,path,propertyPath){super(item,path);this.propertyPath=propertyPath}thenInclude(property){this.propertyPath.push(property);return new PropertyCloner(this.item,this.path,this.propertyPath)}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/IEntityModel");System.register([],(function(_export,_context){"use strict";var EntityContext;_export("EntityContext",void 0);return{setters:[],execute:function(){_export("EntityContext",EntityContext=class EntityContext{constructor(models){this.models=models;this.cache=[];for(const iterator of models){this.cache[iterator.name]=iterator}}for(name){return this.cache[name]}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/mergeProperties");System.register(["../models/cloneSource"],(function(_export,_context){"use strict";var cloneSource,isObject;function mergeProperties(src,target,path="0",visited=new Map,merged=new Map){if(visited.has(path)){return}if(merged.has(target)){return}merged.set(target,true);visited.set(path,true);if(Array.isArray(src)){for(let index=0;index<src.length;index++){const srcElement=src[index];const targetElement=target[index];if(isObject(targetElement)){mergeProperties(srcElement,targetElement,`${path}.${index}`,visited,merged);continue}target[index]=targetElement}return}const cloneTarget=target[cloneSource];for(const key in src){if(Object.prototype.hasOwnProperty.call(src,key)){const srcElement=src[key];if(typeof srcElement!=="object"){if(srcElement!==void 0){target[key]=srcElement;if(cloneTarget){cloneTarget[key]=srcElement}}continue}if(srcElement instanceof Date){target[key]=srcElement;if(cloneTarget){cloneTarget[key]=srcElement}continue}const targetElement=target[key];if(isObject(targetElement)){if(cloneTarget){const cloneTargetElement=cloneTarget[key];if(cloneTargetElement){mergeProperties(srcElement,cloneTargetElement,path+".$"+key,visited,merged)}}mergeProperties(srcElement,targetElement,path+"."+key,visited,merged);continue}if(targetElement===void 0&&srcElement){target[key]=srcElement;continue}target[key]=targetElement;if(cloneTarget&&targetElement!==void 0){cloneTarget[key]=targetElement}}}}_export("default",mergeProperties);return{setters:[function(_modelsCloneSource){cloneSource=_modelsCloneSource.default}],execute:function(){isObject=o=>typeof o==="object"&&o!==null&&!(o instanceof Date)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/StringHelper");System.register([],(function(_export,_context){"use strict";var StringHelper;_export("default",void 0);return{setters:[],execute:function(){_export("default",StringHelper=class StringHelper{static findParameter(f){let text=f.toString();let i=text.indexOf("=>");if(i!==-1){text=text.substring(0,i)}i=text.indexOf("(");if(i===-1){return text}text=text.substring(i+1);i=text.indexOf(")");return text.substring(0,i)}static contains(left,right){if(!left){return!right}return left.toLowerCase().includes(right.toLowerCase())}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/FetchBuilder");System.register(["tslib","../App"],(function(_export,_context){"use strict";var __addDisposableResource,__awaiter,__disposeResources,App,FetchBuilder,JsonError;_export("default",void 0);return{setters:[function(_tslib){__addDisposableResource=_tslib.__addDisposableResource;__awaiter=_tslib.__awaiter;__disposeResources=_tslib.__disposeResources},function(_App){App=_App.App}],execute:function(){_export("default",FetchBuilder=class FetchBuilder{static buildUrl(strings,...p){let r="";for(let index=0;index<strings.length;index++){const element=strings[index];r+=element;if(index<p.length){r+=encodeURIComponent(p[index])}}return r}static get(url){return this.method(url,"GET")}static put(url){return this.method(url,"PUT")}static post(url){return this.method(url,"POST")}static delete(url){return this.method(url,"DELETE")}static url(url){return this.method(url,"GET")}static header(name,value){return new FetchBuilder({headers:{url:"",method:"POST",[name]:value}})}static method(url,method){return new FetchBuilder({url,method})}constructor(request){this.request=request}log(logger){return this.append({log:logger})}logWhenFailed(logger){return this.append({logError:logger})}get(url){return this.method(url,"GET")}put(url){return this.method(url,"PUT")}post(url){return this.method(url,"POST")}delete(url){return this.method(url,"DELETE")}method(url,method){return this.append({url,method})}signal(signal){if(!signal){return this}return this.append({signal})}cancelToken(ct){if(!ct){return this}const ac=new AbortController;const signal=ac.signal;ct.registerForCancel((()=>ac.abort()));return this.signal(signal)}form(name,value,fileName){var _a;if(value===void 0){return this}const body=(_a=this.request.body)!==null&&_a!==void 0?_a:new FormData;if(fileName){if(typeof value==="string"){throw new Error("value must be a blob with content type set correctly.")}body.append(name,value,fileName)}else{body.append(name,value)}return this.append({body})}jsonBody(body,encode=true){var _a;if(encode){body=JSON.stringify(body)}const headers=(_a=this.request.headers)!==null&&_a!==void 0?_a:{};headers["content-type"]="application/json";return this.append({body,headers})}header(name,value){var _a;const headers=(_a=this.request.headers)!==null&&_a!==void 0?_a:{};headers[name]=value;return this.append({headers})}path(name,value,encode=true){let url=this.request.url;if(encode){value=encodeURIComponent(value)}url=url.replace(name,value);return this.append({url})}query(name,value,encode=true){if(value===void 0){return this}let url=this.request.url;if(encode){value=encodeURIComponent(value)}name=encodeURIComponent(name);if(url.indexOf("?")===-1){url+=`?${name}=${value}`}else{url+=`&${name}=${value}`}return this.append({url})}queries(obj,encode=true,encodeObjectAsJson=true){let url=this.request.url;let prefix=url.indexOf("?")===-1?"?":"&";for(const key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){let value=obj[key];if(value===void 0){continue}if(encodeObjectAsJson){if(typeof value==="object"&&value!==null){value=JSON.stringify(value)}encode=true}if(encode){value=encodeURIComponent(value)}const name=encodeURIComponent(key);url+=`${prefix}${name}=${value}`;prefix="&"}}return this.append({url})}asText(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){const{result}=yield this.asTextResponse(ensureSuccess);return result}))}asBlob(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){const{result}=yield this.asBlobResponse(ensureSuccess);return result}))}asJson(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){const{result}=yield this.asJsonResponse(ensureSuccess);return result}))}jsonPostProcessor(jsonPostProcessor){return this.append({jsonPostProcessor})}asJsonResponse(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){return this.execute(ensureSuccess,((x,jsonPostProcessor)=>__awaiter(this,void 0,void 0,(function*(){if(!/json/i.test(x.headers.get("content-type"))){throw new Error(`Failed to parse json from ${this.request.url}\n${yield x.text()}`)}if(jsonPostProcessor){return x.json().then(jsonPostProcessor)}return x.json()}))))}))}asTextResponse(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){return this.execute(ensureSuccess,(x=>x.text()))}))}asBlobResponse(ensureSuccess=true){return this.execute(ensureSuccess,(x=>x.blob()))}dispatcher(dispatcher){return this.append({dispatcher})}withFetchProxy(fetchProxy){return this.append({fetchProxy})}execute(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true,postProcessor){var _a,_b,_c,_e,_f,_g;const env_1={stack:[],error:void 0,hasError:false};try{let{log,logError,hideBusyIndicator}=this.request;const _d=__addDisposableResource(env_1,!hideBusyIndicator?App.current.createBusyIndicator():null,false);try{const{headers,fetchProxy,jsonPostProcessor}=this.request;const r=yield(fetchProxy!==null&&fetchProxy!==void 0?fetchProxy:fetch)(this.request.url,this.request);if(ensureSuccess){if(r.status>300){log=logError;log===null||log===void 0?void 0:log(`fetch: ${(_a=this.request.method)!==null&&_a!==void 0?_a:"GET"} ${this.request.url}`);if(log&&headers){for(const key in headers){if(headers.hasOwnProperty(key)){log===null||log===void 0?void 0:log(`${key}: ${headers[key]}`)}}}log===null||log===void 0?void 0:log(`${r.status} ${r.statusText||"Http Error"}`);const type=r.headers.get("content-type");if(/\/json/i.test(type)){const json=yield r.json();log===null||log===void 0?void 0:log(json);const message=(_f=(_e=(_c=(_b=json.title)!==null&&_b!==void 0?_b:json.detail)!==null&&_c!==void 0?_c:json.message)!==null&&_e!==void 0?_e:json.exceptionMessage)!==null&&_f!==void 0?_f:"Json Server Error";log=null;logError=null;throw new JsonError(message,json)}const text=yield r.text();log===null||log===void 0?void 0:log(text);log=null;logError=null;throw new Error(`Fetch failed with error ${r.status} for ${this.request.url}\n${text}`)}}log===null||log===void 0?void 0:log(`${(_g=this.request.method)!==null&&_g!==void 0?_g:"GET"} ${this.request.url}`);if(log&&headers){for(const key in headers){if(headers.hasOwnProperty(key)){log===null||log===void 0?void 0:log(`${key}: ${headers[key]}`)}}}const result=yield postProcessor(r,jsonPostProcessor);if(log){log(`${r.status} ${r.statusText||"OK"}`);log(result)}return{result,headers:r.headers,status:r.status}}catch(error){log===null||log===void 0?void 0:log(error);throw error}}catch(e_1){env_1.error=e_1;env_1.hasError=true}finally{__disposeResources(env_1)}}))}append(r){let{url}=this.request;const{url:newUrl}=r;if(newUrl){if(!url){url=newUrl}else{if(/^https?\:\/\//i.test(newUrl)){url=newUrl}else{let fullUrl=url;if(!/^https?\:\/\//i.test(url)){fullUrl=new URL(url,location.href).toString()}url=new URL(newUrl,fullUrl).toString()}}}return new FetchBuilder(Object.assign(Object.assign(Object.assign({},this.request),r),{url}))}});JsonError=class JsonError extends Error{constructor(message,json){super(message);this.json=json}};FetchBuilder.JsonError=JsonError}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/Query");System.register(["tslib","./StringHelper","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __addDisposableResource,__awaiter,__disposeResources,StringHelper,FetchBuilder,QueryComposer,Query,replacer,convertToLinq;function append(original,...item){if(original){return[...original,...item]}return[...item]}_export({append,QueryComposer:void 0,default:void 0});return{setters:[function(_tslib){__addDisposableResource=_tslib.__addDisposableResource;__awaiter=_tslib.__awaiter;__disposeResources=_tslib.__disposeResources},function(_StringHelper){StringHelper=_StringHelper.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){replacer=/(===)|(!==)|(\(\s*\{)|(\.[a-zA-Z0-9]+)|([a-zA-Z0-9]+\s*\:\s*\{?)/g;_export("convertToLinq",convertToLinq=x=>{x=x.replace("\n"," ");x=x.replace(/(\s+)|((CastAs|EF)\_[0-9]\.default\.)/g,((s,first,second)=>{if(s===first){return" "}if(s.startsWith("EF")){return"EF."}if(s.startsWith("CastAs")){return"CastAs."}return s}));replacer.lastIndex=0;x=x.replace(replacer,(s=>{switch(s){case"===":return"==";case"!==":return"!=";case"({":return"( new {";case".some":return".Any";case".map":return".Select";case".filter":return".Where";case".find":return".FirstOrDefault";case".includes":return".Contains";case".count":return".Count"}if(s.endsWith("{")){const index=s.indexOf(":");const v=s.substring(0,index)+" = new {";return v}const trimmed=s.trim();if(trimmed.endsWith(":")){return trimmed.substring(0,trimmed.length-1)+" = "}if(s.startsWith(".")&&s.length>2){return s[0]+s[1].toUpperCase()+s.substring(2)}return s}));return x});_export("QueryComposer",QueryComposer=class QueryComposer{constructor(separator=" || "){this.separator=separator;this.query="p => x => ";this.parameters={};this.index=0}add(p,q){if(this.index){this.query+=this.separator}const suffix=`_${this.index++}`;let text=q.toString();const pfn=StringHelper.findParameter(text).trim();text=text.substring(text.indexOf("=>")+2);const xfn=StringHelper.findParameter(text).trim();const target=this.parameters;for(const key in p){if(Object.prototype.hasOwnProperty.call(p,key)){const element=p[key];const name=`${key}${suffix}`;target[name]=element;text=text.split(`${pfn}.${key}`).join(`p.${name}`);text=text.split(`${xfn}.`).join(`x.`)}}text=text.substring(text.indexOf("=>")+2);this.query+=text}asQuery(){return[this.parameters,this.query]}});_export("default",Query=class Query{constructor(context,methods=[]){this.context=context;this.methods=methods;if(!methods){throw new Error("Methods cannot be empty")}}where(tOrP,q){return this.process("where",tOrP,q)}union(tOrP,q){return this.process("union",tOrP,q)}joinDateRange(start,end,step){return this.append(["joinDateRange","@0,@1,@2",start,end,step])}selectWith(model,tOrP,q){const nq=this.append(["selectWith",model.name]);return nq.process("select",tOrP,q)}select(tOrP,q){return this.process("select",tOrP,q)}whereLinq(query,...args){let filters="";const params=[];for(let index=0;index<args.length;index++){const element=args[index];const raw=query.raw[index];if(raw){filters+=raw}const pi=`@${index}`;filters+=pi;params.push(element)}const last=query.raw[args.length];if(last){filters+=last}return this.append(["where",filters,...params])}selectLinq(query,...args){let filters="";const params=[];for(let index=0;index<args.length;index++){const element=args[index];const raw=query.raw[index];if(raw){filters+=raw}const pi=`@${index}`;filters+=pi;params.push(element)}const last=query.raw[args.length];if(last){filters+=last}return this.append(["select",filters,...params])}join(model,left,right){return this.append(["join",model.name,this.convertToLinq(left.toString()),this.convertToLinq(right.toString())])}leftJoin(model,left,right){return this.append(["leftJoin",model.name,this.convertToLinq(left.toString()),this.convertToLinq(right.toString())])}include(tOrP,...q){if(typeof tOrP==="string"){return this.append(["include",tOrP],...q.map((s=>["include",s])))}const select=this.convertToLinq(tOrP.toString());return this.append(["include",select])}firstOrDefault(){return __awaiter(this,arguments,void 0,(function*(p={}){const lp=p;lp.size=1;lp.start=0;lp.count=false;const list=yield this.toPagedList(lp);return list.items[0]}))}orderBy(tOrP,q){return this.process("orderBy",tOrP,q)}orderByDescending(tOrP,q){return this.process("orderByDescending",tOrP,q)}thenBy(tOrP,q){return this.process("thenBy",tOrP,q)}thenByDescending(tOrP,q){return this.process("thenByDescending",tOrP,q)}trace(){this.context.traceQuery=true;return this}toArray(){return __awaiter(this,arguments,void 0,(function*({cancelToken,doNotResolve,hideActivityIndicator,cacheSeconds,cacheVersion}={}){const r=yield this.toPagedList({size:-1,count:false,cacheSeconds,cancelToken,doNotResolve,hideActivityIndicator,cacheVersion});return r.items}))}toPagedList(){return __awaiter(this,arguments,void 0,(function*({start=0,size=100,cancelToken,cacheVersion="1",hideActivityIndicator,splitInclude=false,cacheSeconds=0,cacheImmutable=cacheSeconds>0,count=true}={}){const env_1={stack:[],error:void 0,hasError:false};try{let url;const{traceQuery,name,service,queryFunction,entityKey,navigation,args}=this.context;const busy=__addDisposableResource(env_1,service.createBusyIndicator(hideActivityIndicator),false);const trace=traceQuery;const methods=JSON.stringify(this.methods);const fm=new URLSearchParams;fm.append("methods",methods);if(start){fm.append("start",start.toString())}if(size){fm.append("size",size.toString())}fm.append("count",count.toString());if(trace){fm.append("trace",trace?"true":"false")}if(queryFunction){fm.append("function",queryFunction);fm.append("args",JSON.stringify(args!==null&&args!==void 0?args:"[]"))}if(entityKey){fm.append("entityKey",entityKey)}if(navigation){fm.append("navigation",navigation)}const encodedMethods=fm.toString();let result;if(encodedMethods.length>1824){if(cacheSeconds>0){throw new Error("Generated query too big for caching")}url=`${service.url}methods/${name}`;result=yield FetchBuilder.post(url).cancelToken(cancelToken).jsonBody({methods:this.methods,start,size,split:splitInclude,count,navigation,trace,function:queryFunction||void 0,args:queryFunction?args:void 0,entityKey:entityKey!==null&&entityKey!==void 0?entityKey:void 0}).asJson();result=service.resultConverter(result);return result}if(cacheSeconds>0){fm.append("cache",cacheSeconds.toString());fm.append("cv",cacheVersion);if(!cacheImmutable){fm.append("cacheImmutable","false")}}else{}url=`${service.url}query/${name}?${fm.toString()}`;result=yield FetchBuilder.get(url).cancelToken(cancelToken).asJson();return service.resultConverter(result)}catch(e_1){env_1.error=e_1;env_1.hasError=true}finally{__disposeResources(env_1)}}))}thenInclude(a){const select=this.convertToLinq(a.toString());return this.append(["thenInclude",select])}append(...methods){return new Query(this.context,[...this.methods,...methods])}process(name,tOrP,q){if(!q){const select=this.convertToLinq(tOrP.toString());return this.append([name,select])}const pl=[];let i=0;const p=tOrP;let text=q(p).toString();const pfn=StringHelper.findParameter(q.toString()).trim();for(const key in p){if(Object.prototype.hasOwnProperty.call(p,key)){const element=p[key];const pn=`@${i++}`;text=text.split(`${pfn}.${key}`).join(pn);pl.push(element)}}text=this.convertToLinq(text);return this.append([name,text,...pl])}convertToLinq(text){if(this.context.service.queryProcessor==="DotNet"||this.context.queryProcessor==="DotNet"){return convertToLinq(text)}return text.replace(/\s+/g," ")}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/resolve");System.register(["@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var DateTime,dateFormatISORegEx;function resolve(target){const cache=[];function map(t){if(typeof t!=="object"){return t}if(Array.isArray(t)){return t.map(map)}const{$id,$ref}=t;if($ref){t=cache[$ref];return t}if($id){t.$deleted=false;cache[$id]=t}for(const key in t){if(Object.prototype.hasOwnProperty.call(t,key)){let element=t[key];switch(typeof element){case"object":if(!element){continue}element=map(element);t[key]=element;continue;case"string":if(dateFormatISORegEx.test(element)){t[key]=new DateTime(element)}}}}return t}target=map(target);return target}_export("default",resolve);return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("dateFormatISORegEx",dateFormatISORegEx=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/Queue");System.register([],(function(_export,_context){"use strict";var Queue;_export("default",void 0);return{setters:[],execute:function(){_export("default",Queue=class Queue{constructor(){this.head=0;this.tail=0;this.store=new Map}peek(){return this.store.get(this.head)}enqueue(item){this.store.set(this.tail,item);this.tail++}dequeue(){const{head,tail}=this;const size=tail-head;if(size<=0){return void 0}const item=this.store.get(head);this.store.delete(head);this.head++;if(this.head===this.tail){this.head=0;this.tail=0}return item}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/TaskManager");System.register(["tslib","./Queue"],(function(_export,_context){"use strict";var __awaiter,Queue,TaskManager,sleep;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_Queue){Queue=_Queue.default}],execute:function(){sleep=n=>new Promise((r=>setTimeout(r,n)));_export("default",TaskManager=class TaskManager{constructor(){this.rateLimit=10;this.running=new Set;this.waiting=new Queue}queueRun(fx){const pr=new Promise(((resolve,reject)=>{this.waiting.enqueue({resolve,reject,fx})}));pr.catch((error=>console.error(error)));this.processQueue();return pr}processQueue(){for(;;){if(this.running.size>=this.rateLimit){return}const t=this.waiting.dequeue();if(!t){return}const{fx,resolve,reject}=t;this.running.add(fx);fx().then((r=>{this.running.delete(fx);setTimeout((()=>this.processQueue()),1);resolve(r)}),(e=>{this.running.delete(fx);setTimeout((()=>this.processQueue()),1);reject(e)}))}}runAfterEnd(fx){(()=>__awaiter(this,void 0,void 0,(function*(){for(;;){yield sleep(100);if(this.running.size>0){continue}yield sleep(10);if(this.running.size>0){continue}break}fx()})))().catch(console.error)}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/BaseEntityService");System.register(["tslib","../models/Cloner","../models/IEntityModel","./mergeProperties","./Query","./resolve","../models/TaskManager","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __addDisposableResource,__awaiter,__disposeResources,Cloner,EntityContext,mergeProperties,Query,resolve,TaskManager,FetchBuilder,DefaultFactory,Model,BaseEntityService,_a,_b,_c,_d,ArrayPrototype,orderBy,orderByDescending;_export({DefaultFactory:void 0,Model:void 0,default:void 0});return{setters:[function(_tslib){__addDisposableResource=_tslib.__addDisposableResource;__awaiter=_tslib.__awaiter;__disposeResources=_tslib.__disposeResources},function(_modelsCloner){Cloner=_modelsCloner.Cloner},function(_modelsIEntityModel){EntityContext=_modelsIEntityModel.EntityContext},function(_mergeProperties){mergeProperties=_mergeProperties.default},function(_Query){Query=_Query.default},function(_resolve){resolve=_resolve.default},function(_modelsTaskManager){TaskManager=_modelsTaskManager.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){(_a=(_c=Symbol).asyncDispose)!==null&&_a!==void 0?_a:_c.asyncDispose=Symbol("asyncDispose");(_b=(_d=Symbol).dispose)!==null&&_b!==void 0?_b:_d.dispose=Symbol("dispose");ArrayPrototype=Array.prototype;orderBy=function(f){return[].concat(this).sort(((a,b)=>{const ak=f(a);const bk=f(b);if(typeof ak==="string"){return ak.toLowerCase().localeCompare(bk.toLowerCase())}return ak-bk}))};orderByDescending=function(f){return[].concat(this).sort(((a,b)=>{const ak=f(a);const bk=f(b);if(typeof ak==="string"){return bk.toLowerCase().localeCompare(ak.toLowerCase())}return bk-ak}))};Object.defineProperties(ArrayPrototype,{where:{enumerable:false,value:ArrayPrototype.filter,configurable:true},any:{enumerable:false,value:ArrayPrototype.some,configurable:true},select:{enumerable:false,value:ArrayPrototype.map,configurable:true},selectMany:{enumerable:false,value(x){const r=[];for(const iterator of this){const items=x(iterator);if(Array.isArray(items)){r.push(...items)}}return r},configurable:true},firstOrDefault:{enumerable:false,value(f){if(f){return ArrayPrototype.find.apply(this,arguments)}return this[0]},configurable:true},sum:{enumerable:false,value(f){var _a;let n=0;for(const iterator of this){n+=(_a=f(iterator))!==null&&_a!==void 0?_a:0}return n},configurable:true},average:{enumerable:false,value(f){var _a;if(this.length===0){return 0}let n=0;for(const iterator of this){n+=(_a=f(iterator))!==null&&_a!==void 0?_a:0}return n/this.length},configurable:true},orderBy:{enumerable:false,value:orderBy,configurable:true},thenBy:{enumerable:false,value:orderBy,configurable:false},orderByDescending:{enumerable:false,value:orderByDescending,configurable:true},thenByDescending:{enumerable:false,value:orderByDescending,configurable:false},count:{enumerable:false,value(f){if(!f){return this.length}let length=0;for(const iterator of this){if(f(iterator)){length++}}return length},configurable:false}});_export("DefaultFactory",DefaultFactory=class DefaultFactory{constructor(factory){this.factory=factory}});_export("Model",Model=class Model{constructor(name,keys=[],defaults=null,schema=null){this.name=name;this.keys=keys;this.schema=schema;if(defaults){this.defaults=[];for(const key in defaults){if(Object.prototype.hasOwnProperty.call(defaults,key)){const element=defaults[key];this.defaults.push([key,element])}}}}create(properties={}){properties.$type=this.name;if(this.defaults){for(const[key,value]of this.defaults){if(properties[key]===void 0){if(value instanceof DefaultFactory){properties[key]=value.factory()}else{properties[key]=value}}}}return properties}patch(original,updates){for(const iterator of this.keys){const originalKey=original[iterator];const updatedKey=updates[iterator];if(updatedKey&&updatedKey!==originalKey){throw new Error(`Cannot update ${iterator} as it is the primary key`)}updates[iterator]=originalKey}return Object.assign({$type:this.name},updates)}});_export("default",BaseEntityService=class BaseEntityService extends TaskManager{constructor(){super(...arguments);this.url="/api/entity/";this.resultConverter=resolve}cloner(item){return new Cloner(item)}model(){return __awaiter(this,void 0,void 0,(function*(){const env_1={stack:[],error:void 0,hasError:false};try{if(this.entityModel){return this.entityModel}const busy=__addDisposableResource(env_1,this.createBusyIndicator(false),false);const c=yield FetchBuilder.get(`${this.url}model`).asJson();this.entityModel=new EntityContext(c);return this.entityModel}catch(e_1){env_1.error=e_1;env_1.hasError=true}finally{__disposeResources(env_1)}}))}dateRange(start,end,step){return new Query({service:this,name:"NeuroSpeech.EntityAccessControl.DateRange",traceQuery:false},[["dateRange","@0,@1,@2",start,end,step]])}query(m,queryFunction,...args){return new Query({service:this,name:m.name,queryProcessor:this.queryProcessor,queryFunction,args})}queryNavigation(entity,navigation){const name=entity.$type;const{$key}=entity;return new Query({service:this,name,entityKey:$key,navigation})}queryEntity(m,entity,queryFunction,...args){let entityKey;const{$key}=entity;if(!$key){throw new Error(`Entity does not contain public/private key`)}entityKey=$key;return new Query({service:this,name:m.name,queryProcessor:this.queryProcessor,queryFunction,entityKey,args})}as(){return this}delete(body){return __awaiter(this,void 0,void 0,(function*(){const env_2={stack:[],error:void 0,hasError:false};try{const _busy=__addDisposableResource(env_2,this.createBusyIndicator(false),false);const url=this.url;return yield FetchBuilder.delete(url).jsonBody(body).asJson()}catch(e_2){env_2.error=e_2;env_2.hasError=true}finally{__disposeResources(env_2)}}))}insert(body){return __awaiter(this,void 0,void 0,(function*(){const env_3={stack:[],error:void 0,hasError:false};try{const _busy=__addDisposableResource(env_3,this.createBusyIndicator(false),false);const url=this.url;const result=yield FetchBuilder.put(url).jsonBody(body).asJson();return this.resultConverter(result)}catch(e_3){env_3.error=e_3;env_3.hasError=true}finally{__disposeResources(env_3)}}))}invoke(m,method,argEntity,...args){return __awaiter(this,void 0,void 0,(function*(){const env_4={stack:[],error:void 0,hasError:false};try{const _busy=__addDisposableResource(env_4,this.createBusyIndicator(false),false);const{$type,$key:key}=argEntity;let keys=void 0;if(!key){keys={};for(const key of m.schema.keys){keys[key.name]=argEntity[key.name]}}const result=yield FetchBuilder.post(`${this.url}invoke/${$type}/${method}`).withFetchProxy(((r,i)=>this.queueRun((()=>fetch(r,i))))).jsonBody({key,keys,args}).asJson();return this.resultConverter(result)}catch(e_4){env_4.error=e_4;env_4.hasError=true}finally{__disposeResources(env_4)}}))}buildRunUrl(m,method,argEntity,{args=void 0,cacheSeconds=0,cacheVersion=void 0}={}){const{$type,$key}=argEntity;if(!$key){throw new Error(`Run requires encrypted $key`)}const usp=new URLSearchParams;usp.append("key",$key);if(args){usp.append("args",JSON.stringify(args))}if(cacheSeconds){usp.append("cache",cacheSeconds.toString())}if(cacheVersion){usp.append("cv",cacheVersion)}return`${this.url}run/${$type}/${method}?${usp.toString()}`}run(m,method,argEntity,{args=void 0,cacheSeconds=0,cacheVersion=void 0}={}){const url=this.buildRunUrl(m,method,argEntity,{args,cacheSeconds,cacheVersion});return FetchBuilder.get(url).withFetchProxy(((r,i)=>this.queueRun((()=>fetch(r,i))))).jsonPostProcessor(this.resultConverter)}runFiltered(m,method,argEntity,...args){return __awaiter(this,void 0,void 0,(function*(){const env_5={stack:[],error:void 0,hasError:false};try{const _busy=__addDisposableResource(env_5,this.createBusyIndicator(false),false);const keys={};for(const key of m.schema.keys){keys[key.name]=argEntity[key.name]}return FetchBuilder.post(`${this.url}run/${m.name}/${method}`).withFetchProxy(((r,i)=>this.queueRun((()=>fetch(r,i))))).jsonBody({keys,args}).jsonPostProcessor(this.resultConverter)}catch(e_5){env_5.error=e_5;env_5.hasError=true}finally{__disposeResources(env_5)}}))}save(body,cloner,trace){return __awaiter(this,void 0,void 0,(function*(){const env_6={stack:[],error:void 0,hasError:false};try{if(Array.isArray(body)&&body.length===0){return body}const _busy=__addDisposableResource(env_6,this.createBusyIndicator(false),false);let url=this.url;if(body instanceof Cloner){body=body.copy}if(trace){const hasQuery=url.includes("?");if(hasQuery){url=url+="&trace=true"}else{url=url+="?trace=true"}}if(cloner){if(Array.isArray(body)){body=body.map((x=>cloner(new Cloner(x)).copy))}else{const c=cloner(new Cloner(body));body=c.copy}}let result=yield FetchBuilder.post(url).jsonBody(body).asJson();result=this.resultConverter(result);mergeProperties(result,body);return body}catch(e_6){env_6.error=e_6;env_6.hasError=true}finally{__disposeResources(env_6)}}))}update(e,update){return __awaiter(this,void 0,void 0,(function*(){yield this.bulkUpdate([e],update);for(const key in update){if(Object.prototype.hasOwnProperty.call(update,key)){const element=update[key];e[key]=element}}return e}))}bulkUpdate(entities_1,update_1){return __awaiter(this,arguments,void 0,(function*(entities,update,throwWhenNotFound=false){const env_7={stack:[],error:void 0,hasError:false};try{const model=yield this.model();const busy=__addDisposableResource(env_7,this.createBusyIndicator(false),false);const keys=[];for(const iterator of entities){const entityType=model.for(iterator.$type);const key={$type:iterator.$type};for(const{name}of entityType.keys){key[name]=iterator[name]}keys.push(key)}const body={keys,update,throwWhenNotFound};const url=`${this.url}bulk`;let results=yield FetchBuilder.post(url).jsonBody(body).asJson();results=this.resultConverter(results);return results}catch(e_7){env_7.error=e_7;env_7.hasError=true}finally{__disposeResources(env_7)}}))}bulkDelete(entities_1){return __awaiter(this,arguments,void 0,(function*(entities,throwWhenNotFound=false){const env_8={stack:[],error:void 0,hasError:false};try{const model=yield this.model();const busy=__addDisposableResource(env_8,this.createBusyIndicator(false),false);const keys=[];for(const iterator of entities){const entityType=model.for(iterator.$type);const key={$type:iterator.$type};for(const{name}of entityType.keys){key[name]=iterator[name]}keys.push(key)}const url=`${this.url}bulk`;const body={keys,throwWhenNotFound};let results=yield FetchBuilder.delete(url).jsonBody(body).asJson();results=this.resultConverter(results);return results}catch(e_8){env_8.error=e_8;env_8.hasError=true}finally{__disposeResources(env_8)}}))}createBusyIndicator(hideActivityIndicator=false){return{[Symbol.dispose](){}}}});delete BaseEntityService.prototype.createBusyIndicator}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/model/model");System.register(["@web-atoms/date-time/dist/DateTime","@web-atoms/entity/dist/services/BaseEntityService"],(function(_export,_context){"use strict";var DateTime,Model,DefaultFactory,modelEntitySchemas,AppRole,AppFileContentDispositionArray,AppFile,AppPassword,WebHookEventTypeArray,WebHookHttpVerbArray,WebHook,WebHookEvent,AccessToken,AppFileVersion,AppFileAccessTypeArray,AppFileAccess,AppFileTag,FileContent,Configuration,Contact,ContactEmail,ContactPhone,ContactItem,ContactDomain,ContactAddress,CachedItem,Domain,HostedDomain,DomainUser,HostedZone,HostedZoneRecordTypeArray,HostedZoneRecord,HostedZoneUser,DomainRelayTypeArray,DomainRelay,DomainKey,EmailStatusArray,Email,EmailEngagement,EmailLog,EmailRecipientTypeArray,EmailRecipient,EmailTag,EmailAddress,EmailTemplate,MailboxSubscriptionTypeArray,Mailbox,ChannelEmail,GeoIPBlock,MailboxContactStatusArray,MailboxContactSubscriptionTypeArray,MailboxContact,MailboxContactEvent,MailboxFolder,MailboxContactEmail,MailboxContactTag,MailboxTag,MailboxSyncTargetDirectionArray,MailboxSyncTargetProtocolArray,MailboxSyncTargetLastSyncStatusArray,MailboxSyncTarget,NameToken,ChannelConfig,SubscriberActivity,SearchWordStatusArray,SearchWord,SearchWordIndex,ServerActivityActivityArray,ServerActivity,StoreConfig,StoreItemItemTypeArray,StoreItemItemUnitTypeArray,StoreItem,StoreCouponTypeArray,StoreCoupon,StoreJournalCoupon,StoreItemFolder,StoreItemFolderTag,StoreItemPrice,StorePaymentAttempt,StoreMediaFile,StoreInsight,StoreAccount,StoreAccountAddress,StoreAccountEmail,StoreAccountPhone,StorePaymentGatewayPaymentGatewayArray,StorePaymentGateway,StoreJournalJournalTypeArray,StoreJournalStatusArray,StoreJournal,StoreJournalEntry,StoreJournalLineItemItemTypeArray,StoreJournalLineItem,StoreItemTax,StoreTag,StoreItemTag,UserStatusArray,User,UserGroupMember,UserPin,UserPushSubscription,UserRole,UserMailbox,UserAuthFactorMethodArray,UserAuthFactor,WebSite,WebSiteHost,WebSiteVersion,WebSiteChannelDomain,WebSiteChannel,WebSiteTag,LoginSessionDeviceTokenTypeArray,LoginSession,TextDocument,IncomingSmsSource,VerificationTokenTypeArray,VerificationToken,VerificationTokenAddress,EmailAddressName,ThreadParticipant,Tag,AppTempFile,fixRelatedSchemas;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsEntityDistServicesBaseEntityService){Model=_webAtomsEntityDistServicesBaseEntityService.Model;DefaultFactory=_webAtomsEntityDistServicesBaseEntityService.DefaultFactory}],execute:function(){_export("modelEntitySchemas",modelEntitySchemas={});_export("AppRole",AppRole=new Model("AppRole",["roleName"],{},{name:"app_roles",keys:[{name:"roleName",type:"string",dataType:"Char",length:100}],properties:[],relations:[{name:"roles",isCollection:true,isInverse:true,relatedName:"UserRole"}]}));modelEntitySchemas["AppRole"]=AppRole;_export("AppFileContentDispositionArray",AppFileContentDispositionArray=[{label:"attachment",value:"attachment"},{label:"inline",value:"inline"}]);_export("AppFile",AppFile=new Model("AppFile",["appFileID"],{isFolder:false,name:"",fileSize:0,contentType:"",isDeleted:false,isShared:false,dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_files",keys:[{name:"appFileID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"path",type:"string",dataType:"AsciiChar",length:400,default:["path",'""']},{name:"isFolder",type:"boolean",dataType:"Boolean",default:["isFolder","false"]},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"fileSize",type:"number",dataType:"BigInt",default:["fileSize","0"]},{name:"contentType",type:"string",dataType:"Char",length:200,default:["contentType",'""']},{name:"contentDisposition",type:"string",dataType:"AsciiChar",length:10,default:["contentDisposition",'"attachment"']},{name:"contentID",type:"string",dataType:"Char",default:["contentID",'""']},{name:"fileContentID",type:"number",dataType:"BigInt"},{name:"creatorID",type:"number",dataType:"BigInt"},{name:"parentID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"},{name:"isDeleted",type:"boolean",dataType:"Boolean",default:["isDeleted","false"]},{name:"isShared",type:"boolean",dataType:"Boolean",default:["isShared","false"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"versions",type:"number",dataType:"Int",default:["versions","0"]}],relations:[{name:"fileContent",fkMap:[{fk:"fileContentID",relatedKey:"fileContentID"}],relatedName:"FileContent"},{name:"creator",fkMap:[{fk:"creatorID",relatedKey:"userID"}],relatedName:"User"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"children",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mailboxLogos",isCollection:true,isInverse:true,relatedName:"Mailbox"},{name:"websiteFolder",isCollection:false,isInverse:true,relatedName:"WebSite"},{name:"currentVersionWebSites",isCollection:true,isInverse:true,relatedName:"WebSite"},{name:"storeItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"fileVersions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"folderVersions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"accessList",isCollection:true,isInverse:true,relatedName:"AppFileAccess"},{name:"tags",isCollection:true,isInverse:true,relatedName:"AppFileTag"},{name:"previewContacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"channelEmails",isCollection:true,isInverse:true,relatedName:"ChannelEmail"},{name:"storeJournals",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"storeMediaFiles",isCollection:true,isInverse:true,relatedName:"StoreMediaFile"},{name:"userPins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"websiteVersions",isCollection:true,isInverse:true,relatedName:"WebSiteVersion"}],queries:{storeItemFiles:"external",channelPostFiles:"external",channelEmailFiles:"external",channelFiles:"external",children:"external",templateSnapshot:"external"}}));modelEntitySchemas["AppFile"]=AppFile;_export("AppPassword",AppPassword=new Model("AppPassword",["userID","name"],{passwordHash:"",dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_passwords",keys:[{name:"userID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:400}],properties:[{name:"passwordHash",type:"string",dataType:"Char",length:200,default:["passwordHash",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"lastUsed",type:"DateTime",dataType:"DateTime",default:["lastUsed","new DefaultFactory(() => new DateTime())"]},{name:"expires",type:"DateTime",dataType:"DateTime",default:["expires","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["AppPassword"]=AppPassword;_export("WebHookEventTypeArray",WebHookEventTypeArray=[{label:"email-received",value:"email-received"},{label:"order-paid",value:"order-paid"}]);_export("WebHookHttpVerbArray",WebHookHttpVerbArray=[{label:"POST",value:"POST"},{label:"GET",value:"GET"}]);_export("WebHook",WebHook=new Model("WebHook",["webHookID"],{eventType:"email-received",name:"",url:"",httpVerb:"POST",lastEvent:""},{name:"web_hooks",keys:[{name:"webHookID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt",default:["emailAddressID","0"]},{name:"storeID",type:"number",dataType:"BigInt"},{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"eventType",type:"string",dataType:"Char",length:50,default:["eventType",'"email-received"']},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"url",type:"string",dataType:"Char",default:["url",'""']},{name:"httpVerb",type:"string",dataType:"Char",length:20,default:["httpVerb",'"POST"']},{name:"headers",type:"string",dataType:"Char",default:["headers",'""']},{name:"lastEvent",type:"string",dataType:"Char",length:50,default:["lastEvent",'""']},{name:"lastEventTime",type:"DateTime",dataType:"DateTime",default:["lastEventTime","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"},{name:"events",isCollection:true,isInverse:true,relatedName:"WebHookEvent"}]}));modelEntitySchemas["WebHook"]=WebHook;_export("WebHookEvent",WebHookEvent=new Model("WebHookEvent",["webHookEventID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"web_hook_events",keys:[{name:"webHookEventID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"webHookID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"number",dataType:"Int",default:["status","0"]},{name:"response",type:"string",dataType:"Char",length:400,default:["response",'""']},{name:"success",type:"boolean",dataType:"Boolean",default:["success","false"]},{name:"cloudPath",type:"string",dataType:"Char",length:200,default:["cloudPath",'""']}],relations:[{name:"webHook",fkMap:[{fk:"webHookID",relatedKey:"webHookID"}],relatedName:"WebHook"}]}));modelEntitySchemas["WebHookEvent"]=WebHookEvent;_export("AccessToken",AccessToken=new Model("AccessToken",["tokenID"],{dateCreated:new DefaultFactory((()=>new DateTime)),expiryDate:new DefaultFactory((()=>new DateTime))},{name:"access_tokens",keys:[{name:"tokenID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"secret",type:"string",dataType:"Char",length:400,default:["secret",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"expiryDate",type:"DateTime",dataType:"DateTime",default:["expiryDate","new DefaultFactory(() => new DateTime())"]},{name:"lastUsed",type:"DateTime",dataType:"DateTime",default:["lastUsed","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["AccessToken"]=AccessToken;_export("AppFileVersion",AppFileVersion=new Model("AppFileVersion",["versionID"],{name:"",dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_file_versions",keys:[{name:"versionID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"fileID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"},{name:"sessionID",type:"number",dataType:"BigInt"},{name:"fileContentID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"folderID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"file",fkMap:[{fk:"fileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"session",fkMap:[{fk:"sessionID",relatedKey:"sessionID"}],relatedName:"LoginSession"},{name:"fileContent",fkMap:[{fk:"fileContentID",relatedKey:"fileContentID"}],relatedName:"FileContent"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["AppFileVersion"]=AppFileVersion;_export("AppFileAccessTypeArray",AppFileAccessTypeArray=[{label:"create",value:"create"},{label:"read",value:"read"},{label:"write",value:"write"},{label:"delegate",value:"delegate"}]);_export("AppFileAccess",AppFileAccess=new Model("AppFileAccess",["fileID","userID","type"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"app_file_access",keys:[{name:"fileID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"},{name:"type",type:"string",dataType:"Char",length:10}],properties:[{name:"accessCode",type:"string",dataType:"Char",length:200,default:["accessCode",'""']},{name:"expires",type:"DateTime",dataType:"DateTimeOffset",default:["expires","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"file",fkMap:[{fk:"fileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["AppFileAccess"]=AppFileAccess;_export("AppFileTag",AppFileTag=new Model("AppFileTag",["appFileID","tagID"],{},{name:"app_file_tags",keys:[{name:"appFileID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"file",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["AppFileTag"]=AppFileTag;_export("FileContent",FileContent=new Model("FileContent",["fileContentID"],{contentHash:"",contentType:"",contentSize:0,dateCreated:new DefaultFactory((()=>new DateTime)),deleted:false},{name:"file_contents",keys:[{name:"fileContentID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"contentHash",type:"string",dataType:"AsciiChar",length:200,default:["contentHash",'""']},{name:"cloudPath",type:"string",dataType:"Char",length:450,default:["cloudPath",'""']},{name:"contentType",type:"string",dataType:"Char",length:200,default:["contentType",'""']},{name:"contentSize",type:"number",dataType:"BigInt",default:["contentSize","0"]},{name:"compression",type:"string",dataType:"Char",length:10,default:["compression",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"textDocumentID",type:"number",dataType:"BigInt",default:["textDocumentID","0"]},{name:"deleted",type:"boolean",dataType:"Boolean",default:["deleted","false"]}],relations:[{name:"appFiles",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"textDocument",isCollection:false,isInverse:true,relatedName:"TextDocument"},{name:"tempFiles",isCollection:true,isInverse:true,relatedName:"AppTempFile"}]}));modelEntitySchemas["FileContent"]=FileContent;_export("Configuration",Configuration=new Model("Configuration",["name"],{},{name:"configuration",keys:[{name:"name",type:"string",dataType:"Char",length:200}],properties:[{name:"configValue",type:"string",dataType:"Char",default:["configValue",'""']}],relations:[]}));modelEntitySchemas["Configuration"]=Configuration;_export("Contact",Contact=new Model("Contact",["contactID"],{name:"",type:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"contacts",keys:[{name:"contactID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"externalID",type:"string",dataType:"Char",length:400,default:["externalID",'""']},{name:"userID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"domainID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"description",type:"string",dataType:"Char",length:200,default:["description",'""']},{name:"companyID",type:"string",dataType:"Char",length:200,default:["companyID",'""']},{name:"salesTaxID",type:"string",dataType:"Char",length:200,default:["salesTaxID",'""']},{name:"gstTaxID",type:"string",dataType:"Char",length:200,default:["gstTaxID",'""']},{name:"vatTaxID",type:"string",dataType:"Char",length:200,default:["vatTaxID",'""']},{name:"incomeTaxID",type:"string",dataType:"Char",length:200,default:["incomeTaxID",'""']},{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"synchronization",type:"string",dataType:"Char",default:["synchronization",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"previewID",type:"number",dataType:"BigInt"},{name:"billingAddressID",type:"number",dataType:"BigInt"},{name:"shippingAddressID",type:"number",dataType:"BigInt"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"preview",fkMap:[{fk:"previewID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"billingAddress",fkMap:[{fk:"billingAddressID",relatedKey:"addressID"}],relatedName:"ContactAddress"},{name:"addresses",isCollection:true,isInverse:true,relatedName:"ContactAddress"},{name:"shippingAddress",fkMap:[{fk:"shippingAddressID",relatedKey:"addressID"}],relatedName:"ContactAddress"},{name:"emails",isCollection:true,isInverse:true,relatedName:"ContactEmail"},{name:"phones",isCollection:true,isInverse:true,relatedName:"ContactPhone"},{name:"items",isCollection:true,isInverse:true,relatedName:"ContactItem"},{name:"domains",isCollection:true,isInverse:true,relatedName:"ContactDomain"}]}));modelEntitySchemas["Contact"]=Contact;_export("ContactEmail",ContactEmail=new Model("ContactEmail",["emailAddressID","contactID"],{type:"",blocked:false},{name:"contact_emails",keys:[{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"contactID",type:"number",dataType:"BigInt"}],properties:[{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']},{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]}],relations:[{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactEmail"]=ContactEmail;_export("ContactPhone",ContactPhone=new Model("ContactPhone",["contactID","phoneNumberE64"],{type:""},{name:"contact_phones",keys:[{name:"contactID",type:"number",dataType:"BigInt"},{name:"phoneNumberE64",type:"string",dataType:"Char",length:50}],properties:[{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactPhone"]=ContactPhone;_export("ContactItem",ContactItem=new Model("ContactItem",["itemID"],{type:"",title:"",valuesJson:""},{name:"contact_items",keys:[{name:"itemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"contactID",type:"number",dataType:"BigInt"},{name:"type",type:"string",dataType:"Char",length:200,default:["type",'""']},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"valuesJson",type:"string",dataType:"Char",default:["valuesJson",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactItem"]=ContactItem;_export("ContactDomain",ContactDomain=new Model("ContactDomain",["domainID","contactID"],{blocked:false},{name:"contact_domains",keys:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"contactID",type:"number",dataType:"BigInt"}],properties:[{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactDomain"]=ContactDomain;_export("ContactAddress",ContactAddress=new Model("ContactAddress",["addressID"],{title:"",line1:""},{name:"contact_addresses",keys:[{name:"addressID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"contactID",type:"number",dataType:"BigInt"},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"line1",type:"string",dataType:"Char",length:400,default:["line1",'""']},{name:"line2",type:"string",dataType:"Char",length:400,default:["line2",'""']},{name:"line3",type:"string",dataType:"Char",length:400,default:["line3",'""']},{name:"city",type:"string",dataType:"Char",length:50,default:["city",'""']},{name:"state",type:"string",dataType:"Char",length:50,default:["state",'""']},{name:"countryCode",type:"string",dataType:"Char",length:5,default:["countryCode",'""']},{name:"phoneNumber",type:"string",dataType:"Char",length:5,default:["phoneNumber",'""']},{name:"notes",type:"string",dataType:"Char",length:5,default:["notes",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"},{name:"billingContacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"shippingContacts",isCollection:true,isInverse:true,relatedName:"Contact"}]}));modelEntitySchemas["ContactAddress"]=ContactAddress;_export("CachedItem",CachedItem=new Model("CachedItem",["itemID"],{keyHash:"",key:"",expiry:new DefaultFactory((()=>new DateTime)),ready:false,slide:false},{name:"cached_item",keys:[{name:"itemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"keyHash",type:"string",dataType:"Char",length:450,default:["keyHash",'""']},{name:"key",type:"string",dataType:"Char",default:["key",'""']},{name:"expiry",type:"DateTime",dataType:"DateTime",default:["expiry","new DefaultFactory(() => new DateTime())"]},{name:"ready",type:"boolean",dataType:"Boolean",default:["ready","false"]},{name:"value",type:"string",dataType:"Char",default:["value",'""']},{name:"slide",type:"boolean",dataType:"Boolean",default:["slide","false"]}],relations:[]}));modelEntitySchemas["CachedItem"]=CachedItem;_export("Domain",Domain=new Model("Domain",["domainID"],{name:"",received:0,failed:0},{name:"domains",keys:[{name:"domainID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"received",type:"number",dataType:"Int",default:["received","0"]},{name:"failed",type:"number",dataType:"Int",default:["failed","0"]}],relations:[{name:"emailAddresses",isCollection:true,isInverse:true,relatedName:"EmailAddress"},{name:"mailboxes",isCollection:true,isInverse:true,relatedName:"Mailbox"},{name:"hostedDomain",isCollection:false,isInverse:true,relatedName:"HostedDomain"},{name:"contactDomains",isCollection:true,isInverse:true,relatedName:"ContactDomain"},{name:"hostedZone",isCollection:false,isInverse:true,relatedName:"HostedZone"},{name:"activities",isCollection:true,isInverse:true,relatedName:"ServerActivity"}],queries:{forSignup:"external"}}));modelEntitySchemas["Domain"]=Domain;_export("HostedDomain",HostedDomain=new Model("HostedDomain",["domainID"],{enableReceive:false,enableSend:false,useRelay:false,maxSendPerSecond:0,allowSignup:false},{name:"hosted_domains",keys:[{name:"domainID",type:"number",dataType:"BigInt"}],properties:[{name:"enableReceive",type:"boolean",dataType:"Boolean",default:["enableReceive","false"]},{name:"enableSend",type:"boolean",dataType:"Boolean",default:["enableSend","false"]},{name:"useRelay",type:"boolean",dataType:"Boolean",default:["useRelay","false"]},{name:"maxSendPerSecond",type:"number",dataType:"Decimal",default:["maxSendPerSecond","0"]},{name:"allowSignup",type:"boolean",dataType:"Boolean",default:["allowSignup","false"]},{name:"aliasForName",type:"string",dataType:"Char",length:200}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"aliasFor",fkMap:[{fk:"aliasForName",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"aliases",isCollection:true,isInverse:true,relatedName:"HostedDomain"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"domainUsers",isCollection:true,isInverse:true,relatedName:"DomainUser"},{name:"relays",isCollection:true,isInverse:true,relatedName:"DomainRelay"},{name:"domainKeys",isCollection:true,isInverse:true,relatedName:"DomainKey"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"websiteChannelDomains",isCollection:true,isInverse:true,relatedName:"WebSiteChannelDomain"}],queries:{hosted:"external"},actions:{deleteDomain:"external"}}));modelEntitySchemas["HostedDomain"]=HostedDomain;_export("DomainUser",DomainUser=new Model("DomainUser",["domainID","userID"],{isAdmin:false,allowCreateMailbox:false},{name:"domain_users",keys:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"}],properties:[{name:"prefix",type:"string",dataType:"Char",length:20,default:["prefix",'""']},{name:"isAdmin",type:"boolean",dataType:"Boolean",default:["isAdmin","false"]},{name:"allowCreateMailbox",type:"boolean",dataType:"Boolean",default:["allowCreateMailbox","false"]}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["DomainUser"]=DomainUser;_export("HostedZone",HostedZone=new Model("HostedZone",["zoneID"],{dnsHosted:false,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"hosted_zones",keys:[{name:"zoneID",type:"number",dataType:"BigInt"}],properties:[{name:"dnsHosted",type:"boolean",dataType:"Boolean",default:["dnsHosted","false"]},{name:"unsigned",type:"string",dataType:"Char",default:["unsigned",'""']},{name:"digest",type:"string",dataType:"Char",default:["digest",'""']},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"dateSigned",type:"DateTime",dataType:"DateTime",default:["dateSigned","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"domain",fkMap:[{fk:"zoneID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"records",isCollection:true,isInverse:true,relatedName:"HostedZoneRecord"},{name:"users",isCollection:true,isInverse:true,relatedName:"HostedZoneUser"}],actions:{updateHosting:"external"}}));modelEntitySchemas["HostedZone"]=HostedZone;_export("HostedZoneRecordTypeArray",HostedZoneRecordTypeArray=[{label:"A",value:"A"},{label:"AAAA",value:"AAAA"},{label:"CNAME",value:"CNAME"},{label:"MX",value:"MX"},{label:"TXT",value:"TXT"},{label:"PTR",value:"PTR"},{label:"SRV",value:"SRV"},{label:"CAA",value:"CAA"},{label:"NS",value:"NS"},{label:"SOA",value:"SOA"}]);_export("HostedZoneRecord",HostedZoneRecord=new Model("HostedZoneRecord",["recordID"],{disabled:false,readonly:false,name:"",type:"A",isAlias:false,value:"",ttl:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),hosted:false},{name:"hosted_zone_records",keys:[{name:"recordID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"zoneID",type:"number",dataType:"BigInt"},{name:"disabled",type:"boolean",dataType:"Boolean",default:["disabled","false"]},{name:"readonly",type:"boolean",dataType:"Boolean",default:["readonly","false"]},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"type",type:"Object",dataType:"Char",length:15,default:["type",'"A"']},{name:"isAlias",type:"boolean",dataType:"Boolean",default:["isAlias","false"]},{name:"value",type:"string",dataType:"Char",default:["value",'""']},{name:"ttl",type:"number",dataType:"Int",default:["ttl","0"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']},{name:"expiryDate",type:"DateTime",dataType:"DateTimeOffset",default:["expiryDate","new DefaultFactory(() => new DateTime())"]},{name:"hosted",type:"boolean",dataType:"Boolean",default:["hosted","false"]},{name:"fqdn",type:"string",dataType:"Char",default:["fqdn",'""']}],relations:[{name:"zone",fkMap:[{fk:"zoneID",relatedKey:"zoneID"}],relatedName:"HostedZone"}]}));modelEntitySchemas["HostedZoneRecord"]=HostedZoneRecord;_export("HostedZoneUser",HostedZoneUser=new Model("HostedZoneUser",["zoneID","userID"],{},{name:"hosted_zone_users",keys:[{name:"zoneID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"zone",fkMap:[{fk:"zoneID",relatedKey:"zoneID"}],relatedName:"HostedZone"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["HostedZoneUser"]=HostedZoneUser;_export("DomainRelayTypeArray",DomainRelayTypeArray=[{label:"smtp",value:"smtp"},{label:"ses",value:"ses"},{label:"https",value:"https"}]);_export("DomainRelay",DomainRelay=new Model("DomainRelay",["domainRelayID"],{type:"smtp",host:"",username:"",password:"",priority:0},{name:"domain_relays",keys:[{name:"domainRelayID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"type",type:"string",dataType:"AsciiChar",length:20,default:["type",'"smtp"']},{name:"host",type:"string",dataType:"Char",length:400,default:["host",'""']},{name:"username",type:"string",dataType:"Char",length:100,default:["username",'""']},{name:"password",type:"string",dataType:"Char",length:100,default:["password",'""']},{name:"priority",type:"number",dataType:"Int",default:["priority","0"]},{name:"script",type:"string",dataType:"Char",default:["script",'""']}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["DomainRelay"]=DomainRelay;_export("DomainKey",DomainKey=new Model("DomainKey",["domainKeyID"],{name:"",keyType:"",publicKey:""},{name:"domain_keys",keys:[{name:"domainKeyID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:100,default:["name",'""']},{name:"keyType",type:"string",dataType:"Char",length:20,default:["keyType",'""']},{name:"publicKey",type:"string",dataType:"Char",default:["publicKey",'""']},{name:"domainID",type:"number",dataType:"BigInt"},{name:"privateKey",type:"string",dataType:"Char",default:["privateKey",'""']}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["DomainKey"]=DomainKey;_export("EmailStatusArray",EmailStatusArray=[{label:"queued",value:"queued"},{label:"received",value:"received"},{label:"draft",value:"draft"},{label:"published",value:"published"},{label:"pending-approval",value:"pending-approval"},{label:"approved",value:"approved"},{label:"scheduled",value:"scheduled"},{label:"sent",value:"sent"},{label:"sent-failed",value:"sent-failed"},{label:"deleted",value:"deleted"},{label:"closed",value:"closed"}]);_export("Email",Email=new Model("Email",["emailID"],{senderName:"",received:false,hasUnsubscribe:false,dateReceived:new DefaultFactory((()=>new DateTime)),dateCreated:new DefaultFactory((()=>new DateTime)),status:"queued",forwardCount:0,replyCount:0,viewCount:0,engagementCount:0,emailSize:0,originalFileSize:0},{name:"emails",keys:[{name:"emailID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"subject",type:"string",dataType:"Char",default:["subject",'""']},{name:"summary",type:"string",dataType:"Char",length:200,default:["summary",'""']},{name:"textBody",type:"string",dataType:"Char",default:["textBody",'""']},{name:"htmlBody",type:"string",dataType:"Char",default:["htmlBody",'""']},{name:"senderName",type:"string",dataType:"Char",default:["senderName",'""']},{name:"senderID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"},{name:"received",type:"boolean",dataType:"Boolean",default:["received","false"]},{name:"headers",type:"string",dataType:"Char",default:["headers",'""']},{name:"hasUnsubscribe",type:"boolean",dataType:"Boolean",default:["hasUnsubscribe","false"]},{name:"headerMessageID",type:"string",dataType:"Char",default:["headerMessageID",'""']},{name:"inReplyTo",type:"string",dataType:"Char",default:["inReplyTo",'""']},{name:"externalEmailID",type:"string",dataType:"Char",length:200,default:["externalEmailID",'""']},{name:"syncedMailboxID",type:"number",dataType:"BigInt",default:["syncedMailboxID","0"]},{name:"dateReceived",type:"DateTime",dataType:"DateTime",default:["dateReceived","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateSent",type:"DateTime",dataType:"DateTime",default:["dateSent","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",dataType:"AsciiChar",length:20,default:["status",'"queued"']},{name:"forwardCount",type:"number",dataType:"Int",default:["forwardCount","0"]},{name:"replyCount",type:"number",dataType:"Int",default:["replyCount","0"]},{name:"viewCount",type:"number",dataType:"Int",default:["viewCount","0"]},{name:"engagementCount",type:"number",dataType:"Int",default:["engagementCount","0"]},{name:"mimeFileID",type:"number",dataType:"BigInt"},{name:"sentMessageID",type:"string",dataType:"Char",length:200,default:["sentMessageID",'""']},{name:"htmlBodyID",type:"number",dataType:"BigInt"},{name:"emailSize",type:"number",dataType:"BigInt",default:["emailSize","0"]},{name:"originalFileSize",type:"number",dataType:"Int",default:["originalFileSize","0"]},{name:"workflowID",type:"string",dataType:"Char",length:400,default:["workflowID",'""']},{name:"parentID",type:"number",dataType:"BigInt"},{name:"threadID",type:"number",dataType:"BigInt"},{name:"forwardedID",type:"number",dataType:"BigInt"},{name:"lastReplyID",type:"number",dataType:"BigInt"},{name:"engagement",type:"string",dataType:"Char",length:200,default:["engagement",'""']},{name:"tags",type:"string",dataType:"Char",default:["tags",'""']},{name:"stateReferencesUpdated",type:"boolean",dataType:"Boolean",default:["stateReferencesUpdated","false"]},{name:"statePostReceiveInvoked",type:"boolean",dataType:"Boolean",default:["statePostReceiveInvoked","false"]}],relations:[{name:"senderEmail",fkMap:[{fk:"senderID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"senderUser",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mimeFile",fkMap:[{fk:"mimeFileID",relatedKey:"logID"}],relatedName:"EmailLog"},{name:"logs",isCollection:true,isInverse:true,relatedName:"EmailLog"},{name:"htmlBodyFile",fkMap:[{fk:"htmlBodyID",relatedKey:"logID"}],relatedName:"EmailLog"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"emailID"}],relatedName:"Email"},{name:"children",isCollection:true,isInverse:true,relatedName:"Email"},{name:"thread",fkMap:[{fk:"threadID",relatedKey:"emailID"}],relatedName:"Email"},{name:"threadChildren",isCollection:true,isInverse:true,relatedName:"Email"},{name:"forwarded",fkMap:[{fk:"forwardedID",relatedKey:"emailID"}],relatedName:"Email"},{name:"forwards",isCollection:true,isInverse:true,relatedName:"Email"},{name:"lastReply",fkMap:[{fk:"lastReplyID",relatedKey:"emailID"}],relatedName:"Email"},{name:"lastRepliedThreads",isCollection:true,isInverse:true,relatedName:"Email"},{name:"attachments",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"lastEmailThreads",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"engagements",isCollection:true,isInverse:true,relatedName:"EmailEngagement"},{name:"recipients",isCollection:true,isInverse:true,relatedName:"EmailRecipient"},{name:"emailTags",isCollection:true,isInverse:true,relatedName:"EmailTag"},{name:"channelEmails",isCollection:true,isInverse:true,relatedName:"ChannelEmail"},{name:"mailboxContactEvents",isCollection:true,isInverse:true,relatedName:"MailboxContactEvent"},{name:"threadContacts",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"},{name:"threadParticipants",isCollection:true,isInverse:true,relatedName:"ThreadParticipant"}],queries:{channelEmails:"external"},actions:{getBody:"external"}}));modelEntitySchemas["Email"]=Email;_export("EmailEngagement",EmailEngagement=new Model("EmailEngagement",["emailID","engagement"],{count:0},{name:"email_engagements",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"engagement",type:"string",dataType:"Char",length:200}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"}]}));modelEntitySchemas["EmailEngagement"]=EmailEngagement;_export("EmailLog",EmailLog=new Model("EmailLog",["logID"],{fileName:"",fileSize:0,compression:"",dateCreated:new DefaultFactory((()=>new DateTime)),cloudPath:""},{name:"email_logs",keys:[{name:"logID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"fileName",type:"string",dataType:"Char",length:200,default:["fileName",'""']},{name:"fileSize",type:"number",dataType:"Int",default:["fileSize","0"]},{name:"compression",type:"string",dataType:"Char",length:20,default:["compression",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"cloudPath",type:"string",dataType:"Char",length:200,default:["cloudPath",'""']}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mimeFileEmails",isCollection:true,isInverse:true,relatedName:"Email"},{name:"htmlBodyFileEmails",isCollection:true,isInverse:true,relatedName:"Email"}]}));modelEntitySchemas["EmailLog"]=EmailLog;_export("EmailRecipientTypeArray",EmailRecipientTypeArray=[{label:"from",value:"from"},{label:"to",value:"to"},{label:"cc",value:"cc"},{label:"bcc",value:"bcc"},{label:"viewer",value:"viewer"},{label:"editor",value:"editor"},{label:"unsubscribed",value:"unsubscribed"}]);_export("EmailRecipient",EmailRecipient=new Model("EmailRecipient",["emailID","emailAddressID"],{type:"from"},{name:"email_recipients",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[{name:"type",type:"string",dataType:"Char",length:20,default:["type",'"from"']},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"dateSent",type:"DateTime",dataType:"DateTimeOffset",default:["dateSent","new DefaultFactory(() => new DateTime())"]},{name:"error",type:"string",dataType:"Char",default:["error",'""']},{name:"status",type:"string",dataType:"Char",length:15,default:["status",'""']},{name:"replyTo",type:"string",dataType:"Char",length:400,default:["replyTo",'""']}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["EmailRecipient"]=EmailRecipient;_export("EmailTag",EmailTag=new Model("EmailTag",["emailID","tagID"],{},{name:"email_tags",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["EmailTag"]=EmailTag;_export("EmailAddress",EmailAddress=new Model("EmailAddress",["emailAddressID"],{emailAddress:"",name:"",blocked:false},{name:"email_addresses",keys:[{name:"emailAddressID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"emailAddress",type:"string",dataType:"Char",length:400,default:["emailAddress",'""']},{name:"domainID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"senders",isCollection:true,isInverse:true,relatedName:"Email"},{name:"mailbox",isCollection:false,isInverse:true,relatedName:"Mailbox"},{name:"threads",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"contactEmails",isCollection:true,isInverse:true,relatedName:"ContactEmail"},{name:"recipients",isCollection:true,isInverse:true,relatedName:"EmailRecipient"},{name:"mailboxContactEmails",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"},{name:"storeAccounts",isCollection:true,isInverse:true,relatedName:"StoreAccountEmail"},{name:"names",isCollection:true,isInverse:true,relatedName:"EmailAddressName"},{name:"threadParticipants",isCollection:true,isInverse:true,relatedName:"ThreadParticipant"}]}));modelEntitySchemas["EmailAddress"]=EmailAddress;_export("EmailTemplate",EmailTemplate=new Model("EmailTemplate",["templateID"],{},{name:"email_templates",keys:[{name:"templateID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"folderID",type:"number",dataType:"BigInt"}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["EmailTemplate"]=EmailTemplate;_export("MailboxSubscriptionTypeArray",MailboxSubscriptionTypeArray=[{label:"all",value:"all"},{label:"daily",value:"daily"},{label:"weekly",value:"weekly"},{label:"engaged",value:"engaged"}]);_export("Mailbox",Mailbox=new Model("Mailbox",["mailboxID"],{storage:0,maxStorage:0,indexAttachments:false,indexImageAttachments:false,openThreads:0,totalThreads:0,pendingModerationCount:0,unread:0,isExternal:false,maxSendPerSecond:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),isChannel:false,isLibrary:false,isPrivateChannel:false,membersCanPostTopLevel:false,nonMembersCanPost:false,nonMembersCanComment:false,nonMembersCanReact:false,requiresMembershipApproval:false,requiresPostModeration:false,requiresCommentModeration:false,requiresSignup:false,subscriberCount:0},{name:"mailboxes",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"storage",type:"number",dataType:"BigInt",default:["storage","0"]},{name:"maxStorage",type:"number",dataType:"BigInt",default:["maxStorage","0"]},{name:"indexAttachments",type:"boolean",dataType:"Boolean",default:["indexAttachments","false"]},{name:"indexImageAttachments",type:"boolean",dataType:"Boolean",default:["indexImageAttachments","false"]},{name:"firstID",type:"number",dataType:"BigInt",default:["firstID","0"]},{name:"recentID",type:"number",dataType:"BigInt",default:["recentID","0"]},{name:"uniqueAddress",type:"string",dataType:"Char",length:400,default:["uniqueAddress",'""']},{name:"openThreads",type:"number",dataType:"Int",default:["openThreads","0"]},{name:"totalThreads",type:"number",dataType:"Int",default:["totalThreads","0"]},{name:"pendingModerationCount",type:"number",dataType:"Int",default:["pendingModerationCount","0"]},{name:"unread",type:"number",dataType:"Int",default:["unread","0"]},{name:"logoID",type:"number",dataType:"BigInt"},{name:"isExternal",type:"boolean",dataType:"Boolean",default:["isExternal","false"]},{name:"maxSendPerSecond",type:"number",dataType:"Decimal",default:["maxSendPerSecond","0"]},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"isChannel",type:"boolean",dataType:"Boolean",default:["isChannel","false"]},{name:"isLibrary",type:"boolean",dataType:"Boolean",default:["isLibrary","false"]},{name:"isPrivateChannel",type:"boolean",dataType:"Boolean",default:["isPrivateChannel","false"]},{name:"membersCanPostTopLevel",type:"boolean",dataType:"Boolean",default:["membersCanPostTopLevel","false"]},{name:"nonMembersCanPost",type:"boolean",dataType:"Boolean",default:["nonMembersCanPost","false"]},{name:"nonMembersCanComment",type:"boolean",dataType:"Boolean",default:["nonMembersCanComment","false"]},{name:"nonMembersCanReact",type:"boolean",dataType:"Boolean",default:["nonMembersCanReact","false"]},{name:"requiresMembershipApproval",type:"boolean",dataType:"Boolean",default:["requiresMembershipApproval","false"]},{name:"requiresPostModeration",type:"boolean",dataType:"Boolean",default:["requiresPostModeration","false"]},{name:"requiresCommentModeration",type:"boolean",dataType:"Boolean",default:["requiresCommentModeration","false"]},{name:"requiresSignup",type:"boolean",dataType:"Boolean",default:["requiresSignup","false"]},{name:"subscriberCount",type:"number",dataType:"Int",default:["subscriberCount","0"]},{name:"subscriptionType",type:"string",dataType:"AsciiChar",length:20,default:["subscriptionType",'"all"']},{name:"datePublished",type:"DateTime",dataType:"DateTime",default:["datePublished","new DefaultFactory(() => new DateTime())"]},{name:"dateEngaged",type:"DateTime",dataType:"DateTime",default:["dateEngaged","new DefaultFactory(() => new DateTime())"]},{name:"parentID",type:"number",dataType:"BigInt",default:["parentID","0"]}],relations:[{name:"emailAddress",fkMap:[{fk:"mailboxID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"logo",fkMap:[{fk:"logoID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"mailboxContacts",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"emails",isCollection:true,isInverse:true,relatedName:"ChannelEmail"},{name:"mailboxEvents",isCollection:true,isInverse:true,relatedName:"MailboxContactEvent"},{name:"folders",isCollection:true,isInverse:true,relatedName:"MailboxFolder"},{name:"threadEmails",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"tags",isCollection:true,isInverse:true,relatedName:"MailboxTag"},{name:"syncTargets",isCollection:true,isInverse:true,relatedName:"MailboxSyncTarget"},{name:"channelConfig",isCollection:false,isInverse:true,relatedName:"ChannelConfig"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"},{name:"userPins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"userMailboxes",isCollection:true,isInverse:true,relatedName:"UserMailbox"},{name:"websiteChannels",isCollection:true,isInverse:true,relatedName:"WebSiteChannel"}],queries:{channels:"external"},actions:{updateFolders:"external",fetch:"external"}}));modelEntitySchemas["Mailbox"]=Mailbox;_export("ChannelEmail",ChannelEmail=new Model("ChannelEmail",["mailboxID","emailID"],{engagementCount:0,isThread:false},{name:"mailbox_emails",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"}],properties:[{name:"engagementCount",type:"number",dataType:"Int",default:["engagementCount","0"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"datePublished",type:"DateTime",dataType:"DateTime",default:["datePublished","new DefaultFactory(() => new DateTime())"]},{name:"isThread",type:"boolean",dataType:"Boolean",default:["isThread","false"]},{name:"previewFileID",type:"number",dataType:"BigInt"}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"previewFile",fkMap:[{fk:"previewFileID",relatedKey:"appFileID"}],relatedName:"AppFile"}],queries:{channelEmails:"external",libraryEmails:"external"},actions:{getBody:"external"}}));modelEntitySchemas["ChannelEmail"]=ChannelEmail;_export("GeoIPBlock",GeoIPBlock=new Model("GeoIPBlock",["blockStart","blockEnd"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateExpires:new DefaultFactory((()=>new DateTime)),country:"",verified:false},{name:"geo_ipblocks",keys:[{name:"blockStart",type:"number",dataType:"BigInt"},{name:"blockEnd",type:"number",dataType:"BigInt"}],properties:[{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateExpires",type:"DateTime",dataType:"DateTime",default:["dateExpires","new DefaultFactory(() => new DateTime())"]},{name:"country",type:"string",dataType:"Char",length:50,default:["country",'""']},{name:"verified",type:"boolean",dataType:"Boolean",default:["verified","false"]},{name:"error",type:"string",dataType:"Char",default:["error",'""']}],relations:[]}));modelEntitySchemas["GeoIPBlock"]=GeoIPBlock;_export("MailboxContactStatusArray",MailboxContactStatusArray=[{label:"invited",value:"invited"},{label:"added",value:"added"},{label:"active",value:"active"},{label:"unsubscribed",value:"unsubscribed"},{label:"blocked",value:"blocked"}]);_export("MailboxContactSubscriptionTypeArray",MailboxContactSubscriptionTypeArray=[{label:"all",value:"all"},{label:"daily",value:"daily"},{label:"weekly",value:"weekly"},{label:"engaged",value:"engaged"}]);_export("MailboxContact",MailboxContact=new Model("MailboxContact",["mailboxID","emailAddressID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),unread:0,openThreads:0,totalThreads:0,autoClose:false,total:0,isOwner:false,isModerator:false,canContribute:false,priority:0,blocked:false,newRequest:false,spam:false,mute:false,status:"invited"},{name:"mailbox_contacts",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[{name:"folderTagID",type:"number",dataType:"BigInt",default:["folderTagID","0"]},{name:"lastEmailID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"unread",type:"number",dataType:"Int",default:["unread","0"]},{name:"openThreads",type:"number",dataType:"Int",default:["openThreads","0"]},{name:"totalThreads",type:"number",dataType:"Int",default:["totalThreads","0"]},{name:"autoClose",type:"boolean",dataType:"Boolean",default:["autoClose","false"]},{name:"total",type:"number",dataType:"Int",default:["total","0"]},{name:"doNotIndex",type:"boolean",dataType:"Boolean",default:["doNotIndex","false"]},{name:"doNotIndexAttachments",type:"boolean",dataType:"Boolean",default:["doNotIndexAttachments","false"]},{name:"isOwner",type:"boolean",dataType:"Boolean",default:["isOwner","false"]},{name:"isModerator",type:"boolean",dataType:"Boolean",default:["isModerator","false"]},{name:"canContribute",type:"boolean",dataType:"Boolean",default:["canContribute","false"]},{name:"priority",type:"number",dataType:"Int",default:["priority","0"]},{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]},{name:"newRequest",type:"boolean",dataType:"Boolean",default:["newRequest","false"]},{name:"spam",type:"boolean",dataType:"Boolean",default:["spam","false"]},{name:"mute",type:"boolean",dataType:"Boolean",default:["mute","false"]},{name:"status",type:"string",dataType:"Char",length:15,default:["status",'"invited"']},{name:"subscriptionType",type:"string",dataType:"AsciiChar",length:10,default:["subscriptionType",'"all"']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"lastEmail",fkMap:[{fk:"lastEmailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"contactEvents",isCollection:true,isInverse:true,relatedName:"MailboxContactEvent"},{name:"contactEmails",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"tags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"}]}));modelEntitySchemas["MailboxContact"]=MailboxContact;_export("MailboxContactEvent",MailboxContactEvent=new Model("MailboxContactEvent",["eventID"],{emailAddressID:0,startDate:new DefaultFactory((()=>new DateTime)),endDate:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_events",keys:[{name:"eventID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt",default:["emailAddressID","0"]},{name:"emailID",type:"number",dataType:"BigInt"},{name:"startDate",type:"DateTime",dataType:"DateTime",default:["startDate","new DefaultFactory(() => new DateTime())"]},{name:"endDate",type:"DateTime",dataType:"DateTime",default:["endDate","new DefaultFactory(() => new DateTime())"]},{name:"title",type:"string",dataType:"Char",length:200,default:["title",'""']},{name:"description",type:"string",dataType:"Char",length:400,default:["description",'""']},{name:"location",type:"string",dataType:"Char",length:400,default:["location",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"}],queries:{calendarMonth:"external"}}));modelEntitySchemas["MailboxContactEvent"]=MailboxContactEvent;_export("MailboxFolder",MailboxFolder=new Model("MailboxFolder",["mailboxID","tagID"],{count:0,isSystem:false},{name:"mailbox_folders",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]},{name:"isSystem",type:"boolean",dataType:"Boolean",default:["isSystem","false"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["MailboxFolder"]=MailboxFolder;_export("MailboxContactEmail",MailboxContactEmail=new Model("MailboxContactEmail",["mailboxID","emailAddressID","emailID"],{dateReceived:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_emails",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"}],properties:[{name:"dateReceived",type:"DateTime",dataType:"DateTimeOffset",default:["dateReceived","new DefaultFactory(() => new DateTime())"]},{name:"timeRead",type:"DateTime",dataType:"DateTimeOffset",default:["timeRead","new DefaultFactory(() => new DateTime())"]},{name:"engagement",type:"string",dataType:"Char",length:200,default:["engagement",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"}],actions:{markAsRead:"external"}}));modelEntitySchemas["MailboxContactEmail"]=MailboxContactEmail;_export("MailboxContactTag",MailboxContactTag=new Model("MailboxContactTag",["mailboxID","emailAddressID","tagID"],{count:0,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_tags",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"},{name:"mailboxTag",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"tagID",relatedKey:"tagID"}],relatedName:"MailboxTag"}]}));modelEntitySchemas["MailboxContactTag"]=MailboxContactTag;_export("MailboxTag",MailboxTag=new Model("MailboxTag",["mailboxID","tagID"],{count:0,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"mailbox_tags",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"contactTags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"}],queries:{channelTags:"external"}}));modelEntitySchemas["MailboxTag"]=MailboxTag;_export("MailboxSyncTargetDirectionArray",MailboxSyncTargetDirectionArray=[{label:"in",value:"in"},{label:"out",value:"out"}]);_export("MailboxSyncTargetProtocolArray",MailboxSyncTargetProtocolArray=[{label:"imap",value:"imap"},{label:"smtp",value:"smtp"}]);_export("MailboxSyncTargetLastSyncStatusArray",MailboxSyncTargetLastSyncStatusArray=[{label:"none",value:"none"},{label:"success",value:"success"},{label:"failed",value:"failed"}]);_export("MailboxSyncTarget",MailboxSyncTarget=new Model("MailboxSyncTarget",["syncTargetID"],{direction:"in",protocol:"imap",username:"",host:"",port:0,isSecure:false,syncAllFolders:false,syncJunkMails:false,intervalSeconds:0,active:false},{name:"mailbox_sync_targets",keys:[{name:"syncTargetID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"direction",type:"string",dataType:"Char",length:5,default:["direction",'"in"']},{name:"protocol",type:"string",dataType:"Char",length:20,default:["protocol",'"imap"']},{name:"username",type:"string",dataType:"Char",length:200,default:["username",'""']},{name:"password",type:"string",dataType:"Char",length:200,default:["password",'""']},{name:"host",type:"string",dataType:"Char",length:200,default:["host",'""']},{name:"port",type:"number",dataType:"Int",default:["port","0"]},{name:"isSecure",type:"boolean",dataType:"Boolean",default:["isSecure","false"]},{name:"syncAllFolders",type:"boolean",dataType:"Boolean",default:["syncAllFolders","false"]},{name:"syncJunkMails",type:"boolean",dataType:"Boolean",default:["syncJunkMails","false"]},{name:"allFolderName",type:"string",dataType:"Char",length:200,default:["allFolderName",'""']},{name:"intervalSeconds",type:"number",dataType:"Int",default:["intervalSeconds","0"]},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]},{name:"lastSync",type:"DateTime",dataType:"DateTimeOffset",default:["lastSync","new DefaultFactory(() => new DateTime())"]},{name:"lastSyncStatus",type:"string",dataType:"Char",length:200,default:["lastSyncStatus",'"none"']},{name:"syncState",type:"string",dataType:"Char",default:["syncState",'""']},{name:"lastSyncError",type:"string",dataType:"Char",default:["lastSyncError",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["MailboxSyncTarget"]=MailboxSyncTarget;_export("NameToken",NameToken=new Model("NameToken",["nameTokenID"],{word:""},{name:"name_tokens",keys:[{name:"nameTokenID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"word",type:"string",dataType:"Char",length:400,default:["word",'""']},{name:"suggest",type:"boolean",generated:"computed",dataType:"Boolean"}],relations:[{name:"emailAddressNames",isCollection:true,isInverse:true,relatedName:"EmailAddressName"}]}));modelEntitySchemas["NameToken"]=NameToken;_export("ChannelConfig",ChannelConfig=new Model("ChannelConfig",["mailboxID"],{sendInviteOnEngagement:false,memberOnlyEngagement:false,notSafeForWork:false},{name:"channel_configs",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"}],properties:[{name:"inviteContent",type:"string",dataType:"Char",default:["inviteContent",'""']},{name:"welcomeContent",type:"string",dataType:"Char",default:["welcomeContent",'""']},{name:"sendInviteOnEngagement",type:"boolean",dataType:"Boolean",default:["sendInviteOnEngagement","false"]},{name:"memberOnlyEngagement",type:"boolean",dataType:"Boolean",default:["memberOnlyEngagement","false"]},{name:"notSafeForWork",type:"boolean",dataType:"Boolean",default:["notSafeForWork","false"]},{name:"postFooter",type:"string",dataType:"Char",default:["postFooter",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["ChannelConfig"]=ChannelConfig;_export("SubscriberActivity",SubscriberActivity=new Model("SubscriberActivity",["activityID"],{activity:"",dateCreated:new DefaultFactory((()=>new DateTime))},{name:"subscriber_activities",keys:[{name:"activityID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"activity",type:"string",dataType:"Char",length:20,default:["activity",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"accessCode",type:"string",dataType:"Char",length:50,default:["accessCode",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"subscriber",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["SubscriberActivity"]=SubscriberActivity;_export("SearchWordStatusArray",SearchWordStatusArray=[{label:"begin",value:"begin"},{label:"ready",value:"ready"},{label:"deleted",value:"deleted"}]);_export("SearchWord",SearchWord=new Model("SearchWord",["wordID"],{word:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),status:"begin"},{name:"search_words",keys:[{name:"wordID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"word",type:"string",dataType:"Char",default:["word",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"expires",type:"DateTime",dataType:"DateTimeOffset",default:["expires","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",dataType:"Char",length:10,default:["status",'"begin"']},{name:"recentID",type:"number",dataType:"BigInt",default:["recentID","0"]},{name:"firstID",type:"number",dataType:"BigInt",default:["firstID","0"]}],relations:[{name:"indexes",isCollection:true,isInverse:true,relatedName:"SearchWordIndex"}]}));modelEntitySchemas["SearchWord"]=SearchWord;_export("SearchWordIndex",SearchWordIndex=new Model("SearchWordIndex",["wordID","fileContentID"],{rank:0},{name:"search_word_index",keys:[{name:"wordID",type:"number",dataType:"BigInt"},{name:"fileContentID",type:"number",dataType:"BigInt"}],properties:[{name:"rank",type:"number",dataType:"Int",default:["rank","0"]}],relations:[{name:"word",fkMap:[{fk:"wordID",relatedKey:"wordID"}],relatedName:"SearchWord"}]}));modelEntitySchemas["SearchWordIndex"]=SearchWordIndex;_export("ServerActivityActivityArray",ServerActivityActivityArray=[{label:"visit",value:"visit"},{label:"rcpt-not-found",value:"rcpt-not-found"},{label:"mail-received",value:"mail-received"}]);_export("ServerActivity",ServerActivity=new Model("ServerActivity",["activityID"],{dateCreated:new DefaultFactory((()=>new DateTime)),ipAddress:"",activity:"visit"},{name:"server_activities",keys:[{name:"activityID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"webSiteFolderID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"activity",type:"string",dataType:"Char",length:50,default:["activity",'"visit"']}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"webSite",fkMap:[{fk:"webSiteFolderID",relatedKey:"folderID"}],relatedName:"WebSite"}]}));modelEntitySchemas["ServerActivity"]=ServerActivity;_export("StoreConfig",StoreConfig=new Model("StoreConfig",["storeID","groupName","configName"],{encrypted:false,configValue:""},{name:"store_configs",keys:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"groupName",type:"string",dataType:"Char",length:50},{name:"configName",type:"string",dataType:"Char",length:200}],properties:[{name:"encrypted",type:"boolean",dataType:"Boolean",default:["encrypted","false"]},{name:"configValue",type:"string",dataType:"Char",default:["configValue",'""']}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"}]}));modelEntitySchemas["StoreConfig"]=StoreConfig;_export("StoreItemItemTypeArray",StoreItemItemTypeArray=[{label:"product",value:"product"},{label:"e-product",value:"e-product"},{label:"shipping",value:"shipping"},{label:"service",value:"service"},{label:"tax",value:"tax"},{label:"fee",value:"fee"},{label:"commission",value:"commission"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreItemItemUnitTypeArray",StoreItemItemUnitTypeArray=[{label:"product",value:"product"},{label:"e-product",value:"e-product"},{label:"shipping",value:"shipping"},{label:"service",value:"service"},{label:"tax",value:"tax"},{label:"fee",value:"fee"},{label:"commission",value:"commission"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreItem",StoreItem=new Model("StoreItem",["storeItemID"],{name:"",active:false,itemType:"product",itemUnit:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),price:0,maxPrice:0},{name:"store_items",keys:[{name:"storeItemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"itemFolderID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]},{name:"internalNotes",type:"string",dataType:"Char",default:["internalNotes",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"itemType",type:"string",dataType:"Char",length:20,default:["itemType",'"product"']},{name:"itemUnitType",type:"string",dataType:"Char",length:50,default:["itemUnitType",'"product"']},{name:"itemUnit",type:"number",dataType:"Decimal",default:["itemUnit","0"]},{name:"folderID",type:"number",dataType:"BigInt"},{name:"sizeForID",type:"number",dataType:"BigInt"},{name:"variantForID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"vendorID",type:"number",dataType:"BigInt"},{name:"price",type:"number",dataType:"Decimal",default:["price","0"]},{name:"maxPrice",type:"number",dataType:"Decimal",default:["maxPrice","0"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"itemFolder",fkMap:[{fk:"itemFolderID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"fileFolder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"sizeFor",fkMap:[{fk:"sizeForID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"sizes",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"variantFor",fkMap:[{fk:"variantForID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"variants",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"vendor",fkMap:[{fk:"vendorID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"itemCoupons",isCollection:true,isInverse:true,relatedName:"StoreCoupon"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"storeItemPrices",isCollection:true,isInverse:true,relatedName:"StoreItemPrice"},{name:"mediaFiles",isCollection:true,isInverse:true,relatedName:"StoreMediaFile"},{name:"insights",isCollection:true,isInverse:true,relatedName:"StoreInsight"},{name:"applicableTaxes",isCollection:true,isInverse:true,relatedName:"StoreItemTax"},{name:"taxItems",isCollection:true,isInverse:true,relatedName:"StoreItemTax"},{name:"storeItemTags",isCollection:true,isInverse:true,relatedName:"StoreItemTag"}],queries:{storeQuery:"external"}}));modelEntitySchemas["StoreItem"]=StoreItem;_export("StoreCouponTypeArray",StoreCouponTypeArray=[{label:"discount",value:"discount"},{label:"subtract",value:"subtract"}]);_export("StoreCoupon",StoreCoupon=new Model("StoreCoupon",["couponID"],{code:"",active:false,hidden:false,startDate:new DefaultFactory((()=>new DateTime)),dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),exclusive:false,minOrderAmount:0,maxOrderAmount:0,minQuantity:0,maxQuantity:0,amount:0,type:"discount"},{name:"store_coupons",keys:[{name:"couponID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"code",type:"string",dataType:"Char",length:100,default:["code",'""']},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]},{name:"hidden",type:"boolean",dataType:"Boolean",default:["hidden","false"]},{name:"itemID",type:"number",dataType:"BigInt"},{name:"startDate",type:"DateTime",dataType:"DateTime",default:["startDate","new DefaultFactory(() => new DateTime())"]},{name:"endDate",type:"DateTime",dataType:"DateTime",default:["endDate","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"exclusive",type:"boolean",dataType:"Boolean",default:["exclusive","false"]},{name:"minOrderAmount",type:"number",dataType:"Decimal",default:["minOrderAmount","0"]},{name:"maxOrderAmount",type:"number",dataType:"Decimal",default:["maxOrderAmount","0"]},{name:"minQuantity",type:"number",dataType:"Int",default:["minQuantity","0"]},{name:"maxQuantity",type:"number",dataType:"Int",default:["maxQuantity","0"]},{name:"amount",type:"number",dataType:"Int",default:["amount","0"]},{name:"type",type:"string",dataType:"Char",length:50,default:["type",'"discount"']}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"item",fkMap:[{fk:"itemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"orders",isCollection:true,isInverse:true,relatedName:"StoreJournalCoupon"}]}));modelEntitySchemas["StoreCoupon"]=StoreCoupon;_export("StoreJournalCoupon",StoreJournalCoupon=new Model("StoreJournalCoupon",["appliedCouponID"],{couponCode:""},{name:"store_journal_coupons",keys:[{name:"appliedCouponID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"couponID",type:"number",dataType:"BigInt"},{name:"orderID",type:"number",dataType:"BigInt"},{name:"lineItemID",type:"number",dataType:"BigInt"},{name:"couponCode",type:"string",dataType:"Char",length:200,default:["couponCode",'""']}],relations:[{name:"coupon",fkMap:[{fk:"couponID",relatedKey:"couponID"}],relatedName:"StoreCoupon"},{name:"order",fkMap:[{fk:"orderID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"lineItem",fkMap:[{fk:"lineItemID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["StoreJournalCoupon"]=StoreJournalCoupon;_export("StoreItemFolder",StoreItemFolder=new Model("StoreItemFolder",["itemFolderID"],{name:"",path:""},{name:"store_item_folders",keys:[{name:"itemFolderID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"path",type:"string",dataType:"Char",length:400,default:["path",'""']},{name:"parentID",type:"number",dataType:"BigInt"}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"children",isCollection:true,isInverse:true,relatedName:"StoreItemFolder"},{name:"items",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"tags",isCollection:true,isInverse:true,relatedName:"StoreItemFolderTag"}]}));modelEntitySchemas["StoreItemFolder"]=StoreItemFolder;_export("StoreItemFolderTag",StoreItemFolderTag=new Model("StoreItemFolderTag",["itemFolderID","tagID"],{count:0},{name:"store_item_folder_tags",keys:[{name:"itemFolderID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]}],relations:[{name:"itemFolder",fkMap:[{fk:"itemFolderID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["StoreItemFolderTag"]=StoreItemFolderTag;_export("StoreItemPrice",StoreItemPrice=new Model("StoreItemPrice",["priceID"],{startDate:new DefaultFactory((()=>new DateTime)),currency:"",recurring:false,amount:0,maxQuantity:0,taxIncluded:false,taxAmount:0,active:false},{name:"store_item_prices",keys:[{name:"priceID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"startDate",type:"DateTime",dataType:"DateTimeOffset",default:["startDate","new DefaultFactory(() => new DateTime())"]},{name:"endDate",type:"DateTime",dataType:"DateTimeOffset",default:["endDate","new DefaultFactory(() => new DateTime())"]},{name:"currency",type:"string",dataType:"Char",length:5,default:["currency",'""']},{name:"recurring",type:"boolean",dataType:"Boolean",default:["recurring","false"]},{name:"durationDays",type:"number",dataType:"Int",default:["durationDays","0"]},{name:"amount",type:"number",dataType:"Decimal",default:["amount","0"]},{name:"maxAmount",type:"number",dataType:"Decimal",default:["maxAmount","0"]},{name:"maxQuantity",type:"number",dataType:"Decimal",default:["maxQuantity","0"]},{name:"taxIncluded",type:"boolean",dataType:"Boolean",default:["taxIncluded","false"]},{name:"taxAmount",type:"number",dataType:"Decimal",default:["taxAmount","0"]},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"}],queries:{storeQuery:"external"}}));modelEntitySchemas["StoreItemPrice"]=StoreItemPrice;_export("StorePaymentAttempt",StorePaymentAttempt=new Model("StorePaymentAttempt",["attemptID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),success:false,timedout:false},{name:"store_payment_attempt",keys:[{name:"attemptID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"orderID",type:"number",dataType:"BigInt"},{name:"gatewayID",type:"number",dataType:"BigInt"},{name:"externalID",type:"string",dataType:"Char",length:400,default:["externalID",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"success",type:"boolean",dataType:"Boolean",default:["success","false"]},{name:"timedout",type:"boolean",dataType:"Boolean",default:["timedout","false"]}],relations:[{name:"order",fkMap:[{fk:"orderID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"gateway",fkMap:[{fk:"gatewayID",relatedKey:"accountID"}],relatedName:"StorePaymentGateway"}]}));modelEntitySchemas["StorePaymentAttempt"]=StorePaymentAttempt;_export("StoreMediaFile",StoreMediaFile=new Model("StoreMediaFile",["storeItemID","appFileID"],{sortOrder:0,title:"",isPreview:false,isDeleted:false},{name:"store_media_files",keys:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"appFileID",type:"number",dataType:"BigInt"}],properties:[{name:"fileContentID",type:"number",dataType:"BigInt",default:["fileContentID","0"]},{name:"sortOrder",type:"number",dataType:"Int",default:["sortOrder","0"]},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"isPreview",type:"boolean",dataType:"Boolean",default:["isPreview","false"]},{name:"isDeleted",type:"boolean",dataType:"Boolean",default:["isDeleted","false"]},{name:"fileHtmlView",type:"string",dataType:"Char",default:["fileHtmlView",'""']},{name:"fileLink",type:"string",dataType:"Char",default:["fileLink",'""']}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"appFile",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["StoreMediaFile"]=StoreMediaFile;_export("StoreInsight",StoreInsight=new Model("StoreInsight",["insightID"],{name:"",value:0,isPublic:false},{name:"store_insights",keys:[{name:"insightID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"value",type:"number",dataType:"Decimal",default:["value","0"]},{name:"isPublic",type:"boolean",dataType:"Boolean",default:["isPublic","false"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"}]}));modelEntitySchemas["StoreInsight"]=StoreInsight;_export("StoreAccount",StoreAccount=new Model("StoreAccount",["accountID"],{dateCreated:new DefaultFactory((()=>new DateTime)),ledgerType:"",name:"",balance:0},{name:"store_accounts",keys:[{name:"accountID",type:"number",dataType:"BigInt"}],properties:[{name:"path",type:"string",dataType:"Char",length:400,default:["path",'""']},{name:"storeID",type:"number",dataType:"BigInt"},{name:"parentID",type:"number",dataType:"BigInt"},{name:"head",type:"string",dataType:"Char",length:50,default:["head",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ledgerType",type:"string",dataType:"Char",length:50,default:["ledgerType",'""']},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"balance",type:"number",dataType:"Decimal",default:["balance","0"]},{name:"billingAddressID",type:"number",dataType:"BigInt",default:["billingAddressID","0"]},{name:"shippingAddressID",type:"number",dataType:"BigInt",default:["shippingAddressID","0"]}],relations:[{name:"user",fkMap:[{fk:"accountID",relatedKey:"userID"}],relatedName:"User"},{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"children",isCollection:true,isInverse:true,relatedName:"StoreAccount"},{name:"vendorItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"soldInvoices",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"boughtInvoices",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"addresses",isCollection:true,isInverse:true,relatedName:"StoreAccountAddress"},{name:"soldItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"storePaymentGateway",isCollection:false,isInverse:true,relatedName:"StorePaymentGateway"},{name:"emails",isCollection:true,isInverse:true,relatedName:"StoreAccountEmail"},{name:"phones",isCollection:true,isInverse:true,relatedName:"StoreAccountPhone"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreAccount"]=StoreAccount;_export("StoreAccountAddress",StoreAccountAddress=new Model("StoreAccountAddress",["addressID"],{title:"",line1:""},{name:"store_account_addresses",keys:[{name:"addressID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"accountID",type:"number",dataType:"BigInt"},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"line1",type:"string",dataType:"Char",length:400,default:["line1",'""']},{name:"line2",type:"string",dataType:"Char",length:400,default:["line2",'""']},{name:"line3",type:"string",dataType:"Char",length:400,default:["line3",'""']},{name:"city",type:"string",dataType:"Char",length:50,default:["city",'""']},{name:"state",type:"string",dataType:"Char",length:50,default:["state",'""']},{name:"countryCode",type:"string",dataType:"Char",length:5,default:["countryCode",'""']},{name:"phoneNumber",type:"string",dataType:"Char",length:5,default:["phoneNumber",'""']},{name:"incomeTaxID",type:"string",dataType:"Char",length:200,default:["incomeTaxID",'""']},{name:"gstTaxID",type:"string",dataType:"Char",length:200,default:["gstTaxID",'""']},{name:"salesTaxID",type:"string",dataType:"Char",length:200,default:["salesTaxID",'""']},{name:"vatTaxID",type:"string",dataType:"Char",length:200,default:["vatTaxID",'""']},{name:"otherTaxID",type:"string",dataType:"Char",length:200,default:["otherTaxID",'""']},{name:"notes",type:"string",dataType:"Char",length:5,default:["notes",'""']}],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"billedOrders",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"shippedOrders",isCollection:true,isInverse:true,relatedName:"StoreJournal"}]}));modelEntitySchemas["StoreAccountAddress"]=StoreAccountAddress;_export("StoreAccountEmail",StoreAccountEmail=new Model("StoreAccountEmail",["accountID","emailAddressID"],{},{name:"store_account_emails",keys:[{name:"accountID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["StoreAccountEmail"]=StoreAccountEmail;_export("StoreAccountPhone",StoreAccountPhone=new Model("StoreAccountPhone",["accountID","phoneNumberE64"],{},{name:"store_account_phones",keys:[{name:"accountID",type:"number",dataType:"BigInt"},{name:"phoneNumberE64",type:"string",dataType:"Char",length:200}],properties:[{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']}],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"}]}));modelEntitySchemas["StoreAccountPhone"]=StoreAccountPhone;_export("StorePaymentGatewayPaymentGatewayArray",StorePaymentGatewayPaymentGatewayArray=[{label:"paypal",value:"paypal"},{label:"phone-pe",value:"phone-pe"},{label:"stripe",value:"stripe"}]);_export("StorePaymentGateway",StorePaymentGateway=new Model("StorePaymentGateway",["accountID"],{isGatewayActive:false,isDefault:false,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"store_payment_gateways",keys:[{name:"accountID",type:"number",dataType:"BigInt"}],properties:[{name:"paymentGateway",type:"string",dataType:"Char",length:50,default:["paymentGateway",'"paypal"']},{name:"isGatewayActive",type:"boolean",dataType:"Boolean",default:["isGatewayActive","false"]},{name:"isDefault",type:"boolean",dataType:"Boolean",default:["isDefault","false"]},{name:"merchantID",type:"string",dataType:"Char",length:400,default:["merchantID",'""']},{name:"url",type:"string",dataType:"Char",default:["url",'""']},{name:"accessID",type:"string",dataType:"Char",default:["accessID",'""']},{name:"publicKey",type:"string",dataType:"Char",default:["publicKey",'""']},{name:"clientID",type:"string",dataType:"Char",default:["clientID",'""']},{name:"saltIndex",type:"string",dataType:"Char",length:50,default:["saltIndex",'""']},{name:"encryptedSalt",type:"string",dataType:"Char",length:400,default:["encryptedSalt",'""']},{name:"encryptedSecret",type:"string",dataType:"Char",default:["encryptedSecret",'""']},{name:"country",type:"string",dataType:"Char",length:20,default:["country",'""']},{name:"currency",type:"string",dataType:"Char",length:20,default:["currency",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"paymentAttempts",isCollection:true,isInverse:true,relatedName:"StorePaymentAttempt"}]}));modelEntitySchemas["StorePaymentGateway"]=StorePaymentGateway;_export("StoreJournalJournalTypeArray",StoreJournalJournalTypeArray=[{label:"order",value:"order"},{label:"purchase-order",value:"purchase-order"},{label:"sales-invoice",value:"sales-invoice"},{label:"journal",value:"journal"},{label:"purchase-bill",value:"purchase-bill"},{label:"payment",value:"payment"}]);_export("StoreJournalStatusArray",StoreJournalStatusArray=[{label:"new",value:"new"},{label:"paid",value:"paid"},{label:"draft",value:"draft"}]);_export("StoreJournal",StoreJournal=new Model("StoreJournal",["journalID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),journalType:"order",posted:false,status:"new",total:0,balance:0,taxExempt:false},{name:"store_journals",keys:[{name:"journalID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"journalType",type:"string",dataType:"AsciiChar",length:50,default:["journalType",'"order"']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"posted",type:"boolean",dataType:"Boolean",default:["posted","false"]},{name:"status",type:"string",dataType:"Char",length:50,default:["status",'"new"']},{name:"sellerID",type:"number",dataType:"BigInt"},{name:"buyerID",type:"number",dataType:"BigInt"},{name:"buyerBillingAddressID",type:"number",dataType:"BigInt"},{name:"buyerShippingAddressID",type:"number",dataType:"BigInt"},{name:"total",type:"number",dataType:"Decimal",default:["total","0"]},{name:"balance",type:"number",dataType:"Decimal",default:["balance","0"]},{name:"referenceID",type:"number",dataType:"BigInt"},{name:"folderID",type:"number",dataType:"BigInt"},{name:"taxExempt",type:"boolean",dataType:"Boolean",default:["taxExempt","false"]},{name:"taxExemptNotes",type:"string",dataType:"Char",default:["taxExemptNotes",'""']},{name:"taxExemptTaxID",type:"string",dataType:"Char",default:["taxExemptTaxID",'""']}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"seller",fkMap:[{fk:"sellerID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"buyer",fkMap:[{fk:"buyerID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"buyerBillingAddress",fkMap:[{fk:"buyerBillingAddressID",relatedKey:"addressID"}],relatedName:"StoreAccountAddress"},{name:"buyerShippingAddress",fkMap:[{fk:"buyerShippingAddressID",relatedKey:"addressID"}],relatedName:"StoreAccountAddress"},{name:"reference",fkMap:[{fk:"referenceID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"references",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"orderCoupons",isCollection:true,isInverse:true,relatedName:"StoreJournalCoupon"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"paymentAttempts",isCollection:true,isInverse:true,relatedName:"StorePaymentAttempt"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreJournal"]=StoreJournal;_export("StoreJournalEntry",StoreJournalEntry=new Model("StoreJournalEntry",["entryID"],{credit:0,debit:0},{name:"store_journal_entries",keys:[{name:"entryID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"journalID",type:"number",dataType:"BigInt"},{name:"accountID",type:"number",dataType:"BigInt"},{name:"credit",type:"number",dataType:"Decimal",default:["credit","0"]},{name:"debit",type:"number",dataType:"Decimal",default:["debit","0"]},{name:"balance",type:"number",dataType:"Decimal",default:["balance","0"]},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"lineItemID",type:"number",dataType:"BigInt"}],relations:[{name:"journal",fkMap:[{fk:"journalID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"lineItem",fkMap:[{fk:"lineItemID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["StoreJournalEntry"]=StoreJournalEntry;_export("StoreJournalLineItemItemTypeArray",StoreJournalLineItemItemTypeArray=[{label:"product",value:"product"},{label:"e-product",value:"e-product"},{label:"shipping",value:"shipping"},{label:"service",value:"service"},{label:"tax",value:"tax"},{label:"fee",value:"fee"},{label:"commission",value:"commission"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreJournalLineItem",StoreJournalLineItem=new Model("StoreJournalLineItem",["lineItemID"],{price:0,discountPercentage:0,discount:0,priceAfterDiscount:0,couponDiscount:0,quantity:0,amount:0,taxes:0,total:0,inclusive:false,hide:false},{name:"store_journal_line_items",keys:[{name:"lineItemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"journalID",type:"number",dataType:"BigInt"},{name:"itemID",type:"number",dataType:"BigInt"},{name:"itemPriceID",type:"number",dataType:"BigInt"},{name:"price",type:"number",dataType:"Decimal",default:["price","0"]},{name:"discountPercentage",type:"number",dataType:"Decimal",default:["discountPercentage","0"]},{name:"discount",type:"number",dataType:"Decimal",default:["discount","0"]},{name:"priceAfterDiscount",type:"number",dataType:"Decimal",default:["priceAfterDiscount","0"]},{name:"couponDiscount",type:"number",dataType:"Decimal",default:["couponDiscount","0"]},{name:"quantity",type:"number",dataType:"Decimal",default:["quantity","0"]},{name:"amount",type:"number",dataType:"Decimal",default:["amount","0"]},{name:"taxes",type:"number",dataType:"Decimal",default:["taxes","0"]},{name:"total",type:"number",dataType:"Decimal",default:["total","0"]},{name:"inclusive",type:"boolean",dataType:"Boolean",default:["inclusive","false"]},{name:"itemType",type:"string",dataType:"Char",length:50,default:["itemType",'"product"']},{name:"hide",type:"boolean",dataType:"Boolean",default:["hide","false"]},{name:"vendorID",type:"number",dataType:"BigInt"},{name:"sourceID",type:"number",dataType:"BigInt"},{name:"taxForID",type:"number",dataType:"BigInt"}],relations:[{name:"journal",fkMap:[{fk:"journalID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"item",fkMap:[{fk:"itemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"itemPrice",fkMap:[{fk:"itemPriceID",relatedKey:"priceID"}],relatedName:"StoreItemPrice"},{name:"vendor",fkMap:[{fk:"vendorID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"source",fkMap:[{fk:"sourceID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"},{name:"relatedItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"taxFor",fkMap:[{fk:"taxForID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"},{name:"taxLineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"coupons",isCollection:true,isInverse:true,relatedName:"StoreJournalCoupon"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreJournalLineItem"]=StoreJournalLineItem;_export("StoreItemTax",StoreItemTax=new Model("StoreItemTax",["storeItemID","taxItemID"],{inclusive:false,print:false},{name:"store_item_taxes",keys:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"taxItemID",type:"number",dataType:"BigInt"}],properties:[{name:"inclusive",type:"boolean",dataType:"Boolean",default:["inclusive","false"]},{name:"print",type:"boolean",dataType:"Boolean",default:["print","false"]}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"taxItem",fkMap:[{fk:"taxItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"}]}));modelEntitySchemas["StoreItemTax"]=StoreItemTax;_export("StoreTag",StoreTag=new Model("StoreTag",["storeID","tagID"],{count:0},{name:"store_tags",keys:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}],queries:{storeQuery:"external"}}));modelEntitySchemas["StoreTag"]=StoreTag;_export("StoreItemTag",StoreItemTag=new Model("StoreItemTag",["storeItemID","tagID"],{sortOrder:0},{name:"store_item_tags",keys:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"sortOrder",type:"number",dataType:"Int",default:["sortOrder","0"]},{name:"tagValue",type:"string",dataType:"Char",default:["tagValue",'""']}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["StoreItemTag"]=StoreItemTag;_export("UserStatusArray",UserStatusArray=[{label:"active",value:"active"},{label:"blocked",value:"blocked"},{label:"locked",value:"locked"},{label:"change-password",value:"change-password"},{label:"external",value:"external"}]);_export("User",User=new Model("User",["userID"],{userName:"",displayName:"",status:"active",isExternal:false,multiFactor:false,dateUpdated:new DefaultFactory((()=>new DateTime)),storage:0,maxStorage:0,maxWebSites:0,maxExternalInboxes:0,maxChildUsers:0,isGroup:false},{name:"users",keys:[{name:"userID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userName",type:"string",dataType:"Char",length:200,default:["userName",'""']},{name:"displayName",type:"string",dataType:"Char",length:200,default:["displayName",'""']},{name:"passwordHash",type:"string",dataType:"Char",default:["passwordHash",'""']},{name:"passwordSalt",type:"string",dataType:"Char",length:20,default:["passwordSalt",'""']},{name:"externalUID",type:"string",dataType:"Char",length:400,default:["externalUID",'""']},{name:"status",type:"string",dataType:"AsciiChar",length:15,default:["status",'"active"']},{name:"isExternal",type:"boolean",dataType:"Boolean",default:["isExternal","false"]},{name:"multiFactor",type:"boolean",dataType:"Boolean",default:["multiFactor","false"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"storage",type:"number",dataType:"BigInt",default:["storage","0"]},{name:"uniquePhoneNumber",type:"string",dataType:"Char",length:20,default:["uniquePhoneNumber",'""']},{name:"contactEmail",type:"string",dataType:"Char",length:200,default:["contactEmail",'""']},{name:"maxStorage",type:"number",dataType:"BigInt",default:["maxStorage","0"]},{name:"maxWebSites",type:"number",dataType:"BigInt",default:["maxWebSites","0"]},{name:"maxExternalInboxes",type:"number",dataType:"BigInt",default:["maxExternalInboxes","0"]},{name:"maxChildUsers",type:"number",dataType:"BigInt",default:["maxChildUsers","0"]},{name:"parentID",type:"number",dataType:"BigInt"},{name:"isGroup",type:"boolean",dataType:"Boolean",default:["isGroup","false"]}],relations:[{name:"parent",fkMap:[{fk:"parentID",relatedKey:"userID"}],relatedName:"User"},{name:"children",isCollection:true,isInverse:true,relatedName:"User"},{name:"createdFiles",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"sentEmails",isCollection:true,isInverse:true,relatedName:"Email"},{name:"appPasswords",isCollection:true,isInverse:true,relatedName:"AppPassword"},{name:"storeAccount",isCollection:false,isInverse:true,relatedName:"StoreAccount"},{name:"accessTokens",isCollection:true,isInverse:true,relatedName:"AccessToken"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"sessions",isCollection:true,isInverse:true,relatedName:"LoginSession"},{name:"fileAccessList",isCollection:true,isInverse:true,relatedName:"AppFileAccess"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"domainUsers",isCollection:true,isInverse:true,relatedName:"DomainUser"},{name:"hostedZones",isCollection:true,isInverse:true,relatedName:"HostedZoneUser"},{name:"groups",isCollection:true,isInverse:true,relatedName:"UserGroupMember"},{name:"groupMembers",isCollection:true,isInverse:true,relatedName:"UserGroupMember"},{name:"pins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"userPushSubscriptions",isCollection:true,isInverse:true,relatedName:"UserPushSubscription"},{name:"roles",isCollection:true,isInverse:true,relatedName:"UserRole"},{name:"userMailboxes",isCollection:true,isInverse:true,relatedName:"UserMailbox"},{name:"authFactors",isCollection:true,isInverse:true,relatedName:"UserAuthFactor"},{name:"publishedWebSiteVersions",isCollection:true,isInverse:true,relatedName:"WebSiteVersion"}],actions:{createWebSite:"external"}}));modelEntitySchemas["User"]=User;_export("UserGroupMember",UserGroupMember=new Model("UserGroupMember",["ownerID","groupID"],{},{name:"user_group_members",keys:[{name:"ownerID",type:"number",dataType:"BigInt"},{name:"groupID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"owner",fkMap:[{fk:"ownerID",relatedKey:"userID"}],relatedName:"User"},{name:"group",fkMap:[{fk:"groupID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["UserGroupMember"]=UserGroupMember;_export("UserPin",UserPin=new Model("UserPin",["pinID"],{},{name:"user_pins",keys:[{name:"pinID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"appFileID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"file",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["UserPin"]=UserPin;_export("UserPushSubscription",UserPushSubscription=new Model("UserPushSubscription",["subscriptionID"],{notify:false},{name:"user_push_subscriptions",keys:[{name:"subscriptionID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt",default:["mailboxID","0"]},{name:"emailAddressID",type:"number",dataType:"BigInt",default:["emailAddressID","0"]},{name:"notify",type:"boolean",dataType:"Boolean",default:["notify","false"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["UserPushSubscription"]=UserPushSubscription;_export("UserRole",UserRole=new Model("UserRole",["userID","roleName"],{},{name:"user_roles",keys:[{name:"userID",type:"number",dataType:"BigInt"},{name:"roleName",type:"string",dataType:"Char",length:200}],properties:[],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"role",fkMap:[{fk:"roleName",relatedKey:"roleName"}],relatedName:"AppRole"}]}));modelEntitySchemas["UserRole"]=UserRole;_export("UserMailbox",UserMailbox=new Model("UserMailbox",["userID","mailboxID"],{},{name:"user_mailboxes",keys:[{name:"userID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["UserMailbox"]=UserMailbox;_export("UserAuthFactorMethodArray",UserAuthFactorMethodArray=[{label:"totp",value:"totp"},{label:"hotp",value:"hotp"},{label:"fido2",value:"fido2"},{label:"one-time",value:"one-time"},{label:"otp",value:"otp"},{label:"otp-in",value:"otp-in"},{label:"sms-to-user",value:"sms-to-user"}]);_export("UserAuthFactor",UserAuthFactor=new Model("UserAuthFactor",["authFactorID"],{method:"totp",verified:false,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"user_auth_factor",keys:[{name:"authFactorID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"method",type:"string",dataType:"Char",length:20,default:["method",'"totp"']},{name:"secret",type:"string",dataType:"Char",default:["secret",'""']},{name:"hint",type:"string",dataType:"Char",length:100,default:["hint",'""']},{name:"phoneNumber",type:"string",dataType:"Char",length:20,default:["phoneNumber",'""']},{name:"isdCode",type:"string",dataType:"Char",length:20,default:["isdCode",'""']},{name:"verificationID",type:"number",dataType:"BigInt"},{name:"verified",type:"boolean",dataType:"Boolean",default:["verified","false"]},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"verificationToken",fkMap:[{fk:"verificationID",relatedKey:"verificationID"}],relatedName:"VerificationToken"}]}));modelEntitySchemas["UserAuthFactor"]=UserAuthFactor;_export("WebSite",WebSite=new Model("WebSite",["folderID"],{isStatic:false,isTemplate:false,isDesign:false,templateSites:0,templateRank:0,storeEnabled:false,isModified:false,snapshotStorage:0,currency:""},{name:"web_sites",keys:[{name:"folderID",type:"number",dataType:"BigInt"}],properties:[{name:"currentVersionID",type:"number",dataType:"BigInt"},{name:"isStatic",type:"boolean",dataType:"Boolean",default:["isStatic","false"]},{name:"isTemplate",type:"boolean",dataType:"Boolean",default:["isTemplate","false"]},{name:"isDesign",type:"boolean",dataType:"Boolean",default:["isDesign","false"]},{name:"templateSites",type:"number",dataType:"Int",default:["templateSites","0"]},{name:"templateRank",type:"number",dataType:"Int",default:["templateRank","0"]},{name:"remoteUrl",type:"string",dataType:"Char",length:1024,default:["remoteUrl",'""']},{name:"title",type:"string",dataType:"Char",length:200,default:["title",'""']},{name:"storeEnabled",type:"boolean",dataType:"Boolean",default:["storeEnabled","false"]},{name:"description",type:"string",dataType:"Char",length:450,default:["description",'""']},{name:"isModified",type:"boolean",dataType:"Boolean",default:["isModified","false"]},{name:"snapshotStorage",type:"number",dataType:"BigInt",default:["snapshotStorage","0"]},{name:"supportEmail",type:"string",dataType:"Char",length:200,default:["supportEmail",'""']},{name:"fromEmail",type:"string",dataType:"Char",length:200,default:["fromEmail",'""']},{name:"currency",type:"string",dataType:"Char",length:10,default:["currency",'""']}],relations:[{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"currentVersion",fkMap:[{fk:"currentVersionID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"storeItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"itemFolders",isCollection:true,isInverse:true,relatedName:"StoreItemFolder"},{name:"storeAccounts",isCollection:true,isInverse:true,relatedName:"StoreAccount"},{name:"activities",isCollection:true,isInverse:true,relatedName:"ServerActivity"},{name:"configs",isCollection:true,isInverse:true,relatedName:"StoreConfig"},{name:"coupons",isCollection:true,isInverse:true,relatedName:"StoreCoupon"},{name:"journals",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"insights",isCollection:true,isInverse:true,relatedName:"StoreInsight"},{name:"tags",isCollection:true,isInverse:true,relatedName:"StoreTag"},{name:"hosts",isCollection:true,isInverse:true,relatedName:"WebSiteHost"},{name:"versions",isCollection:true,isInverse:true,relatedName:"WebSiteVersion"},{name:"channelDomains",isCollection:true,isInverse:true,relatedName:"WebSiteChannelDomain"},{name:"channels",isCollection:true,isInverse:true,relatedName:"WebSiteChannel"},{name:"webSiteTags",isCollection:true,isInverse:true,relatedName:"WebSiteTag"}],queries:{templates:"external"},actions:{deleteSite:"external"}}));modelEntitySchemas["WebSite"]=WebSite;_export("WebSiteHost",WebSiteHost=new Model("WebSiteHost",["host"],{},{name:"web_site_hosts",keys:[{name:"host",type:"string",dataType:"Char",length:200}],properties:[{name:"folderID",type:"number",dataType:"BigInt"}],relations:[{name:"folder",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"}]}));modelEntitySchemas["WebSiteHost"]=WebSiteHost;_export("WebSiteVersion",WebSiteVersion=new Model("WebSiteVersion",["folderID","snapshotFolderID"],{dateCreated:new DefaultFactory((()=>new DateTime)),name:""},{name:"web_site_versions",keys:[{name:"folderID",type:"number",dataType:"BigInt"},{name:"snapshotFolderID",type:"number",dataType:"BigInt"}],properties:[{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"authorID",type:"number",dataType:"BigInt"}],relations:[{name:"websiteFolder",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"snapshotFolder",fkMap:[{fk:"snapshotFolderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"author",fkMap:[{fk:"authorID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["WebSiteVersion"]=WebSiteVersion;_export("WebSiteChannelDomain",WebSiteChannelDomain=new Model("WebSiteChannelDomain",["folderID","domainID"],{},{name:"web_site_channel_domains",keys:[{name:"folderID",type:"number",dataType:"BigInt"},{name:"domainID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"website",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["WebSiteChannelDomain"]=WebSiteChannelDomain;_export("WebSiteChannel",WebSiteChannel=new Model("WebSiteChannel",["folderID","channelID"],{},{name:"web_site_channels",keys:[{name:"folderID",type:"number",dataType:"BigInt"},{name:"channelID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"website",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"channel",fkMap:[{fk:"channelID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["WebSiteChannel"]=WebSiteChannel;_export("WebSiteTag",WebSiteTag=new Model("WebSiteTag",["webSiteID","tagID"],{},{name:"web_site_tags",keys:[{name:"webSiteID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"webSite",fkMap:[{fk:"webSiteID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["WebSiteTag"]=WebSiteTag;_export("LoginSessionDeviceTokenTypeArray",LoginSessionDeviceTokenTypeArray=[{label:"WebPush",value:"WebPush"},{label:"fcm",value:"fcm"},{label:"apn",value:"apn"}]);_export("LoginSession",LoginSession=new Model("LoginSession",["sessionID"],{invalid:false,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"login_sessions",keys:[{name:"sessionID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"start",type:"DateTime",dataType:"DateTimeOffset",default:["start","new DefaultFactory(() => new DateTime())"]},{name:"expiry",type:"DateTime",dataType:"DateTimeOffset",default:["expiry","new DefaultFactory(() => new DateTime())"]},{name:"invalid",type:"boolean",dataType:"Boolean",default:["invalid","false"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",dataType:"AsciiChar",length:20,default:["status",'""']},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"deviceToken",type:"string",dataType:"AsciiChar",default:["deviceToken",'""']},{name:"deviceTokenType",type:"string",dataType:"AsciiChar",length:50,default:["deviceTokenType",'"WebPush"']},{name:"verificationID",type:"number",dataType:"BigInt"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"verificationToken",fkMap:[{fk:"verificationID",relatedKey:"verificationID"}],relatedName:"VerificationToken"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"}],queries:{currentUser:"external"},actions:{updateDeviceToken:"external"}}));modelEntitySchemas["LoginSession"]=LoginSession;_export("TextDocument",TextDocument=new Model("TextDocument",["textDocumentID"],{searchable:""},{name:"text_documents",keys:[{name:"textDocumentID",type:"number",dataType:"BigInt"}],properties:[{name:"searchable",type:"string",dataType:"Char",default:["searchable",'""']}],relations:[{name:"fileContent",fkMap:[{fk:"textDocumentID",relatedKey:"fileContentID"}],relatedName:"FileContent"}]}));modelEntitySchemas["TextDocument"]=TextDocument;_export("IncomingSmsSource",IncomingSmsSource=new Model("IncomingSmsSource",["textInSourceID"],{name:"",isdPrefix:"",phoneNumber:"",dateUpdated:new DefaultFactory((()=>new DateTime)),countryCode:""},{name:"incoming_sms_source",keys:[{name:"textInSourceID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:100,default:["name",'""']},{name:"username",type:"string",dataType:"Char",default:["username",'""']},{name:"encryptedPassword",type:"string",dataType:"Char",default:["encryptedPassword",'""']},{name:"isdPrefix",type:"string",dataType:"Char",default:["isdPrefix",'""']},{name:"keyword",type:"string",dataType:"Char",default:["keyword",'""']},{name:"phoneNumber",type:"string",dataType:"Char",default:["phoneNumber",'""']},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"countryCode",type:"string",dataType:"Char",length:20,default:["countryCode",'""']}],relations:[]}));modelEntitySchemas["IncomingSmsSource"]=IncomingSmsSource;_export("VerificationTokenTypeArray",VerificationTokenTypeArray=[{label:"email",value:"email"},{label:"sms",value:"sms"},{label:"captcha",value:"captcha"},{label:"totp",value:"totp"},{label:"sms-to-user",value:"sms-to-user"}]);_export("VerificationToken",VerificationToken=new Model("VerificationToken",["verificationID"],{dateCreated:new DefaultFactory((()=>new DateTime)),expiry:new DefaultFactory((()=>new DateTime)),verified:false,accessCode:"",attempt:0,type:"email"},{name:"verification_tokens",keys:[{name:"verificationID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"externalID",type:"string",dataType:"Char",length:200,default:["externalID",'""']},{name:"userID",type:"number",dataType:"BigInt",default:["userID","0"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"expiry",type:"DateTime",dataType:"DateTimeOffset",default:["expiry","new DefaultFactory(() => new DateTime())"]},{name:"email",type:"string",dataType:"Char",length:200,default:["email",'""']},{name:"phone",type:"string",dataType:"Char",length:20,default:["phone",'""']},{name:"verified",type:"boolean",dataType:"Boolean",default:["verified","false"]},{name:"code",type:"string",dataType:"Char",length:20,default:["code",'""']},{name:"accessCode",type:"string",dataType:"Char",length:50,default:["accessCode",'""']},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"attempt",type:"number",dataType:"Int",default:["attempt","0"]},{name:"externalConfig",type:"string",dataType:"Char",default:["externalConfig",'""']},{name:"type",type:"string",dataType:"AsciiChar",length:50,default:["type",'"email"']},{name:"webSiteFolderID",type:"number",dataType:"BigInt",default:["webSiteFolderID","0"]}],relations:[{name:"loginSessions",isCollection:true,isInverse:true,relatedName:"LoginSession"},{name:"authFactors",isCollection:true,isInverse:true,relatedName:"UserAuthFactor"},{name:"addresses",isCollection:true,isInverse:true,relatedName:"VerificationTokenAddress"}],actions:{updatePhone:"external",resendPhone:"external",verifyPhone:"external",resendCode:"external",verifyCode:"external",login:"external",getCaptchaGif:"external"}}));modelEntitySchemas["VerificationToken"]=VerificationToken;_export("VerificationTokenAddress",VerificationTokenAddress=new Model("VerificationTokenAddress",["verificationID","address"],{},{name:"verification_token_addresses",keys:[{name:"verificationID",type:"number",dataType:"BigInt"},{name:"address",type:"string",dataType:"Char",length:200}],properties:[{name:"displayAddress",type:"string",dataType:"Char",length:200,default:["displayAddress",'""']}],relations:[{name:"verificationToken",fkMap:[{fk:"verificationID",relatedKey:"verificationID"}],relatedName:"VerificationToken"}]}));modelEntitySchemas["VerificationTokenAddress"]=VerificationTokenAddress;_export("EmailAddressName",EmailAddressName=new Model("EmailAddressName",["nameTokenID","emailAddressID"],{},{name:"email_address_names",keys:[{name:"nameTokenID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"nameToken",fkMap:[{fk:"nameTokenID",relatedKey:"nameTokenID"}],relatedName:"NameToken"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["EmailAddressName"]=EmailAddressName;_export("ThreadParticipant",ThreadParticipant=new Model("ThreadParticipant",["emailID","emailAddressID"],{unsubscribed:false},{name:"thread_participants",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[{name:"unsubscribed",type:"boolean",dataType:"Boolean",default:["unsubscribed","false"]}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["ThreadParticipant"]=ThreadParticipant;_export("Tag",Tag=new Model("Tag",["tagID"],{name:"",label:"",isSystemTag:false},{name:"tags",keys:[{name:"tagID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"label",type:"string",dataType:"Char",length:200,default:["label",'""']},{name:"lowerCaseName",type:"string",generated:"computed",dataType:"Char",length:200},{name:"path",type:"string",dataType:"AsciiChar",length:400,default:["path",'""']},{name:"isSystemTag",type:"boolean",dataType:"Boolean",default:["isSystemTag","false"]},{name:"contentTypes",type:"string",dataType:"Char",default:["contentTypes",'""']},{name:"parentID",type:"number",dataType:"BigInt"}],relations:[{name:"parent",fkMap:[{fk:"parentID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"children",isCollection:true,isInverse:true,relatedName:"Tag"},{name:"fileTags",isCollection:true,isInverse:true,relatedName:"AppFileTag"},{name:"emailTags",isCollection:true,isInverse:true,relatedName:"EmailTag"},{name:"mailboxFolders",isCollection:true,isInverse:true,relatedName:"MailboxFolder"},{name:"mailboxContactTags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"},{name:"mailboxTags",isCollection:true,isInverse:true,relatedName:"MailboxTag"},{name:"storeItemFolderTags",isCollection:true,isInverse:true,relatedName:"StoreItemFolderTag"},{name:"storeTags",isCollection:true,isInverse:true,relatedName:"StoreTag"},{name:"storeItemTags",isCollection:true,isInverse:true,relatedName:"StoreItemTag"},{name:"webSiteTags",isCollection:true,isInverse:true,relatedName:"WebSiteTag"}]}));modelEntitySchemas["Tag"]=Tag;_export("AppTempFile",AppTempFile=new Model("AppTempFile",["tempFileID"],{path:"",name:"",contentType:"",isFolder:false,fileSize:0,dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_temp_files",keys:[{name:"tempFileID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"path",type:"string",dataType:"Char",length:900,default:["path",'""']},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"contentType",type:"string",dataType:"Char",length:200,default:["contentType",'""']},{name:"isFolder",type:"boolean",dataType:"Boolean",default:["isFolder","false"]},{name:"fileSize",type:"number",dataType:"BigInt",default:["fileSize","0"]},{name:"rootID",type:"number",dataType:"BigInt"},{name:"fileContentID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"root",fkMap:[{fk:"rootID",relatedKey:"tempFileID"}],relatedName:"AppTempFile"},{name:"descendants",isCollection:true,isInverse:true,relatedName:"AppTempFile"},{name:"fileContent",fkMap:[{fk:"fileContentID",relatedKey:"fileContentID"}],relatedName:"FileContent"}]}));modelEntitySchemas["AppTempFile"]=AppTempFile;fixRelatedSchemas=schema=>{for(const key in schema){if(Object.prototype.hasOwnProperty.call(schema,key)){const element=schema[key];if(!element.name){continue}const{relations}=element.schema;if(!relations){continue}for(const iterator of relations){iterator.relatedModel=schema[iterator.relatedName]}}}};fixRelatedSchemas(modelEntitySchemas)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/cache/CacheTTL");System.register([],(function(_export,_context){"use strict";var CacheTTL;return{setters:[],execute:function(){_export("CacheTTL",CacheTTL={seconds:{oneHour:60*60,oneDay:60*60*24,oneMonth:60*60*24*30,fifteenMinutes:15*60}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/WatchProperty");System.register(["./AtomBinder","./AtomWatcher"],(function(_export,_context){"use strict";var AtomBinder,AtomWatcher;function WatchProperty(target,key,descriptor){const{get}=descriptor;const isSetup=Symbol.for(`isSetup${key}`);return{get:function(){const watcher=new AtomWatcher(this,get,(()=>{AtomBinder.refreshValue(this,key)}),this);watcher.init(false);this.registerDisposable(watcher);this[isSetup]=watcher;Object.defineProperty(this,key,descriptor);return get.apply(this)},configurable:true}}_export("default",WatchProperty);return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder},function(_AtomWatcher){AtomWatcher=_AtomWatcher.AtomWatcher}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Colors");System.register([],(function(_export,_context){"use strict";var ColorItem,Colors;function toFixedString(t){return("0"+t.toString(16)).slice(-2)}_export("ColorItem",void 0);return{setters:[],execute:function(){_export("ColorItem",ColorItem=class ColorItem{constructor(colorCodeOrRed,namedColorOrGreen,blue,alpha){if(typeof colorCodeOrRed==="string"){this.colorCode=colorCodeOrRed;if(typeof namedColorOrGreen==="string"){this.namedColor=namedColorOrGreen}const r=ColorItem.parseRgb(this.colorCode);this.red=r.red;this.green=r.green;this.blue=r.blue;this.alpha=r.alpha}else{this.red=colorCodeOrRed;if(typeof namedColorOrGreen==="number"){this.green=namedColorOrGreen}this.blue=blue;this.alpha=alpha;this.colorCode=ColorItem.rgb(this.red,this.green,this.blue,this.alpha)}}toString(){return this.colorCode}withAlphaPercent(a){return new ColorItem(this.red,this.green,this.blue,a)}static parseRgb(rgba){if(/^\#/.test(rgba)){rgba=rgba.substr(1);if(rgba.length===3){rgba=rgba.split("").map((x=>x+x)).join("")}const red=Number.parseInt(rgba[0]+rgba[1],16);const green=Number.parseInt(rgba[2]+rgba[3],16);const blue=Number.parseInt(rgba[4]+rgba[5],16);if(rgba.length>6){const alpha=Number.parseInt(rgba[6]+rgba[7],16);return{red,green,blue,alpha}}return{red,green,blue}}if(/^rgba/i.test(rgba)){rgba=rgba.substr(5);rgba=rgba.substr(0,rgba.length-1);const a=rgba.split(",").map(((x,i)=>i===3?Number.parseFloat(x):Number.parseInt(x,10)));return{red:a[0],green:a[1],blue:a[2],alpha:a[3]}}if(/^rgb/i.test(rgba)){rgba=rgba.substr(4);rgba=rgba.substr(0,rgba.length-1);const a=rgba.split(",").map((x=>Number.parseInt(x,10)));return{red:a[0],green:a[1],blue:a[2]}}throw new Error("Unknown color format "+rgba)}static rgb(r,g,b,a){if(a!==undefined){return`rgba(${r},${g},${b},${a})`}return"#"+toFixedString(r)+toFixedString(g)+toFixedString(b)}});Colors=class Colors{static rgba(red,green,blue,alpha){return new ColorItem(red,green,blue,alpha)}static parse(color){if(!color){return null}color=color.toLowerCase();for(const key in Colors){if(Colors.hasOwnProperty(key)){const element=Colors[key];if(element instanceof ColorItem){const ci=element;if(ci.namedColor===color){return ci}}}}if(/^(\#|rgb\(|rgba\()/i.test(color)){return new ColorItem(color)}throw new Error("Invalid color format "+color)}};Colors.black=new ColorItem("#000000","black");Colors.silver=new ColorItem("#c0c0c0","silver");Colors.gray=new ColorItem("#808080","gray");Colors.white=new ColorItem("#ffffff","white");Colors.maroon=new ColorItem("#800000","maroon");Colors.red=new ColorItem("#ff0000","red");Colors.purple=new ColorItem("#800080","purple");Colors.fuchsia=new ColorItem("#ff00ff","fuchsia");Colors.green=new ColorItem("#008000","green");Colors.lime=new ColorItem("#00ff00","lime");Colors.olive=new ColorItem("#808000","olive");Colors.yellow=new ColorItem("#ffff00","yellow");Colors.navy=new ColorItem("#000080","navy");Colors.blue=new ColorItem("#0000ff","blue");Colors.teal=new ColorItem("#008080","teal");Colors.aqua=new ColorItem("#00ffff","aqua");Colors.orange=new ColorItem("#ffa500","orange");Colors.aliceBlue=new ColorItem("#f0f8ff","aliceblue");Colors.antiqueWhite=new ColorItem("#faebd7","antiquewhite");Colors.aquaMarine=new ColorItem("#7fffd4","aquamarine");Colors.azure=new ColorItem("#f0ffff","azure");Colors.beige=new ColorItem("#f5f5dc","beige");Colors.bisque=new ColorItem("#ffe4c4","bisque");Colors.blanchedAlmond=new ColorItem("#ffebcd","blanchedalmond");Colors.blueViolet=new ColorItem("#8a2be2","blueviolet");Colors.brown=new ColorItem("#a52a2a","brown");Colors.burlyWood=new ColorItem("#deb887","burlywood");Colors.cadetBlue=new ColorItem("#5f9ea0","cadetblue");Colors.chartReuse=new ColorItem("#7fff00","chartreuse");Colors.chocolate=new ColorItem("#d2691e","chocolate");Colors.coral=new ColorItem("#ff7f50","coral");Colors.cornFlowerBlue=new ColorItem("#6495ed","cornflowerblue");Colors.cornSilk=new ColorItem("#fff8dc","cornsilk");Colors.crimson=new ColorItem("#dc143c","crimson");Colors.cyan=new ColorItem("#00ffff","cyan");Colors.darkBlue=new ColorItem("#00008b","darkblue");Colors.darkCyan=new ColorItem("#008b8b","darkcyan");Colors.darkGoldenRod=new ColorItem("#b8860b","darkgoldenrod");Colors.darkGray=new ColorItem("#a9a9a9","darkgray");Colors.darkGreen=new ColorItem("#006400","darkgreen");Colors.darkGrey=new ColorItem("#a9a9a9","darkgrey");Colors.darkKhaki=new ColorItem("#bdb76b","darkkhaki");Colors.darkMagenta=new ColorItem("#8b008b","darkmagenta");Colors.darkOliveGreen=new ColorItem("#556b2f","darkolivegreen");Colors.darkOrange=new ColorItem("#ff8c00","darkorange");Colors.darkOrchid=new ColorItem("#9932cc","darkorchid");Colors.darkRed=new ColorItem("#8b0000","darkred");Colors.darkSalmon=new ColorItem("#e9967a","darksalmon");Colors.darkSeaGreen=new ColorItem("#8fbc8f","darkseagreen");Colors.darkSlateBlue=new ColorItem("#483d8b","darkslateblue");Colors.darkSlateGray=new ColorItem("#2f4f4f","darkslategray");Colors.darkSlateGrey=new ColorItem("#2f4f4f","darkslategrey");Colors.darkTurquoise=new ColorItem("#00ced1","darkturquoise");Colors.darkViolet=new ColorItem("#9400d3","darkviolet");Colors.deepPink=new ColorItem("#ff1493","deeppink");Colors.deepSkyBlue=new ColorItem("#00bfff","deepskyblue");Colors.dimGray=new ColorItem("#696969","dimgray");Colors.dimGrey=new ColorItem("#696969","dimgrey");Colors.dodgerBlue=new ColorItem("#1e90ff","dodgerblue");Colors.fireBrick=new ColorItem("#b22222","firebrick");Colors.floralWhite=new ColorItem("#fffaf0","floralwhite");Colors.forestGreen=new ColorItem("#228b22","forestgreen");Colors.gainsboro=new ColorItem("#dcdcdc","gainsboro");Colors.ghostWhite=new ColorItem("#f8f8ff","ghostwhite");Colors.gold=new ColorItem("#ffd700","gold");Colors.goldenRod=new ColorItem("#daa520","goldenrod");Colors.greenYellow=new ColorItem("#adff2f","greenyellow");Colors.grey=new ColorItem("#808080","grey");Colors.honeyDew=new ColorItem("#f0fff0","honeydew");Colors.hotPink=new ColorItem("#ff69b4","hotpink");Colors.indianRed=new ColorItem("#cd5c5c","indianred");Colors.indigo=new ColorItem("#4b0082","indigo");Colors.ivory=new ColorItem("#fffff0","ivory");Colors.khaki=new ColorItem("#f0e68c","khaki");Colors.lavender=new ColorItem("#e6e6fa","lavender");Colors.lavenderBlush=new ColorItem("#fff0f5","lavenderblush");Colors.lawnGreen=new ColorItem("#7cfc00","lawngreen");Colors.lemonChiffon=new ColorItem("#fffacd","lemonchiffon");Colors.lightBlue=new ColorItem("#add8e6","lightblue");Colors.lightCoral=new ColorItem("#f08080","lightcoral");Colors.lightCyan=new ColorItem("#e0ffff","lightcyan");Colors.lightGoldenRodYellow=new ColorItem("#fafad2","lightgoldenrodyellow");Colors.lightGray=new ColorItem("#d3d3d3","lightgray");Colors.lightGreen=new ColorItem("#90ee90","lightgreen");Colors.lightGrey=new ColorItem("#d3d3d3","lightgrey");Colors.lightPink=new ColorItem("#ffb6c1","lightpink");Colors.lightSalmon=new ColorItem("#ffa07a","lightsalmon");Colors.lightSeaGreen=new ColorItem("#20b2aa","lightseagreen");Colors.lightSkyBlue=new ColorItem("#87cefa","lightskyblue");Colors.lightSlateGray=new ColorItem("#778899","lightslategray");Colors.lightSlateGrey=new ColorItem("#778899","lightslategrey");Colors.lightSteelBlue=new ColorItem("#b0c4de","lightsteelblue");Colors.lightYellow=new ColorItem("#ffffe0","lightyellow");Colors.limeGreen=new ColorItem("#32cd32","limegreen");Colors.linen=new ColorItem("#faf0e6","linen");Colors.magenta=new ColorItem("#ff00ff","magenta");Colors.mediumAquaMarine=new ColorItem("#66cdaa","mediumaquamarine");Colors.mediumBlue=new ColorItem("#0000cd","mediumblue");Colors.mediumOrchid=new ColorItem("#ba55d3","mediumorchid");Colors.mediumPurple=new ColorItem("#9370db","mediumpurple");Colors.mediumSeaGreen=new ColorItem("#3cb371","mediumseagreen");Colors.mediumSlateBlue=new ColorItem("#7b68ee","mediumslateblue");Colors.mediumSpringGreen=new ColorItem("#00fa9a","mediumspringgreen");Colors.mediumTurquoise=new ColorItem("#48d1cc","mediumturquoise");Colors.mediumVioletred=new ColorItem("#c71585","mediumvioletred");Colors.midNightBlue=new ColorItem("#191970","midnightblue");Colors.mintCream=new ColorItem("#f5fffa","mintcream");Colors.mistyRose=new ColorItem("#ffe4e1","mistyrose");Colors.moccasin=new ColorItem("#ffe4b5","moccasin");Colors.navajoWhite=new ColorItem("#ffdead","navajowhite");Colors.oldLace=new ColorItem("#fdf5e6","oldlace");Colors.oliveDrab=new ColorItem("#6b8e23","olivedrab");Colors.orangeRed=new ColorItem("#ff4500","orangered");Colors.orchid=new ColorItem("#da70d6","orchid");Colors.paleGoldenRod=new ColorItem("#eee8aa","palegoldenrod");Colors.paleGreen=new ColorItem("#98fb98","palegreen");Colors.paleTurquoise=new ColorItem("#afeeee","paleturquoise");Colors.paleVioletRed=new ColorItem("#db7093","palevioletred");Colors.papayaWhip=new ColorItem("#ffefd5","papayawhip");Colors.peachPuff=new ColorItem("#ffdab9","peachpuff");Colors.peru=new ColorItem("#cd853f","peru");Colors.pink=new ColorItem("#ffc0cb","pink");Colors.plum=new ColorItem("#dda0dd","plum");Colors.powderBlue=new ColorItem("#b0e0e6","powderblue");Colors.rosyBrown=new ColorItem("#bc8f8f","rosybrown");Colors.royalBlue=new ColorItem("#4169e1","royalblue");Colors.saddleBrown=new ColorItem("#8b4513","saddlebrown");Colors.salmon=new ColorItem("#fa8072","salmon");Colors.sandyBrown=new ColorItem("#f4a460","sandybrown");Colors.seaGreen=new ColorItem("#2e8b57","seagreen");Colors.seaShell=new ColorItem("#fff5ee","seashell");Colors.sienna=new ColorItem("#a0522d","sienna");Colors.skyBlue=new ColorItem("#87ceeb","skyblue");Colors.slateBlue=new ColorItem("#6a5acd","slateblue");Colors.slateGray=new ColorItem("#708090","slategray");Colors.slateGrey=new ColorItem("#708090","slategrey");Colors.snow=new ColorItem("#fffafa","snow");Colors.springGreen=new ColorItem("#00ff7f","springgreen");Colors.steelBlue=new ColorItem("#4682b4","steelblue");Colors.tan=new ColorItem("#d2b48c","tan");Colors.thistle=new ColorItem("#d8bfd8","thistle");Colors.tomato=new ColorItem("#ff6347","tomato");Colors.turquoise=new ColorItem("#40e0d0","turquoise");Colors.violet=new ColorItem("#ee82ee","violet");Colors.wheat=new ColorItem("#f5deb3","wheat");Colors.whiteSmoke=new ColorItem("#f5f5f5","whitesmoke");Colors.yellowGreen=new ColorItem("#9acd32","yellowgreen");Colors.rebeccaPurple=new ColorItem("#663399","rebeccapurple");Colors.transparent=new ColorItem("#00000000","transparent");_export("default",Colors)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/MergeNode");System.register([],(function(_export,_context){"use strict";var MergeNode,empty;_export("default",void 0);return{setters:[],execute:function(){empty=[];_export("default",MergeNode=class MergeNode{static none(){return new MergeNode(empty)}static remove(){return new MergeNode([{remove:true}])}static childSelector(name,p){if(p!==void 0){const{parent,after}=p;return new MergeNode([{replace:"* > "+name,parent,after}])}return new MergeNode(["* > "+name])}static nestedSelector(name,p){if(p!==void 0){const{parent,after}=p;return new MergeNode([{replace:"* "+name,parent,after}])}return new MergeNode(["* "+name])}constructor(classes=empty){this.classes=classes}childSelector(name,p){if(p!==void 0){const{parent,after}=p;return new MergeNode([...this.classes,{replace:"* > "+name,parent,after}])}return new MergeNode([...this.classes,"* > "+name])}nestedSelector(name,p){if(p!==void 0){const{parent,after}=p;return new MergeNode([...this.classes,{replace:"* "+name,parent,after}])}return new MergeNode([...this.classes,"* "+name])}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/ItemPath");System.register([],(function(_export,_context){"use strict";var ItemPath,get;function*getFragments(path){const regex=/([^\=\:]+)\s*[\=\:]\s*((('[^\\']*(((\\')|(''))[^\\']*)*')|("[^\\"]*(((\\")|(""))[^\\"]*)*"))|([^\,\;]+))\s*[\,\;]?\s*/gim;let m;while((m=regex.exec(path))!==null){if(m.index===regex.lastIndex){regex.lastIndex++}yield[m[1].trim(),m[2].trim()]}}_export("default",void 0);return{setters:[],execute:function(){get=(start,path)=>{let item=start;for(const iterator of path.split(".")){if(iterator==="$"){item=start;continue}item=item[iterator]}return item};_export("default",ItemPath=class ItemPath{static get(item,path){if(path.startsWith("$.")){return get(item,path)}if(/^[\{\"]/.test(path)){const json=JSON.parse(path);return json}const target={};this.build(item,path,target);return target}static build(item,path,target){for(let[key,value]of getFragments(path)){if(value.startsWith("$")){value=get(item,value);target[key]=value;continue}if(value.startsWith('"')){value=JSON.parse(value);target[key]=value;continue}if(value.startsWith("'")){value=value.substring(1,value.length-1);value=value.replace(/((\'\')|(\\\'))/,"'");target[key]=value;continue}if(value==="true"){target[key]=true;continue}if(value==="false"){target[key]=false;continue}if(value==="null"){target[key]=null;continue}target[key]=Number(value)}}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/DataAttributes");System.register([],(function(_export,_context){"use strict";var DataAttributes;_export("default",void 0);return{setters:[],execute:function(){_export("default",DataAttributes=class DataAttributes{static from(e,till){return new DataAttributes(e,till)}constructor(element,till){this.element=element;this.till=till}get(name){let start=this.element;const till=this.till;while(start&&start!==till){const a=start.getAttribute(name);if(a){return a}start=start.parentElement}}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/elements/relativeRect");System.register([],(function(_export,_context){"use strict";var getScreenRect;function relativeRect(e,cb){const ebr=getScreenRect(e);const cbr=getScreenRect(cb);let left=ebr.left;let top=ebr.top;let bottom=ebr.bottom;let right=ebr.right;if(cb.offsetParent){left-=cbr.left;top-=cbr.top;bottom-=cbr.bottom;right-=cbr.right}const height=e.offsetHeight;const width=e.offsetWidth;return{left,top,bottom,right,width,height,e}}_export("relativeRect",relativeRect);return{setters:[],execute:function(){getScreenRect=(e,cbr=e.getBoundingClientRect())=>{const{left,top,height,width}=cbr;const right=visualViewport.width-left-width;const bottom=visualViewport.height-top-height;return{left,top,right,bottom,height,width}}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/elements/getContainingBlock");System.register([],(function(_export,_context){"use strict";var getContainingBlock;return{setters:[],execute:function(){getContainingBlock=node=>{if(!node||!node.parentElement){return document.body}let start=node.parentElement;while(start){const cs=getComputedStyle(start);if(cs.filter!=="none"){return start}if(cs.backdropFilter!=="none"){return start}if(cs.transform!=="none"){return start}if(cs.perspective!=="none"){return start}if(/layout|paint|strict|content/i.test(cs.contain)){return start}if(cs.containerType&&cs.containerType!=="normal"){return start}if(/filter|transform/i.test(cs.willChange)){return start}if(/auto/i.test(cs.contentVisibility)){return start}start=start.parentElement}return document.body};_export("default",getContainingBlock)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/elements/AtomPopover");System.register(["tslib","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","./AtomPopover.css","./relativeRect","./getContainingBlock"],(function(_export,_context){"use strict";var __awaiter,AtomDisposableList,CancelToken,XNode,xnodeSymbol,AtomControl,ElementValueSetters,relativeRect,getContainingBlock,AtomPopoverElement,AtomPopover,existingPopup;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreAtomDisposableList){AtomDisposableList=_webAtomsCoreDistCoreAtomDisposableList.AtomDisposableList},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default;xnodeSymbol=_webAtomsCoreDistCoreXNode.xnodeSymbol},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl;ElementValueSetters=_webAtomsCoreDistWebControlsAtomControl.ElementValueSetters},function(_AtomPopoverCss){},function(_relativeRect){relativeRect=_relativeRect.relativeRect},function(_getContainingBlock){getContainingBlock=_getContainingBlock.default}],execute:function(){ElementValueSetters["anchor-left"]=(c,e,v)=>e.setAttribute("anchor-left",v);ElementValueSetters["anchor-right"]=(c,e,v)=>e.setAttribute("anchor-right",v);ElementValueSetters["anchor-top"]=(c,e,v)=>e.setAttribute("anchor-top",v);ElementValueSetters["anchor-bottom"]=(c,e,v)=>e.setAttribute("anchor-bottom",v);AtomPopoverElement=class AtomPopoverElement extends HTMLElement{constructor(){super(...arguments);this.aborted="cancel";this.closePopover=e=>{const cancelOnBlur=/^(true|yes|1)$/i.test(this.getAttribute("cancel-on-blur")||"true");if(!cancelOnBlur){return}setTimeout((()=>{let target=e.target;while(target){if(target.hasAttribute("data-close-on-click")){break}if(target===this.parentElement){return}target=target.parentElement}this.lastParent=null;const ce=new CustomEvent("removing",{detail:{result:this.result,aborted:this.aborted},bubbles:true,cancelable:true});this.dispatchEvent(ce);if(ce.defaultPrevented){return}this.dispatchEvent(new CustomEvent("removed",{detail:{result:this.result,aborted:this.aborted},bubbles:true}));this.remove()}),250)};this.updatePosition=()=>{if(!this.parentElement){return}const lastParent=this.lastParent=this.parentElement;if(!lastParent){return}const cb=getContainingBlock(lastParent);if(!cb){return}this.containingBlock=cb;const cbr=cb.getBoundingClientRect();const rrSelf=relativeRect(this,cb);const rrParent=relativeRect(this.parentElement,cb);const firstChild=this.firstElementChild.getBoundingClientRect();let diffTop=Math.min(window.visualViewport.height,cbr.height)-(rrParent.top+firstChild.height);if(diffTop>0){diffTop=0}else{diffTop-=40}let diffBottom=rrParent.top-firstChild.height;if(diffBottom>0){diffBottom=0}const topLeft={"parent-left":`${rrParent.left}px`,"parent-right":`${rrSelf.left}px`,"parent-top":`${rrParent.top+diffTop}px`,"parent-bottom":`${rrParent.top+rrParent.height+diffTop}px`};const bottomRight={"parent-left":`${rrParent.right}px`,"parent-right":`${rrSelf.right}px`,"parent-top":`${rrParent.bottom+rrSelf.height+diffBottom}px`,"parent-bottom":`${rrParent.bottom+rrParent.height+diffBottom}px`};let anchorBottom=this.getAttribute("anchor-bottom");let anchorRight=this.getAttribute("anchor-right");let anchorTop=this.getAttribute("anchor-top");let anchorLeft=this.getAttribute("anchor-left");const style=this.slotElement.style;style.removeProperty("left");style.removeProperty("top");style.removeProperty("right");style.removeProperty("bottom");if(!anchorBottom){anchorTop||(anchorTop="parent-bottom")}if(!anchorRight){anchorLeft||(anchorLeft="parent-right")}if(anchorTop){style.top=topLeft[anchorTop]}if(anchorLeft){style.left=topLeft[anchorLeft]}if(anchorBottom){style.bottom=bottomRight[anchorBottom]}if(anchorRight){style.right=bottomRight[anchorRight]}}}connectedCallback(){if(!this.root){const root=this.root=this.attachShadow({mode:"open"});const slot=document.createElement("slot");slot.setAttribute("part","container");this.slotElement=slot;root.appendChild(slot)}setTimeout((()=>this.updatePosition()),100);window.addEventListener("scroll",this.updatePosition,{passive:true,capture:true});setTimeout((()=>{document.body.addEventListener("click",this.closePopover)}),100)}disconnectedCallback(){var _a;if((_a=this.lastParent)===null||_a===void 0?void 0:_a.isConnected){this.dispatchEvent(new CustomEvent("removed",{detail:{result:this.result,aborted:this.aborted},bubbles:true}))}document.body.removeEventListener("click",this.closePopover);window.removeEventListener("scroll",this.updatePosition);clearInterval(this.timer)}};existingPopup=Symbol("popup");_export("default",AtomPopover=class AtomPopover{static create(parent,options={}){var _a;return(_a=parent[existingPopup])!==null&&_a!==void 0?_a:parent[existingPopup]=new this(parent,options)}static show(parent,options={}){var _a;const p=(_a=parent[existingPopup])!==null&&_a!==void 0?_a:parent[existingPopup]=new this(parent,options);return p.resultPromise}static menu(parent,node,options={}){const ct=new CancelToken;options.nodeFactory=()=>node;const p=new this(parent,options);p.result=1;p.disposables.add(p.owner.bindEvent(p.popover,"click",(()=>{setTimeout((()=>{ct.cancel()}),10)})));return p}set renderer(v){var _a,_b;const owner=this.owner;let first=this.popoverContainer.firstElementChild;while(first){const next=first.nextElementSibling;owner.dispose(first);first.remove();first=next}if(!v){return}if(v[xnodeSymbol]){this.owner.render(XNode.create("div",null," ",v," "),this.popoverContainer,this.owner)}else{this.popoverContainer.appendChild(v)}(_b=(_a=this.popoverContainer).updatePosition)===null||_b===void 0?void 0:_b.call(_a)}constructor(parent,options={}){var _a,_b;this.disposables=new AtomDisposableList;this.removing=ce=>{var _a;if(this.cancel){ce===null||ce===void 0?void 0:ce.preventDefault();const c=(_a=this.cancel)===null||_a===void 0?void 0:_a.call(this);if(c===null||c===void 0?void 0:c.then){c.then((()=>{this.renderer=void 0;this.remove()}),console.warn)}}};this.remove=()=>{var _a,_b;const{result}=this.popover;if(result===void 0){(_a=this.resultReject)===null||_a===void 0?void 0:_a.call(this,"canceled")}else{(_b=this.resultResolve)===null||_b===void 0?void 0:_b.call(this,result)}this.disposables.dispose();this.popover.remove()};const p1=parent;this.disposables.add((()=>p1[existingPopup]=null));if(parent instanceof AtomControl){this.owner=parent;parent=this.owner.element}else{this.owner=AtomControl.from(parent)}const popover=this.popover=document.createElement("atom-pop-over");this.popoverContainer=popover;parent.appendChild(popover);const{cancelToken,nodeFactory,dataFactory,closeOnClick=true,"anchor-left":anchorLeft,"anchor-right":anchorRight,"anchor-top":anchorTop,"anchor-bottom":anchorBottom}=options;cancelToken===null||cancelToken===void 0?void 0:cancelToken.registerForCancel(this.removing);if(anchorLeft){popover.setAttribute("anchor-left",anchorLeft)}if(anchorRight){popover.setAttribute("anchor-right",anchorRight)}if(anchorTop){popover.setAttribute("anchor-top",anchorTop)}if(anchorBottom){popover.setAttribute("anchor-bottom",anchorBottom)}if(closeOnClick){popover.setAttribute("data-close-on-click","1")}popover.addEventListener("removing",this.removing);popover.addEventListener("removed",this.remove);this.disposables.add((()=>{popover.removeEventListener("removed",this.remove);popover.removeEventListener("removing",this.removing)}));(_a=this.init)!==null&&_a!==void 0?_a:this.init=data=>{if(nodeFactory){this.renderer=nodeFactory(data)}};const p=(_b=this.init)===null||_b===void 0?void 0:_b.call(this,dataFactory===null||dataFactory===void 0?void 0:dataFactory());if(p===null||p===void 0?void 0:p.then){p.then((()=>void 0),console.warn)}this.resultPromise=new Promise(((resolve,reject)=>{this.resultResolve=resolve;this.resultReject=reject}));this.resultPromise.catch((()=>void 0))}close(r){this.popover.result=r!==null&&r!==void 0?r:null;this.popover.remove()}cancel(){return __awaiter(this,void 0,void 0,(function*(){delete this.popover.result;this.popover.remove()}))}});customElements.define("atom-pop-over",AtomPopoverElement)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/AtomRepeater");System.register(["tslib","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/core/WatchProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/services/PopupService","./MergeNode","./ItemPath","./styles/popup.global.css","./styles/suggestion-popup.global.css","./styles/repeater.global.css","@web-atoms/core/dist/web/core/AtomUI","../DataAttributes","./elements/AtomPopover"],(function(_export,_context){"use strict";var __decorate,__metadata,__rest,AtomBinder,Bind,BindableProperty,Colors,StringHelper,WatchProperty,XNode,AtomControl,PopupWindow,MergeNode,ItemPath,ChildEnumerator,DataAttributes,AtomPopover,SelectAllControl,AtomRepeater,getParentRepeaterItem,MatchTrue,MatchFalse,ArrowToString,MatchCaseInsensitive,MatchAnyCaseInsensitive,SameObjectValue,getFirstChild,hoverItem,dragOver;function askSuggestion(items,itemRenderer,match,options){class Suggestions extends PopupWindow{create(){var _a;this.title=(_a=options===null||options===void 0?void 0:options.title)!==null&&_a!==void 0?_a:"Select";this.render(XNode.create("div",{"data-repeater-popup":"popup"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),autofocus:true}),XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",itemRenderer,visibilityFilter:Bind.oneWay((()=>match(this.search))),eventItemClick:e=>{this.close(e.detail)},items}))))}}__decorate([BindableProperty,__metadata("design:type",String)],Suggestions.prototype,"search",void 0);options!==null&&options!==void 0?options:options={};if(typeof options.maximize==="undefined"){if(typeof options.width==="undefined"){options.maxWidth="90%";options.minWidth="300px"}if(typeof options.height==="undefined"){options.height="80%"}}return Suggestions.showModal(options)}function askSuggestionPopup(opener,items,itemRenderer,match,selectedItem){const itemsInOpener="items"in opener;class Suggestions extends AtomPopover{constructor(){super(...arguments);this.anchorItem=null;this.anchorIndex=null}init(){const disableSearch=opener.disableSearch;this.renderer=XNode.create("div",{"data-suggestion-popup":"suggestion-popup"},!disableSearch&&XNode.create("input",{type:"search",value:Bind.sourceTwoWays(opener,(x=>x.source.search)),eventKeydown:e=>this.onKey(e),autofocus:true}),XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",selectedItem:Bind.source(this,(x=>x.source.anchorItem)),itemRenderer,visibilityFilter:Bind.source(opener,(x=>match(x.source.search))),eventItemClick:e=>{this.anchorItem=e.detail;setTimeout((()=>this.close(e.detail)),50)},items:Bind.source(opener,(x=>x.source.items))})))}onKey(e){var _a;const suggested=match?(_a=opener.items)===null||_a===void 0?void 0:_a.filter(match(opener.search)):opener.items;switch(e.key){case"Enter":const anchorItem=this.anchorItem;if(!anchorItem){return}this.anchorIndex=0;this.close(anchorItem);this.anchorItem=null;opener.search="";break;case"ArrowDown":if(suggested){if(!this.anchorItem){this.anchorIndex=0}else{if(this.anchorIndex<suggested.length-1){this.anchorIndex++}}this.anchorItem=suggested[this.anchorIndex]}break;case"ArrowUp":if(suggested){if(!this.anchorItem){return}if(this.anchorIndex){this.anchorIndex--}this.anchorItem=suggested[this.anchorIndex]}break}}}return Suggestions.show(opener.element,{"anchor-left":"parent-left"})}function SelectorCheckBox(_a,...nodes){var{text,icon="far fa-square",iconSelected="fas fa-check-square"}=_a,a=__rest(_a,["text","icon","iconSelected"]);if(text){return XNode.create("label",Object.assign({"data-selector":"check-box"},a),XNode.create("i",{class:icon,"data-click-event":"item-select"}),XNode.create("i",{class:iconSelected,"data-click-event":"item-deselect"}),XNode.create("span",{"data-no-wrap":"true",text}),...nodes)}return XNode.create("label",Object.assign({"data-selector":"check-box"},a),XNode.create("i",{class:icon,"data-click-event":"item-select"}),XNode.create("i",{class:iconSelected,"data-click-event":"item-deselect"}),...nodes)}function SelectAll(_a,...nodes){var{text="Select All",icon="far fa-square",iconSelected="fas fa-check-square"}=_a,a=__rest(_a,["text","icon","iconSelected"]);if(text){return XNode.create(SelectAllControl,Object.assign({for:"label"},a),XNode.create("i",{class:icon,"data-ui-type":"item-select"}),XNode.create("i",{class:iconSelected,"data-ui-type":"item-deselect"}),XNode.create("span",{"data-no-wrap":"true",text}))}return XNode.create(SelectAllControl,Object.assign({for:"label"},a),XNode.create("i",{class:icon,"data-ui-type":"item-select"}),XNode.create("i",{class:iconSelected,"data-ui-type":"item-deselect"}),...nodes)}function disposeChildren(owner,e){if(!e){return}let s=e.firstElementChild;while(s){const c=s;s=s.nextElementSibling;const ac=c.atomControl;if(ac){ac.dispose();continue}disposeChildren(owner,c);owner.unbind(c);owner.unbindEvent(c)}e.innerHTML=""}function disposeChild(owner,e){const ac=e.atomControl;if(ac){ac.dispose();return}disposeChildren(owner,e);owner.unbind(e);owner.unbindEvent(e);e.remove()}function defaultComparer(left,right){if(left&&right){if(left instanceof Date){if(right instanceof Date){return left.getTime()===right.getTime()}return false}}return left===right}function updateDragDrop(e,force=false){if(!e){return}if(force){e.draggable=false}else{force=e.draggable}e=e.firstElementChild;while(e){updateDragDrop(e,force);e=e.nextElementSibling}}_export({askSuggestion,askSuggestionPopup,SelectorCheckBox,SelectAll,disposeChildren,disposeChild,defaultComparer,default:void 0});return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__rest=_tslib.__rest},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreColors){Colors=_webAtomsCoreDistCoreColors.default},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper},function(_webAtomsCoreDistCoreWatchProperty){WatchProperty=_webAtomsCoreDistCoreWatchProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebServicesPopupService){PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_MergeNode){MergeNode=_MergeNode.default},function(_ItemPath){ItemPath=_ItemPath.default},function(_stylesPopupGlobalCss){},function(_stylesSuggestionPopupGlobalCss){},function(_stylesRepeaterGlobalCss){},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator},function(_DataAttributes){DataAttributes=_DataAttributes.default},function(_elementsAtomPopover){AtomPopover=_elementsAtomPopover.default}],execute:function(){_export("getParentRepeaterItem",getParentRepeaterItem=target=>{let eventName;let repeater;let index;let root;while(target){const a=target.atomControl;if(a!==undefined&&a instanceof AtomRepeater){repeater=a;break}if(index===undefined){const itemIndex=target.getAttribute("data-item-index");if(typeof itemIndex!=="undefined"){root=target;index=~~itemIndex}}if(eventName===undefined){const itemClickEvent=target.getAttribute("data-click-event");if(itemClickEvent){eventName=itemClickEvent.replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}}target=target.parentElement}if(index===void 0||repeater===void 0){return undefined}const item=repeater.items[~~index];return[eventName,repeater,item,index,root]});_export("MatchTrue",MatchTrue=(...a)=>true);_export("MatchFalse",MatchFalse=(...a)=>false);_export("ArrowToString",ArrowToString=item=>{var _a,_b;return(_b=(_a=item.label)===null||_a===void 0?void 0:_a.toString())!==null&&_b!==void 0?_b:item.toString()});_export("MatchCaseInsensitive",MatchCaseInsensitive=(textField=ArrowToString)=>s=>{if(!s){return MatchTrue}const r=StringHelper.createContainsRegExp(s);return item=>r.test(textField(item))});_export("MatchAnyCaseInsensitive",MatchAnyCaseInsensitive=(textField=ArrowToString)=>s=>{if(!s){return MatchTrue}const r=StringHelper.createContainsAnyWordRegExp(s);return item=>r.test(textField(item))});_export("SameObjectValue",SameObjectValue=item=>item);SelectAllControl=class SelectAllControl extends AtomControl{preCreate(){this.element.setAttribute("data-select-all","select-all");this.items=[];this.selectedItems=[];this.render(XNode.create(SelectAllControl,{"data-is-selected":Bind.oneWay((()=>this.items.length>0&&this.items.length===this.selectedItems.length),false)}));this.bindEvent(this.element,"click",(()=>{const si=this.selectedItems;const items=this.items;if(!si){return}if(!items){return}if(items.length===0){return}if(items.length===si.length){si.clear()}else{si.length=0;si.push(...items);si.refresh()}}))}};__decorate([BindableProperty,__metadata("design:type",Array)],SelectAllControl.prototype,"items",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],SelectAllControl.prototype,"selectedItems",void 0);getFirstChild=container=>{let child=container.firstElementChild;while(child&&!child.hasAttribute("data-item-index")){child=child.nextElementSibling}return child};_export("default",AtomRepeater=class AtomRepeater extends AtomControl{constructor(){super(...arguments);this.bubbleEvents=true}static from(element){while(element){const{atomControl}=element;if(atomControl instanceof AtomRepeater){return atomControl}element=element.parentElement}}static itemFromElement(e,ar=this.from(e)){const da=new DataAttributes(e,ar);const recreate=da.get("data-recreate");const header=da.get("data-header");const footer=da.get("data-footer");const itemIndex=da.get("data-item-index");const itemPath=da.get("data-item-path");let clickEvent=da.get("data-click-event")||(header?"headerClick":footer?"footerClick":"itemClick");clickEvent=clickEvent.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));const index=~~itemIndex;const item=ar.items[index];let nestedItem=null;if(item){if(itemPath||false){nestedItem=ItemPath.get(item,itemPath.trim())}}return{recreate,header,footer,itemPath,itemIndex,item,nestedItem,clickEvent,target:e}}set refreshEventScope(v){this.registerDisposable(v.listen((ce=>{this.refreshItem(ce.detail)})))}get allSelected(){const selectedItems=this.selectedItems;const items=this.items;if(!(items&&selectedItems)){return false}return items.length&&items.length===selectedItems.length}get value(){var _a;if(this.initialValue!==undefined){return this.initialValue}const sp=this.selectedItem;if(sp===undefined){return sp}const vp=(_a=this.valuePath)!==null&&_a!==void 0?_a:SameObjectValue;return vp(sp)}set value(v){var _a,_b;this.initialValue=v;if(!this.items||!this.items.length){AtomBinder.refreshValue(this,"value");return}const vp=(_a=this.valuePath)!==null&&_a!==void 0?_a:SameObjectValue;const c=(_b=this.comparer)!==null&&_b!==void 0?_b:defaultComparer;const selectedItem=this.items.find((item=>c(vp(item),v)));this.selectedItem=selectedItem;delete this.initialValue}get selectedItem(){var _a;return(_a=this.selectedItems)===null||_a===void 0?void 0:_a[0]}set selectedItem(value){var _a;const si=(_a=this.selectedItems)!==null&&_a!==void 0?_a:this.selectedItems=[];const first=si[0];if(value===first){return}si.set(0,value)}onPropertyChanged(name){var _a,_b;switch(name){case"items":(_a=this.itemsDisposable)===null||_a===void 0?void 0:_a.dispose();const items=this.items;const d=items===null||items===void 0?void 0:items.watch(((target,type,index,item)=>{switch(type){case"add":case"remove":case"set":this.updatePartial(type,index,item);break;default:this.updateItems();break}this.dispatchCustomEvent("items-updated",{type,items,index});AtomBinder.refreshValue(this,"selectedItem");AtomBinder.refreshValue(this,"value")}));if(d){this.itemsDisposable=this.registerDisposable(d)}const iv=this.initialValue;if(iv){this.value=iv}this.updateItems();this.dispatchCustomEvent("items-updated",{type:"reset",items,index:0});if(this.scrollToSelection){this.bringSelectionIntoView()}break;case"selectedItems":(_b=this.selectedItemsDisposable)===null||_b===void 0?void 0:_b.dispose();const selectedItems=this.selectedItems;const sd=selectedItems===null||selectedItems===void 0?void 0:selectedItems.watch((()=>{this.updateClasses();if(this.scrollToSelection){this.bringSelectionIntoView()}if(this.selectedItem){delete this.initialValue}AtomBinder.refreshValue(this,"selectedItem");AtomBinder.refreshValue(this,"value");AtomBinder.refreshValue(this,"allSelected");this.dispatchCustomEvent("selection-updated",selectedItems)}));if(sd){this.selectedItemsDisposable=this.registerDisposable(sd)}this.updateClasses();this.dispatchCustomEvent("selection-updated",selectedItems);AtomBinder.refreshValue(this,"allSelected");break;case"itemRenderer":case"watch":this.updateItems();break;case"visibilityFilter":this.updateVisibility();break;case"header":case"headerRenderer":this.updateHeaderFooter("header",this.headerPresenter,this.header,this.headerRenderer,true);break;case"footer":case"footerRenderer":this.updateHeaderFooter("footer",this.footerPresenter,this.footer,this.footerRenderer);break}}bringSelectionIntoView(force){if(force){const selection=this.selectedItem;if(selection){const element=this.elementForItem(selection);element===null||element===void 0?void 0:element.scrollIntoView()}return}if(this.bringIntoViewId){clearTimeout(this.bringIntoViewId)}this.bringIntoViewId=setTimeout((()=>{clearTimeout(this.bringIntoViewId);this.bringIntoViewId=undefined;this.bringSelectionIntoView(true)}),100)}forEach(action,container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let start=getFirstChild(container);while(start){const index=start.getAttribute("data-item-index");const item=items[~~index];action(item,start);start=start.nextElementSibling}}*any(fx,itemSelector,container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let node=getFirstChild(container);while(node){const index=node.getAttribute("data-item-index");const item=items[~~index];let element=node;if(itemSelector){element=element.querySelector(itemSelector)}const ie={item,element};if(fx){if(fx(item)){yield ie}continue}yield ie;node=node.nextElementSibling}}*all(container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let element=getFirstChild(container);while(element){const index=element.getAttribute("data-item-index");const item=items[~~index];yield{item,element};element=element.nextElementSibling}}elementAt(index,container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const indexText=index.toString();const element=ChildEnumerator.find(container,(e=>e.getAttribute("data-item-index")===indexText));return element}elementForItem(itemToFind,container){const index=this.items.indexOf(itemToFind);return this.elementAt(index,container)}refreshItem(item,fx,index=-1){if(index===-1){index=this.items.indexOf(item)}if(fx===null||fx===void 0?void 0:fx.then){const finalize=v=>{this.refreshItem(item,v,index)};fx.then(finalize,finalize);return}if(fx instanceof MergeNode){this.mergeItem(index,fx);return}this.updatePartial("set",index,item)}mergeItem(index,m){var _a,_b,_c;const item=this.items[index];if(!item){return}if((_b=(_a=m.classes)===null||_a===void 0?void 0:_a[0])===null||_b===void 0?void 0:_b.remove){this.items.removeAt(index);return}const container=(_c=this.itemsPresenter)!==null&&_c!==void 0?_c:this.element;const node=this.itemRenderer(item,index,this);const sourceElement=document.createElement("div");sourceElement.style.display="none";container.appendChild(sourceElement);this.render(node,sourceElement);const targetElement=this.elementAt(index);for(const iterator of m.classes){if(typeof iterator==="string"){const source=sourceElement.querySelectorAll(iterator);const target=targetElement.querySelectorAll(iterator);for(let i=0;i<source.length&&i<target.length;i++){const element=source[i];const te=target[i];for(const name of te.getAttributeNames()){te.removeAttribute(name)}te.innerHTML=element.innerHTML;for(const name of element.getAttributeNames()){te.setAttribute(name,element.getAttribute(name))}}continue}if(iterator.parent){const targetParent=/self|\*/.test(iterator.parent)?targetElement:targetElement.querySelector(iterator.parent);if(!targetParent){continue}for(const i of Array.from(targetElement.querySelectorAll(iterator.replace))){i.remove()}for(const i of Array.from(sourceElement.querySelectorAll(iterator.replace))){targetParent.appendChild(i)}continue}let targetPrevious=targetElement.querySelector(iterator.after);for(const i of Array.from(targetElement.querySelectorAll(iterator.replace))){i.remove()}for(const i of Array.from(sourceElement.querySelectorAll(iterator.replace))){targetPrevious.insertAdjacentElement("afterend",i);targetPrevious=i}}this.dispose(sourceElement);sourceElement.remove()}updatePartial(key,index,item,container){var _a,_b,_c,_d,_e,_f,_g;const items=this.items;if(!items){return}const ir=this.itemRenderer;if(!ir){return}container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;let start=getFirstChild(container);let ei;while(start){ei=~~start.getAttribute("data-item-index");if(ei===index){break}start=start.nextElementSibling}if(key!=="add"&&!start){return}const vp=(_b=this.valuePath)!==null&&_b!==void 0?_b:it=>it;const si=((_c=this.selectedItems)!==null&&_c!==void 0?_c:[]).map(vp);const isRemove=key==="remove";if(isRemove||key==="set"){const current=start;start=start.nextElementSibling;const ac=current.atomControl;if(ac){ac.dispose()}else{this.unbind(current);this.unbindEvent(current)}current.remove()}const end=((_d=this.footerElement)===null||_d===void 0?void 0:_d.parentElement)===container?this.footerElement:null;if(!isRemove){const en=ir(item,index,this);const ea=(_e=en.attributes)!==null&&_e!==void 0?_e:en.attributes={};const v=vp(item);const e=document.createElement((_g=(_f=ea.for)!==null&&_f!==void 0?_f:en.name)!==null&&_g!==void 0?_g:"div");e.setAttribute("data-item-index",`${index++}`);if(si.indexOf(v)!==-1){e.setAttribute("data-selected-item","true")}else{e.removeAttribute("data-selected-item")}if(this.enableDragDrop){updateDragDrop(e)}if(start){container.insertBefore(e,start)}else if(end){container.insertBefore(e,end)}else{container.appendChild(e)}this.render(en,e,this.creator||this)}while(start){const ci=items[index];const cv=vp(ci);start.setAttribute("data-item-index",`${index++}`);if(si.indexOf(cv)!==-1){start.setAttribute("data-selected-item","true")}else{start.removeAttribute("data-selected-item")}start=start.nextElementSibling;if(start===null||start===void 0?void 0:start.hasAttribute("data-footer")){break}}}updateItems(container,force){var _a,_b,_c,_d,_e,_f;if(this.deferUpdates&&!force){if(this.deferredUpdateId){return}this.deferredUpdateId=setTimeout((()=>{this.deferredUpdateId=0;this.updateItems(container,true)}),1);return}container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;if(!container){return}disposeChildren(this,container);this.onPropertyChanged("header");const ir=this.itemRenderer;if(!ir){this.onPropertyChanged("footer");return}const items=this.items;if(!items){this.onPropertyChanged("footer");return}const vp=(_b=this.valuePath)!==null&&_b!==void 0?_b:it=>it;const si=((_c=this.selectedItems)!==null&&_c!==void 0?_c:[]).map(vp);let i=0;for(const iterator of items){const index=i++;const e=ir(iterator,index,this);const ea=(_d=e.attributes)!==null&&_d!==void 0?_d:e.attributes={};const v=vp(iterator);const element=document.createElement((_f=(_e=ea.for)!==null&&_e!==void 0?_e:e.name)!==null&&_f!==void 0?_f:"div");element.setAttribute("data-item-index",`${index}`);if(si.indexOf(v)!==-1){element.setAttribute("data-selected-item","true")}else{element.removeAttribute("data-selected-item")}this.render(e,element,this.creator||this);if(this.enableDragDrop){updateDragDrop(element)}container.appendChild(element)}this.onPropertyChanged("footer")}render(node,e,creator){if(!this.creator&&this!==creator){this.creator=creator}this.render=super.render;return super.render(node,e,creator)}preCreate(){this.mergeOnRefresh=false;this.selectOnClick=false;this.element.setAttribute("data-click-event","item-click")}dispatchCustomEvent(type,detail){if(!this.element){return}const eventName=this.element.getAttribute("data-"+type+"-event");type=StringHelper.fromHyphenToCamel(eventName!==null&&eventName!==void 0?eventName:type);this.element.dispatchEvent(new CustomEvent(type,{detail,bubbles:eventName!==null,cancelable:true}))}updateClasses(){var _a,_b,_c;const container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let element=getFirstChild(container);const vp=(_b=this.valuePath)!==null&&_b!==void 0?_b:i=>i;const si=((_c=this.selectedItems)!==null&&_c!==void 0?_c:[]).map(vp);while(element){const index=~~element.getAttribute("data-item-index");const item=items[index];const v=vp(item);if(si.indexOf(v)!==-1){element.setAttribute("data-selected-item","true")}else{element.removeAttribute("data-selected-item")}element=element.nextElementSibling}}updateVisibility(){var _a,_b;const container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let element=container.firstElementChild;const vf=(_b=this.visibilityFilter)!==null&&_b!==void 0?_b:MatchTrue;while(element){const index=~~element.getAttribute("data-item-index");const item=items[index];if(vf(item)){element.removeAttribute("data-ui-display")}else{element.setAttribute("data-ui-display","none")}element=element.nextElementSibling}}updateHeaderFooter(name,presenter,item,itemRenderer,insert){var _a,_b,_c,_d;presenter!==null&&presenter!==void 0?presenter:presenter=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.itemsPresenter=this.element;if(!presenter){this[name+"Element"]=null;return}let current;if(insert){current=presenter.firstElementChild;while(current&¤t.dataset[name]!==name){current=current.nextElementSibling}}else{current=presenter.lastElementChild;while(current&¤t.dataset[name]!==name){current=current.previousElementSibling}}if(current){disposeChild(this,current);this[name+"Element"]=null}if(!(item&&itemRenderer)){return}const node=itemRenderer(item);const element=document.createElement((_d=(_c=(_b=node.attributes)===null||_b===void 0?void 0:_b.for)!==null&&_c!==void 0?_c:node.name)!==null&&_d!==void 0?_d:"div");element.dataset[name]=name;this.render(node,element,this.creator||this);if(insert){presenter.insertBefore(element,presenter.firstElementChild)}else{presenter.appendChild(element)}this[name+"Element"]=element}dispatchHeaderFooterEvent(eventName,type,recreate,originalTarget){const detail=this[type];const ce=new CustomEvent(eventName!==null&&eventName!==void 0?eventName:`${type}Click`,{detail,bubbles:this.bubbleEvents,cancelable:true});originalTarget.dispatchEvent(ce);if(ce.defaultPrevented||!ce.executed){return}if(recreate){this.onPropertyChanged(type)}}dispatchItemEvent(eventName,item,recreate,originalTarget,nestedItem){var _a;const ce=new CustomEvent(eventName!==null&&eventName!==void 0?eventName:"itemClick",{detail:nestedItem!==null&&nestedItem!==void 0?nestedItem:item,bubbles:this.bubbleEvents,cancelable:true});originalTarget.dispatchEvent(ce);if(!ce.defaultPrevented){if(this.selectOnClick||eventName==="itemSelect"||eventName==="itemDeselect"){const si=(_a=this.selectedItems)!==null&&_a!==void 0?_a:this.selectedItems=[];if(si){const index=si.indexOf(item);if(index===-1){if(this.allowMultipleSelection){si.add(item)}else{si.set(0,item)}}else{si.removeAt(index)}}}}if(ce.defaultPrevented||!ce.executed){return}const promise=ce.promise;if(recreate){this.refreshItem(item,promise);return}if(promise){promise.then((r=>r instanceof MergeNode&&this.refreshItem(item,r)))}}dispatchClickEvent(e,data){const{recreate,header,footer,itemIndex,itemPath,clickEvent,item,nestedItem}=AtomRepeater.itemFromElement(e.target,this);if(itemIndex!==void 0){if(item){if(nestedItem){this.dispatchItemEvent(clickEvent,item,recreate,e.target,nestedItem);return}this.dispatchItemEvent(clickEvent,item,recreate,e.target)}return}if(header){this.dispatchHeaderFooterEvent(clickEvent,header,recreate,e.target)}if(footer){this.dispatchHeaderFooterEvent(clickEvent,footer,recreate,e.target)}}});__decorate([BindableProperty,__metadata("design:type",Boolean)],AtomRepeater.prototype,"allowMultipleSelection",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"selectOnClick",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],AtomRepeater.prototype,"selectedItems",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"itemsPresenter",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],AtomRepeater.prototype,"items",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"watch",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"visibilityFilter",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"enableFunc",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"itemRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"valuePath",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"comparer",void 0);__decorate([BindableProperty,__metadata("design:type",Boolean)],AtomRepeater.prototype,"deferUpdates",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"header",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"headerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"footer",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"footerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"enableDragDrop",void 0);__decorate([WatchProperty,__metadata("design:type",Object),__metadata("design:paramtypes",[])],AtomRepeater.prototype,"allSelected",null);hoverItem={repeater:null,target:null,item:null,placeholder:null};document.body.addEventListener("dragstart",(e=>{const{target}=e;if(target.draggable){const ri=getParentRepeaterItem(target);if(!ri){return}const[type,repeater,item,index]=ri;if(!repeater||!repeater.enableDragDrop){return}const placeholder=document.createElement("div");placeholder.style.width=target.offsetWidth+"px";placeholder.style.height=target.offsetHeight+"px";placeholder.style.backgroundColor=Colors.lightGray.toString();placeholder.style.border="solid 1px gray";placeholder.style.borderRadius="10px";hoverItem={repeater,target,item,placeholder};e.dataTransfer.dropEffect="move";setTimeout((()=>{target.style.display="none";target.parentElement.insertBefore(placeholder,target)}),0)}}));document.body.addEventListener("dragend",(e=>{var _a,_b;if(!(hoverItem===null||hoverItem===void 0?void 0:hoverItem.placeholder)){return}const{item,placeholder,repeater}=hoverItem;let start=placeholder;let index=-1;while(start){const itemIndex=(_b=(_a=start.previousElementSibling)===null||_a===void 0?void 0:_a.dataset)===null||_b===void 0?void 0:_b.itemIndex;if(itemIndex!==void 0){index=~~itemIndex}if(start.parentElement.atomControl){break}start=start.parentElement}const targetRepeater=start.parentElement.atomControl;placeholder.remove();hoverItem.placeholder=null;repeater.items.remove(item);index++;const ce=new CustomEvent("itemDropped",{detail:{item,index}});if(ce.defaultPrevented){return}const{detail}=ce;targetRepeater.items.insert(detail.index,detail.item)}));dragOver=e=>{if(!e.dataTransfer){return}if(hoverItem){const{placeholder}=hoverItem;if(!placeholder){return}if(e.target===placeholder){return}}const ri=getParentRepeaterItem(e.target);if(!ri){return}const[type,repeater,item,index,target]=ri;if(!repeater){return}if(hoverItem){const{placeholder}=hoverItem;e.preventDefault();const mp={x:e.clientX,y:e.clientY};const isBefore=(co,n)=>n.x<=co.x+co.width*.3||n.y<=co.y+co.height*.3;const isAfter=(co,n)=>n.x>=co.x+co.width*.7||n.y>=co.y+co.height*.7;const targetBounds=target.getBoundingClientRect();if(isAfter(targetBounds,mp)){const next=target.nextElementSibling;if(next===placeholder){return}placeholder.remove();target.insertAdjacentElement("afterend",placeholder);return}if(isBefore(targetBounds,mp)){const previous=target.previousElementSibling;if(previous===placeholder){return}placeholder.remove();target.insertAdjacentElement("beforebegin",placeholder)}return}};document.body.addEventListener("dragover",dragOver);document.body.addEventListener("dragenter",dragOver)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/Select");System.register(["tslib","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __rest,AtomControl,XNode,labelPathSetter,valuePathSetter,valueSetter,refreshItems,itemsSetter;function Select(_a){var{items,labelPath,valuePath,value}=_a,a=__rest(_a,["items","labelPath","valuePath","value"]);a[labelPathSetter.property]=labelPath;a[valuePathSetter.property]=valuePath;a[valueSetter.property]=value;a[itemsSetter.property]=items;return XNode.create("select",Object.assign({},a))}_export("default",Select);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){labelPathSetter=AtomControl.registerProperty("data-items","value",((ctrl,element,value)=>{element["labelPath"]=value}));valuePathSetter=AtomControl.registerProperty("data-items","value",((ctrl,element,value)=>{element["valuePath"]=value}));valueSetter=AtomControl.registerProperty("data-items","value",((ctrl,element,value)=>{var _a;element["initialValue"]=value;element["value"]=value;const select=element;let length=select.options.length;if(!length){setTimeout(refreshItems,1,element);return}const items=element["items"];if(!items){setTimeout(refreshItems,1,element);return}const vp=(_a=element["valuePath"])!==null&&_a!==void 0?_a:item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item};let index=0;for(const item of items){const v=vp(item);if(v==value){select.selectedIndex=index;return}index++}setTimeout(refreshItems,1,element)}));refreshItems=(element,items)=>{var _a,_b;items!==null&&items!==void 0?items:items=element["items"];element.update=true;const old=element.selectedIndex;let cv=element["initialValue"];if(old!==-1){cv=element["value"]}element.options.length=0;const lp=(_a=element["labelPath"])!==null&&_a!==void 0?_a:item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item};const vp=(_b=element["valuePath"])!==null&&_b!==void 0?_b:item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item};let i=0;let si=-1;if(items===null||items===void 0?void 0:items.length){for(const iterator of items){const option=document.createElement("option");const label=lp(iterator);const value=vp(iterator);option.text=label;option.value=value;element.options.add(option);if(cv!==void 0){if(cv==value){si=i}}i++}}if(si!=-1){element.selectedIndex=si}element.update=false};itemsSetter=AtomControl.registerProperty("data-items","value",((ctrl,element,value)=>{element["items"]=value;setTimeout(refreshItems,1,element,value)}))}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/Calendar");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/WatchProperty","@web-atoms/core/dist/core/XNode","@web-atoms/date-time/dist/DateTime","./AtomRepeater","./Select","./styles/calendar.global.css"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,WatchProperty,XNode,DateTime,AtomRepeater,Select,Calendar,start,getWeekDays,getMonths,weekdays,months;function setValue(target,name,value){Object.defineProperty(target,name,{value});return value}_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreWatchProperty){WatchProperty=_webAtomsCoreDistCoreWatchProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default},function(_Select){Select=_Select.default},function(_stylesCalendarGlobalCss){}],execute:function(){start=DateTime.now;getWeekDays=(locale,type)=>{const baseDate=new Date(Date.UTC(2017,0,2));const weekDays=[];for(let i=0;i<7;i++){weekDays.push(baseDate.toLocaleDateString(locale,{weekday:type}));baseDate.setDate(baseDate.getDate()+1)}return weekDays};getMonths=(locale,type)=>{const baseDate=new Date(Date.UTC(2017,0,2));const weekDays=[];for(let i=0;i<12;i++){weekDays.push(baseDate.toLocaleDateString(locale,{month:type}));baseDate.setMonth(i+1)}return weekDays};_export("weekdays",weekdays={get short(){return setValue(this,"short",getWeekDays(navigator.language,"short"))},get long(){return setValue(this,"long",getWeekDays(navigator.language,"long"))}});_export("months",months={get short(){return setValue(this,"short",getMonths(navigator.language,"short"))},get long(){return setValue(this,"long",getMonths(navigator.language,"long"))},get items(){return setValue(this,"items",this.long.map(((x,i)=>({label:x,value:i}))))}});_export("default",Calendar=class Calendar extends AtomRepeater{constructor(){super(...arguments);this.dateModified=false}set startDate(v){if(this.dateModified){return}const year=v.getFullYear();const month=v.getMonth();if(this.year!==year){this.year=year}if(this.month!==month){this.month=month}}get dates(){const year=this.year;const tm=this.month;if(tm===undefined||year===undefined){return[]}const month=Number(tm);const today=DateTime.today;let startDate=new DateTime(year,month,1);while(startDate.dayOfWeek!==1){startDate=startDate.add(-1)}const a=[];const y=startDate.year;const m=startDate.month;const ef=this.enableFunc;for(let index=0;index<42;index++){const cd=startDate.add(index);const item={label:cd.day+"",row:Math.floor(index/7),column:index%7,type:null,value:cd,isToday:cd.equals(today),isOtherMonth:month!==cd.month,isWeekend:cd.dayOfWeek===0||cd.dayOfWeek===6,disabled:false};if(ef){item.disabled=!ef(item)}a.push(item)}return a}get years(){const years=[];const s=start.year+this.yearStart;const e=start.year+this.yearEnd+1;for(let index=s;index<e;index++){years.push({label:index.toString(),value:index})}return years}get value(){return super.value}set value(v){if(v instanceof Date){this.startDate=v}super.value=v}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"enableFunc":case"dateRenderer":this.updateItems();break}}next(){if(this.month===11){this.year++;this.month=0;return}this.month++}prev(){if(this.month===0){this.year--;this.month=11;return}this.month--}preCreate(){super.preCreate();const now=new Date;this.selectedItems=[];this.valuePath=i=>i===null||i===void 0?void 0:i.value;this.yearStart=-10;this.yearEnd=10;this.year=now.getFullYear();this.month=now.getMonth();this.comparer=(left,right)=>{var _a,_b;return left&&right&&((_a=DateTime.from(left).date)===null||_a===void 0?void 0:_a.msSinceEpoch)===((_b=DateTime.from(right).date)===null||_b===void 0?void 0:_b.msSinceEpoch)};this.bindEvent(this.element,"change",(()=>this.dateModified=true),null,{capture:true});this.bindEvent(this.element,"itemSelect",(e=>e.detail.disabled?e.preventDefault():null));this.render(XNode.create("div",{"data-calendar":"calendar",items:Bind.oneWay((()=>this.dates))},XNode.create("i",{"data-element":"previous","event-click":()=>this.prev(),class:"fa-solid fa-circle-chevron-left",title:"Previous Month"}),XNode.create(Select,{"data-element":"month",items:months.items,value:Bind.twoWays((()=>this.month))}),XNode.create(Select,{"data-element":"year",items:Bind.oneWay((()=>this.years)),value:Bind.twoWays((()=>this.year))}),XNode.create("i",{"data-element":"next","event-click":()=>this.next(),class:"fa-solid fa-circle-chevron-right",title:"Next Month"}),XNode.create("div",{class:"week"}),XNode.create("div",{"data-click-event":"item-select",class:"dates"})));this.itemsPresenter=this.element.lastElementChild;const week=this.element.lastElementChild.previousElementSibling;let w=1;for(const iterator of weekdays.short){const text=document.createElement("span");text.textContent=iterator;week.appendChild(text);text.style.gridColumnStart=`${w++}`}this.dateRenderer=item=>XNode.create("div",{text:item.label});this.itemRenderer=item=>{var _a;const d=this.dateRenderer(item);const a=(_a=d.attributes)!==null&&_a!==void 0?_a:d.attributes={};if(item.isToday){a["data-is-today"]=item.isToday}if(item.isOtherMonth){a["data-is-other-month"]=item.isOtherMonth}if(item.isWeekend){a["data-is-weekend"]=item.isWeekend}if(item.disabled){a["data-disabled"]=item.disabled}return d}}dispatchItemEvent(eventName,item,recreate,originalTarget,nestedItem){this.dateModified=true;super.dispatchItemEvent(eventName,item,recreate,originalTarget,nestedItem)}});__decorate([BindableProperty,__metadata("design:type",Number)],Calendar.prototype,"year",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],Calendar.prototype,"month",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],Calendar.prototype,"yearStart",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],Calendar.prototype,"yearEnd",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],Calendar.prototype,"enableFunc",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],Calendar.prototype,"dateRenderer",void 0);__decorate([WatchProperty,__metadata("design:type",Object),__metadata("design:paramtypes",[])],Calendar.prototype,"dates",null);__decorate([WatchProperty,__metadata("design:type",Object),__metadata("design:paramtypes",[])],Calendar.prototype,"years",null)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/TimeEditor");System.register(["@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/date-time/dist/TimeSpan","./Select","@web-atoms/core/dist/core/Bind","./styles/time-editor.global.css"],(function(_export,_context){"use strict";var AtomBinder,XNode,AtomControl,TimeSpan,Select,Bind,TimeEditor;function hours(){return[{label:"01",value:1},{label:"02",value:2},{label:"03",value:3},{label:"04",value:4},{label:"05",value:5},{label:"06",value:6},{label:"07",value:7},{label:"08",value:8},{label:"09",value:9},{label:"10",value:10},{label:"11",value:11},{label:"12",value:12}]}function minutes(){const items=[];for(let index=0;index<10;index++){items.push({label:"0"+index,value:index})}for(let index=10;index<60;index++){items.push({label:index.toString(),value:index})}return items}_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsDateTimeDistTimeSpan){TimeSpan=_webAtomsDateTimeDistTimeSpan.default},function(_Select){Select=_Select.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_stylesTimeEditorGlobalCss){}],execute:function(){_export("default",TimeEditor=class TimeEditor extends AtomControl{get time(){let t=new TimeSpan(0,this.hour,this.minute);if(this.isPM){t=t.add(TimeSpan.fromHours(12))}return t}set time(v){if(!v){v=TimeSpan.fromSeconds(0)}let h=v.hours;if(h>12){h-=12;this.isPM=true}this.hour=h;this.minute=v.minutes;AtomBinder.refreshValue(this,"time")}create(){this.isPM=false;this.hour=12;this.minute=0;this.render(XNode.create("div",{"data-time-editor":"time-editor","event-change":()=>setTimeout((()=>AtomBinder.refreshValue(this,"time")),1)},XNode.create(Select,{"data-element":"hour",items:hours(),value:Bind.twoWays((()=>this.hour))}),XNode.create(Select,{"data-element":"minute",items:minutes(),value:Bind.twoWays((()=>this.minute))}),XNode.create("button",{"event-click":()=>(this.isPM=false,AtomBinder.refreshValue(this,"time")),"data-selected":Bind.oneWay((()=>!this.isPM)),"data-element":"am",text:"AM"}),XNode.create("button",{"event-click":()=>(this.isPM=true,AtomBinder.refreshValue(this,"time")),"data-selected":Bind.oneWay((()=>this.isPM)),"data-element":"pm",text:"PM"})))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/Mailto");System.register([],(function(_export,_context){"use strict";var Mailto;return{setters:[],execute:function(){_export("Mailto",Mailto={create({subject="",to="",body="",inReplyTo=""}){const usp=new URLSearchParams;if(subject){usp.append("subject",subject)}if(body){usp.append("body",body)}if(inReplyTo){usp.append("in-reply-to",inReplyTo)}return`mailto:${to}?${usp.toString()}`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/apiPath");System.register([],(function(_export,_context){"use strict";var _a,root,apiPath,apiPathRoot;return{setters:[],execute:function(){root=((_a=window.socialMail)===null||_a===void 0?void 0:_a.path)||"/";if(root.endsWith("/")){root=root.substring(0,root.length-1)}_export("apiPath",apiPath=root?url=>root+url:url=>url);_export("apiPathRoot",apiPathRoot=root)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/CDN");System.register([],(function(_export,_context){"use strict";var _a,_b,cdn,CDN;return{setters:[],execute:function(){cdn=(_b=(_a=window.socialMail)===null||_a===void 0?void 0:_a.cdn)!==null&&_b!==void 0?_b:"";_export("CDN",CDN={toCDNUrl(url){if(/^https?\:\/\//i.test(url)){const u=new URL(url);u.hostname=cdn;return u.toString()}if(cdn){return"https://"+cdn+url}return url}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/toBase36");System.register([],(function(_export,_context){"use strict";var Base36,toBase36,parseBigInt;_export("Base36",void 0);return{setters:[],execute:function(){_export("toBase36",toBase36=n=>BigInt(n).toString(36));parseBigInt=(numberString,throwOnFail=true)=>{if(!numberString){return}if(numberString.startsWith("$")){return}const keySpace="0123456789abcdefghijklmnopqrstuvwxyz";let result=BigInt(0);const keySpaceLength=BigInt(keySpace.length);for(const iterator of numberString){const value=keySpace.indexOf(iterator);if(value===-1){if(throwOnFail){throw new Error("invalid string")}return}result=result*keySpaceLength+BigInt(value)}return result};_export("Base36",Base36=class Base36{static encode(n){return BigInt(n).toString(36)}static decode(n,throwOnFail=true){var _a;return(_a=parseBigInt(n,throwOnFail))===null||_a===void 0?void 0:_a.toString()}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/Slugger");System.register(["./toBase36"],(function(_export,_context){"use strict";var Base36,Slugger;return{setters:[function(_toBase){Base36=_toBase.Base36}],execute:function(){_export("Slugger",Slugger={slug(emailID,subject){const eid=Base36.encode(emailID);const suffix=`-${eid}`;const prefix=(subject||"").replace(/[^\p{L}\d]+/gimu,"-").trim();let slug="";const length=prefix.length+suffix.length;if(length>440){slug=prefix.substring(0,length-440)+suffix}else{slug=prefix+suffix}return slug.toLowerCase()}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/TestMode");System.register([],(function(_export,_context){"use strict";var AppLocation;return{setters:[],execute:function(){_export("AppLocation",AppLocation={isLocalTesting:/^\d+\.\d+\.\d+\.\d+$/.test(location.hostname)})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/UrlService");System.register(["../../common/apiPath","../../common/CDN","../../common/Slugger","../../common/TestMode","../../common/toBase36"],(function(_export,_context){"use strict";var apiPath,CDN,Slugger,AppLocation,Base36,UrlService;return{setters:[function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_commonCDN){CDN=_commonCDN.CDN},function(_commonSlugger){Slugger=_commonSlugger.Slugger},function(_commonTestMode){AppLocation=_commonTestMode.AppLocation},function(_commonToBase){Base36=_commonToBase.Base36}],execute:function(){_export("UrlService",UrlService={toSectionUrl({emailAddress:{emailAddress}},section="calendar",current=0){const cid="@"+emailAddress.split("@")[0];if(AppLocation.isLocalTesting){return`?${Date.now()}#!/${cid}/${section}/${current}`}return`/${cid}/${section}/${current}`},toListUrl({emailAddress:{emailAddress}},current=0){const cid="@"+emailAddress.split("@")[0];if(AppLocation.isLocalTesting){return`?${Date.now()}#!/${cid}/${current}`}return`/${cid}/${current}`},toCalendarUrl({emailAddress:{emailAddress}}){const cid="@"+emailAddress.split("@")[0];if(AppLocation.isLocalTesting){return`?${Date.now()}#!/${cid}/calendar/`}return`/${cid}/calendar/`},toBuyUrl({emailID,email:{subject},mailbox:{emailAddress:{emailAddress}}}){const cid="@"+emailAddress.split("@")[0];const slug="buy/"+emailID;if(AppLocation.isLocalTesting){return`?${Date.now()}#!/${cid}/${slug}`}return`/${cid}/${slug}`},toBlogUrl({emailID,email:{subject},mailbox:{emailAddress:{emailAddress}}}){const cid="@"+emailAddress.split("@")[0];const slug=Slugger.slug(emailID,subject);if(AppLocation.isLocalTesting){return`?${Date.now()}#!/${cid}/${slug}`}return`/${cid}/${slug}`},toTagUrl({tag:{name},mailbox:{emailAddress:{emailAddress}}}){const cid="@"+emailAddress.split("@")[0];name=name.toLowerCase();if(AppLocation.isLocalTesting){return`?${Date.now()}#!/${cid}/tag/${name}`}name=encodeURI(name);return`/${cid}/tag/${name}`},toImageUrl(file,size=700){return CDN.toCDNUrl(apiPath(`/social-mail/c/d/${location.hostname}/webp(${size})/${file.postID}/${file.appFileID}/${file.name}/${file.name}.${size}.webp`))},toVideoUrl(file){return CDN.toCDNUrl(apiPath(`/social-mail/c/d/${location.hostname}/webm-branded/${file.postID}/${file.appFileID}/${file.name}/${file.name}.branded.webm`))},getEmailID(slug){var _a;const{1:emailIDBase36}=(_a=/\-([^\-]+)\/?$/.exec(slug))!==null&&_a!==void 0?_a:[];if(emailIDBase36){return Base36.decode(emailIDBase36)}},getParameters(){var _a,_b,_c;const url=(_a=window.pageUrl)!==null&&_a!==void 0?_a:new URL(location.href);let pathname=url===null||url===void 0?void 0:url.pathname;const detail=url.searchParams.get("detail");if(detail){pathname="/"+detail}const{1:channel,2:p1,3:p2}=(_b=/^\/([^\/]+)\/([^\/]+)\/?([^\/]+)?\/?/.exec(pathname))!==null&&_b!==void 0?_b:[];let tag=null;let author=null;let slug=p1;let emailID=null;let calendar=null;let photos=null;let videos=null;if(!slug){return{channel,tag,author,emailID,calendar}}switch(slug){case"tag":case"tags":tag=p2;slug=null;break;case"author":author=p2;slug=null;break;case"calendar":calendar=true;break;case"videos":videos=true;break;case"photos":photos=true;break;default:const{1:emailIDBase36}=(_c=/\-([^\-]+)\/?$/.exec(slug))!==null&&_c!==void 0?_c:[];if(emailIDBase36){emailID=Base36.decode(emailIDBase36)}}return{channel,tag,author,emailID,calendar,photos,videos}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/InjectProperty");System.register([],(function(_export,_context){"use strict";function InjectProperty(target,key){Object.defineProperty(target,key,{get:function(){const plist=Reflect.getMetadata("design:type",target,key);const result=this.app.resolve(plist);Object.defineProperty(this,key,{get:()=>result});return result},configurable:true})}_export("default",InjectProperty);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/BusyProgress");System.register(["../styles/app/busy-progress-control.local.css"],(function(_export,_context){"use strict";var BusyProgress,container,stack;_export("default",void 0);return{setters:[function(_stylesAppBusyProgressControlLocalCss){}],execute:function(){stack=0;_export("default",BusyProgress=class BusyProgress{static install(app){app.createBusyIndicator=()=>this.create()}static create(){if(!container){container=document.createElement("div");container.className="busy-progress-control";const progressBar=document.createElement("div");progressBar.className="progress-bar";container.appendChild(progressBar);const progressBarValue=document.createElement("div");progressBarValue.className="progress-bar-value";progressBar.appendChild(progressBarValue);document.body.appendChild(container)}stack++;if(stack===1){container.setAttribute("data-show","true")}return{[Symbol.dispose](){stack--;if(stack<=0){container.removeAttribute("data-show")}}}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/EntityService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/entity/dist/services/BaseEntityService","./BusyProgress","../common/apiPath"],(function(_export,_context){"use strict";var __decorate,DISingleton,BaseEntityService,BusyProgress,apiPath,EntityService;return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistServicesBaseEntityService){BaseEntityService=_webAtomsEntityDistServicesBaseEntityService.default},function(_BusyProgress){BusyProgress=_BusyProgress.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],execute:function(){EntityService=class EntityService extends BaseEntityService{constructor(){super(...arguments);this.queryProcessor="JavaScript";this.url=apiPath("/social-mail/api/entity/")}postPageReady(){setTimeout((()=>this.runAfterEnd((()=>window.pageReady=true))),100)}createBusyIndicator(hideActivityIndicator){if(hideActivityIndicator){return{[Symbol.dispose](){}}}return BusyProgress.create()}};EntityService=__decorate([DISingleton()],EntityService);_export("default",EntityService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/Sql");System.register([],(function(_export,_context){"use strict";var Sql;return{setters:[],execute:function(){_export("Sql",Sql=void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/cache/CacheVersions");System.register([],(function(_export,_context){"use strict";var CacheVersions;return{setters:[],execute:function(){CacheVersions={email:"ec4",channelName:"cl3",comment:"c2",site:"s2"};_export("default",CacheVersions)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/email/EmailContentDownloader");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/entity/dist/models/TaskManager","../../model/model","@web-atoms/core/dist/di/Inject","../EntityService","../../common/cache/CacheTTL","../../common/cache/CacheVersions"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,TaskManager,ChannelEmail,Email,Inject,EntityService,CacheTTL,CacheVersions,cacheSeconds,EmailContentDownloader;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistModelsTaskManager){TaskManager=_webAtomsEntityDistModelsTaskManager.default},function(_modelModel){ChannelEmail=_modelModel.ChannelEmail;Email=_modelModel.Email},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_commonCacheCacheVersions){CacheVersions=_commonCacheCacheVersions.default}],execute:function(){cacheSeconds=CacheTTL.seconds.oneMonth;EmailContentDownloader=class EmailContentDownloader extends TaskManager{downloadPostContent(email){return __awaiter(this,void 0,void 0,(function*(){var _a;(_a=email.email).htmlBody||(_a.htmlBody=yield this.entityService.run(ChannelEmail,"getBody",email,{cacheVersion:CacheVersions.email,cacheSeconds}).asText())}))}downloadPost(email){return __awaiter(this,void 0,void 0,(function*(){email.htmlBody||(email.htmlBody=yield this.entityService.run(Email,"getBody",email,{cacheVersion:CacheVersions.email,cacheSeconds}).asText())}))}};__decorate([Inject,__metadata("design:type",EntityService)],EmailContentDownloader.prototype,"entityService",void 0);EmailContentDownloader=__decorate([DISingleton({})],EmailContentDownloader);_export("default",EmailContentDownloader)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/EngagementService");System.register(["tslib","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/cache/CacheTTL","@web-atoms/date-time/dist/DateTime","../../../../services/email/EmailContentDownloader","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Email,EmailEngagement,CacheTTL,DateTime,EmailContentDownloader,DISingleton,cacheSeconds,EngagementService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Email=_modelModel.Email;EmailEngagement=_modelModel.EmailEngagement},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){cacheSeconds=CacheTTL.seconds.oneMonth;EngagementService=class EngagementService{downloadEngagements(email){return __awaiter(this,void 0,void 0,(function*(){try{const{emailID}=email;let now=DateTime.now;const minute=Math.floor(now.minute/5);now=now.addMinutes(-minute);const cacheVersion=email.dateUpdated?DateTime.from(email.dateUpdated).msSinceEpoch.toString(36):"-";email.engagements=yield this.entityService.query(EmailEngagement).where({emailID},(p=>x=>x.emailID===p.emailID)).toArray({cacheVersion,cacheSeconds:300})}catch(error){console.error(error)}}))}list(_a){return __awaiter(this,arguments,void 0,(function*({start=0,size=50,engagement="",emailID=0,mailboxID=0,emailAddressID=0,dateUpdated=null}){const q=this.entityService.query(Email).where({mailboxID,emailAddressID,engagement,emailID},(p=>x=>x.engagement===p.engagement&&x.parentID===p.emailID));const cacheVersion=dateUpdated?DateTime.from(dateUpdated).msSinceEpoch.toString(36):"-";const list=yield q.toPagedList({start,size,cacheVersion,cacheSeconds});return list}))}};__decorate([Inject,__metadata("design:type",EntityService)],EngagementService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],EngagementService.prototype,"emailContentDownloader",void 0);EngagementService=__decorate([DISingleton()],EngagementService);_export("default",EngagementService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/BlogService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../services/EntityService","../../model/model","../../common/Sql","../../services/email/EmailContentDownloader","../../web/page/mails/service/EngagementService","../../common/apiPath","../../common/cache/CacheTTL","../../common/CDN","../../common/cache/CacheVersions"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,ChannelEmail,Email,Mailbox,Sql,EmailContentDownloader,EngagementService,apiPath,CacheTTL,CDN,CacheVersions,updateAttachments,BlogService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){ChannelEmail=_modelModel.ChannelEmail;Email=_modelModel.Email;Mailbox=_modelModel.Mailbox},function(_commonSql){Sql=_commonSql.Sql},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_webPageMailsServiceEngagementService){EngagementService=_webPageMailsServiceEngagementService.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_commonCDN){CDN=_commonCDN.CDN},function(_commonCacheCacheVersions){CacheVersions=_commonCacheCacheVersions.default}],execute:function(){updateAttachments=(channelID,email)=>{if(email.attachments){for(const iterator of email.attachments){if(/^video\//i.test(iterator.contentType)){iterator.url=CDN.toCDNUrl(apiPath(`/social-mail/c/d/${location.hostname}/webm-branded/${iterator.postID}/${iterator.appFileID}/2-${iterator.name}/${iterator.name}.3.webm`));continue}iterator.url=CDN.toCDNUrl(apiPath(`/social-mail/c/d/${location.hostname}/view/${iterator.postID}/${iterator.appFileID}/${iterator.name}`))}}};BlogService=class BlogService{getEmail(_a){return __awaiter(this,arguments,void 0,(function*({emailID,channelID,channel}){const ce=yield this.entityService.query(ChannelEmail,"channelEmails",channelID).where({emailID},(p=>x=>x.emailID===p.emailID)).include((x=>[x.email.engagements,x.email.emailTags.forEach((t=>t.tag)),x.email.attachments])).firstOrDefault();const email=ce.email;email.htmlBody=yield this.entityService.run(ChannelEmail,"getBody",ce,{cacheSeconds:CacheTTL.seconds.oneMonth,cacheVersion:CacheVersions.email}).asText();updateAttachments(channelID,email);email.children=yield this.entityService.query(Email,"channelEmails",channelID).where({emailID},(p=>x=>x.parentID===p.emailID&&x.status==="published")).include((x=>[x.engagements,x.emailTags.forEach((t=>t.tag)),x.attachments])).toArray({});return email}))}getEmails(_a){return __awaiter(this,arguments,void 0,(function*({channelID=0,parentID=0,author="",tag="",search="",start=0,size=10,cancelToken}){let q=this.entityService.query(ChannelEmail,"channelEmails",channelID).where((x=>x.datePublished!==null));if(parentID){q=q.where({parentID},(p=>x=>x.email.parentID===p.parentID))}else{q=q.where({channelID},(p=>x=>x.isThread===true&&x.mailboxID===p.channelID))}if(search){q=q.where({search},(p=>x=>Sql.text.includes(x.email.textBody,p.search)||Sql.text.includes(x.email.subject,p.search)))}if(tag){q=q.where({tag},(p=>x=>x.email.emailTags.some((t=>t.tag.lowerCaseName===p.tag))))}if(author){q=q.where({author},(p=>x=>x.email.senderName===p.author))}const mailboxEmails=yield q.include((x=>[x.previewFile,x.email.engagements,x.email.emailTags.forEach((t=>t.tag))])).orderByDescending((x=>x.dateUpdated)).toPagedList({start,size,cancelToken});const tasks=[];for(const{postID,email}of mailboxEmails.items){tasks.push(this.downloader.downloadPost(email))}yield Promise.all(tasks);return mailboxEmails}))}getChannel(emailAddress,channel,d){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(Mailbox,"channels",emailAddress,d).where((x=>x.datePublished!==null));if(channel===null||channel===void 0?void 0:channel.startsWith("@")){channel=channel.substring(1).toLowerCase()+"@%";q=q.where({channel},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.channel)))}const c=yield q.include((x=>x.emailAddress)).orderByDescending((x=>x.datePublished)).firstOrDefault({cacheVersion:CacheVersions.channelName,cacheSeconds:CacheTTL.seconds.oneHour});return c}))}};__decorate([Inject,__metadata("design:type",EntityService)],BlogService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],BlogService.prototype,"downloader",void 0);__decorate([Inject,__metadata("design:type",EngagementService)],BlogService.prototype,"engagementService",void 0);BlogService=__decorate([DISingleton()],BlogService);_export("default",BlogService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/blog-header/BlogHeader");System.register(["@web-atoms/core/dist/core/XNode","../../UrlService","./BlogHeader.global.css"],(function(_export,_context){"use strict";var XNode,UrlService;function BlogHeader({channel,search}){return XNode.create("header",{class:"blog-header"},XNode.create("div",null,XNode.create("span",{text:channel.emailAddress.name}),XNode.create("share-button",{class:"follow",href:`mailto:subscribe-${channel.emailAddress.emailAddress}?subject=subscribe`},"Follow")),search&&XNode.create("div",{class:"search"},XNode.create("input",{placeholder:"Search...",value:search})),XNode.create("div",{"data-layout":"row"},XNode.create("a",{href:UrlService.toSectionUrl(channel,"photos")},"Photos"),XNode.create("a",{href:UrlService.toSectionUrl(channel,"videos")},"Videos")))}_export("default",BlogHeader);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_BlogHeaderGlobalCss){}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/BlogImageService");System.register(["tslib","@web-atoms/core/dist/di/Inject","../../services/EntityService","@web-atoms/core/dist/di/DISingleton","../../common/apiPath","@social-mail/social-mail-client/content/images/svg/logo/logo-orange.svg","../../common/CDN"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,DISingleton,apiPath,orangeLogo,CDN,BlogImageService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_socialMailSocialMailClientContentImagesSvgLogoLogoOrangeSvg){orangeLogo=_socialMailSocialMailClientContentImagesSvgLogoLogoOrangeSvg.default},function(_commonCDN){CDN=_commonCDN.CDN}],execute:function(){BlogImageService=class BlogImageService{getImage(ce){return __awaiter(this,void 0,void 0,(function*(){const file=ce.previewFile;if(file){return CDN.toCDNUrl(apiPath(`/social-mail/c/d/${location.hostname}/webp(700)/${file.postID}/${file.appFileID}/${file.name}/${file.name}.700.webp`))}return orangeLogo}))}};__decorate([Inject,__metadata("design:type",EntityService)],BlogImageService.prototype,"entityService",void 0);BlogImageService=__decorate([DISingleton()],BlogImageService);_export("default",BlogImageService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/PostList");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../services/EntityService","@web-atoms/core/dist/core/XNode","../UrlService","@web-atoms/core/dist/core/Bind","@social-mail/social-mail-client/content/images/gif/loader.gif","../BlogImageService","../../../common/cache/CacheTTL","../../../model/model","./PostList.global.css"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,AtomRepeater,EntityService,XNode,UrlService,Bind,loaderImage,BlogImageService,CacheTTL,ChannelEmail,PostList,cacheVersion;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_socialMailSocialMailClientContentImagesGifLoaderGif){loaderImage=_socialMailSocialMailClientContentImagesGifLoaderGif.default},function(_BlogImageService){BlogImageService=_BlogImageService.default},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_modelModel){ChannelEmail=_modelModel.ChannelEmail},function(_PostListGlobalCss){}],execute:function(){cacheVersion="1a";_export("default",PostList=class PostList extends AtomRepeater{constructor(app,e=document.createElement("post-list")){super(app,e);this.pushInit()}init(){return __awaiter(this,void 0,void 0,(function*(){this.headerRenderer=text=>XNode.create("header",{text});this.setHeader();this.itemRenderer=x=>XNode.create("div",null,XNode.create("img",{src:Bind.oneTimeAsync((()=>this.blogImageService.getImage(x)),loaderImage)}),XNode.create("a",{href:UrlService.toBlogUrl(x),title:x.email.subject,text:x.email.subject}));const q=this.entityService.query(ChannelEmail,"channelEmails").where((x=>x.isThread===true)).include((x=>[x.email,x.previewFile,x.mailbox.emailAddress]));const posts=yield this.query(q);this.items=posts.items}))}setHeader(){this.header="Popular Posts"}query(q){return q.orderByDescending((x=>x.engagementCount)).toPagedList({size:5,cacheVersion,cacheSeconds:CacheTTL.seconds.fifteenMinutes})}});__decorate([InjectProperty,__metadata("design:type",EntityService)],PostList.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",BlogImageService)],PostList.prototype,"blogImageService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/RecentPosts");System.register(["./PostList"],(function(_export,_context){"use strict";var PostList,RecentPosts;_export("default",void 0);return{setters:[function(_PostList){PostList=_PostList.default}],execute:function(){_export("default",RecentPosts=class RecentPosts extends PostList{setHeader(){this.header="Recent Posts"}query(q){return q.orderByDescending((x=>x.datePublished)).toPagedList({size:5})}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/TagCloud");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../services/EntityService","../../../model/model","@web-atoms/core/dist/core/XNode","../UrlService","../../../common/cache/CacheTTL","../styles/tag-cloud.global.css"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,AtomRepeater,EntityService,MailboxTag,XNode,UrlService,CacheTTL,TagCloud,cacheVersion;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){MailboxTag=_modelModel.MailboxTag},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_stylesTagCloudGlobalCss){}],execute:function(){cacheVersion="1a";_export("default",TagCloud=class TagCloud extends AtomRepeater{constructor(app,e=document.createElement("tag-cloud")){super(app,e);this.pushInit()}init(){return __awaiter(this,void 0,void 0,(function*(){const tags=yield this.entityService.query(MailboxTag,"channelTags").include((x=>[x.tag,x.mailbox.emailAddress])).where((x=>x.count>0)).orderByDescending((x=>x.count)).toPagedList({size:20,cacheVersion,cacheSeconds:CacheTTL.seconds.fifteenMinutes});this.itemRenderer=x=>XNode.create("a",{href:UrlService.toTagUrl(x),text:`#${x.tag.name}`});this.items=tags.items;const first=tags.items[0];if(!first){return}this.footer=true;this.footerRenderer=()=>XNode.create("a",{href:UrlService.toSectionUrl(first.mailbox,"tags")},"More...")}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],TagCloud.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/UpcomingEvents");System.register(["./PostList","@web-atoms/core/dist/core/XNode","../UrlService","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var PostList,XNode,UrlService,DateTime,UpcomingEvents;_export("default",void 0);return{setters:[function(_PostList){PostList=_PostList.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("default",UpcomingEvents=class UpcomingEvents extends PostList{constructor(){super(...arguments);this.channel=null}setHeader(){this.header="Events";this.headerRenderer=text=>XNode.create("header",null,XNode.create("a",{href:UrlService.toCalendarUrl(this.channel)},"Events"))}query(q){const{now}=DateTime;return q.where({now},(p=>x=>x.email.mailboxContactEvents.some((a=>a.startDate>p.now)))).orderByDescending((x=>x.datePublished)).toPagedList({size:5})}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/Loader");System.register(["@web-atoms/core/dist/core/XNode","@social-mail/social-mail-client/content/images/gif/loader.gif"],(function(_export,_context){"use strict";var XNode,loaderImage;function Loader(){return XNode.create("div",{"data-position":"absolute-fill","data-layout":"center-all"},XNode.create("img",{src:loaderImage}))}_export("default",Loader);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_socialMailSocialMailClientContentImagesGifLoaderGif){loaderImage=_socialMailSocialMailClientContentImagesGifLoaderGif.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/pages/BaseChannelPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../services/EntityService","../BlogService","../controls/blog-header/BlogHeader","../controls/RecentPosts","../controls/TagCloud","../controls/UpcomingEvents","../controls/PostList","../../../common/controls/Loader"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,ContentPage,EntityService,BlogService,BlogHeader,RecentPosts,TagCloud,UpcomingEvents,PopularPosts,Loader,BaseChannelPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_BlogService){BlogService=_BlogService.default},function(_controlsBlogHeaderBlogHeader){BlogHeader=_controlsBlogHeaderBlogHeader.default},function(_controlsRecentPosts){RecentPosts=_controlsRecentPosts.default},function(_controlsTagCloud){TagCloud=_controlsTagCloud.default},function(_controlsUpcomingEvents){UpcomingEvents=_controlsUpcomingEvents.default},function(_controlsPostList){PopularPosts=_controlsPostList.default},function(_commonControlsLoader){Loader=_commonControlsLoader.default}],execute:function(){_export("default",BaseChannelPage=class BaseChannelPage extends ContentPage{constructor(){super(...arguments);this.channel=null}set route(v){}init(){return __awaiter(this,void 0,void 0,(function*(){const{channel}=this.parameters;this.renderer=XNode.create("div",null);this.channel=yield this.blogService.getChannel(void 0,channel,void 0);document.title="Social "+this.channel.emailAddress.emailAddress;this.renderer=XNode.create("div",null,XNode.create(Loader,null));this.renderer=XNode.create("section",{"data-blog-list":"blog-list"},this.renderHeader(),yield this.renderBody(),XNode.create("aside",null,XNode.create(TagCloud,null),XNode.create(UpcomingEvents,{channel:this.channel}),XNode.create(PopularPosts,null),XNode.create(RecentPosts,null)),XNode.create("footer",null))}))}renderHeader(){return XNode.create(BlogHeader,{channel:this.channel})}});__decorate([InjectProperty,__metadata("design:type",EntityService)],BaseChannelPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",BlogService)],BaseChannelPage.prototype,"blogService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/pages/ChannelCalendarPage");System.register(["tslib","../../../model/model","@web-atoms/core/dist/core/XNode","../../../common/cache/CacheTTL","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Calendar","@web-atoms/web-controls/dist/basic/TimeEditor","../../../common/Mailto","../UrlService","./BaseChannelPage","../styles/channel-calendar.global.css"],(function(_export,_context){"use strict";var __awaiter,MailboxContactEvent,XNode,CacheTTL,AtomControl,DateTime,TimeSpan,Bind,Calendar,TimeEditor,Mailto,UrlService,BaseChannelPage,ChannelCalendarPage,cacheVersion,cacheSeconds,renderChildren,toVisibleDate;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_modelModel){MailboxContactEvent=_modelModel.MailboxContactEvent},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsDateTimeDistTimeSpan){TimeSpan=_webAtomsDateTimeDistTimeSpan.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicCalendar){Calendar=_webAtomsWebControlsDistBasicCalendar.default},function(_webAtomsWebControlsDistBasicTimeEditor){TimeEditor=_webAtomsWebControlsDistBasicTimeEditor.default},function(_commonMailto){Mailto=_commonMailto.Mailto},function(_UrlService){UrlService=_UrlService.UrlService},function(_BaseChannelPage){BaseChannelPage=_BaseChannelPage.default},function(_stylesChannelCalendarGlobalCss){}],execute:function(){cacheVersion="v1";cacheSeconds=CacheTTL.seconds.fifteenMinutes;renderChildren=AtomControl.registerProperty("data-render","children",((c,e,v)=>{e.innerHTML="";if(!v){return}c.render(XNode.create("div",null," ",...v," "),e,c)}));toVisibleDate=date=>{if(!date){return""}const month=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][date.month];return`${date.year}-${month}-${date.day}`};_export("default",ChannelCalendarPage=class ChannelCalendarPage extends BaseChannelPage{constructor(){super(...arguments);this.selectedDate=null;this.calendarEvents=new Map;this.time=TimeSpan.parse("11:00 AM")}renderBody(){return __awaiter(this,void 0,void 0,(function*(){const now=DateTime.now;this.month=now.month;this.year=now.year;document.title="Social "+this.channel.emailAddress.emailAddress+" Calendar";return XNode.create("section",{"data-width":"100%"},XNode.create("div",{"attr-calendar-view":"calendar-view",update:Bind.oneWayAsync(((c,e,cancelToken)=>this.loadEvents(this.year,this.month,cancelToken)))},XNode.create(Calendar,{year:Bind.twoWaysImmediate((()=>this.year)),month:Bind.twoWaysImmediate((()=>this.month)),value:Bind.twoWaysImmediate((()=>this.selectedDate)),dateRenderer:x=>XNode.create("div",null,XNode.create("label",{text:x.label}),XNode.create("mini-calendar-events",Object.assign({},renderChildren(Bind.source({self:this,x},(s=>this.renderEvent(s.source.self.calendarEvents,s.source.x.value)))))))}),XNode.create("vflex-div",{"style-display":Bind.oneWay((()=>!!this.selectedDate))},XNode.create("calendar-events",Object.assign({},renderChildren(Bind.source({self:this},(s=>this.renderEventItem(s.source.self.calendarEvents,s.source.self.selectedDate)))))),XNode.create("details",null,XNode.create("summary",null,"Create New"),XNode.create("div",{"data-layout":"row"},"Create Event at",XNode.create(TimeEditor,{time:Bind.twoWaysImmediate((()=>this.time))}),XNode.create("share-button",{href:Bind.oneWay((()=>this.createEvent(this.selectedDate,this.time)))},"Create Event"))))))}))}createEvent(date,time){if(!date){return""}let l="";const d=date.date.add(time);const body=`\r\nEvent on: 📅: ${d.toJSON()}\r\n${l}`;return Mailto.create({to:this.channel.emailAddress.emailAddress,body})}renderEvent(calendarEvents,date){if(!date){return null}const items=calendarEvents.get(date.date.msSinceEpoch);if(!items){return null}return items.map((x=>XNode.create("a",{href:UrlService.toBlogUrl({emailID:x.emailID,email:x.email,mailbox:x.mailbox}),text:x.title,title:x.title})))}renderEventItem(calendarEvents,date){if(!date){return null}const items=calendarEvents.get(date.date.msSinceEpoch);if(!items){return null}return items.map((x=>XNode.create("post-item",null,XNode.create("span",{text:"📅"}),XNode.create("span",{text:toVisibleDate(date)}),XNode.create("a",{href:UrlService.toBlogUrl({emailID:x.emailID,email:x.email,mailbox:x.mailbox}),text:x.title}))))}loadEvents(year,month,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const events=yield this.entityService.query(MailboxContactEvent,"calendarMonth",year,month).include((x=>[x.email,x.mailbox.emailAddress])).orderBy((x=>x.startDate)).toArray({cancelToken,cacheVersion,cacheSeconds});const dayMap=new Map;let start=null;for(const element of events){const key=element.startDate.date.msSinceEpoch;let values=dayMap.get(key);start!==null&&start!==void 0?start:start=element.startDate.date;if(!values){values=[];dayMap.set(key,values)}values.push(element)}this.calendarEvents=dayMap;if(start){this.selectedDate=start}this.entityService.postPageReady();return}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/FileUrlService");System.register(["@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var AtomControl,FetchBuilder,FileUrlService,AnimatedImgSrc;return{setters:[function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){_export("FileUrlService",FileUrlService={downloadUrl(file){const url=file.url;return url.replace("/view/","/download/")},pdf(file){const url=file.url;return url.replace("/view/","/pdf/")+".pdf"},html(file){const url=file.url;return url.replace("/view/","/html/")+".html"},webP(file,size=300){const webp=`/webp(${300})/`;const url=file.url.replace("/view/",webp).replace("/webm-branded/",webp);return url+`.${size}.webp`},webM(file){const url=file.url;return url.replace("/view/",`/webm/`)+`.webm`},webMBranded(file){const url=file.url;return url.replace("/view/",`/webm-branded/`)+`.branded.webm`}});_export("AnimatedImgSrc",AnimatedImgSrc=AtomControl.registerProperty("animated","src",((c,e,v)=>{e.setAttribute("src",v);if(!v){return}const i=setInterval((()=>{const f=FetchBuilder.get(v).asBlob().then((svg=>{const url=URL.createObjectURL(svg);const lastUrl=e.getAttribute("src");if(lastUrl.startsWith("blob:")){URL.revokeObjectURL(lastUrl)}e.setAttribute("src",url)}))}),5e3);c.disposables.add((()=>{clearInterval(i)}))})))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/Pager");System.register(["@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var XNode;function*range(start,end,url){for(let index=start;index<=end;index++){yield XNode.create("a",{href:url(index)},index.toString())}}function Pager({current,end,step=3,url=void 0}){if(end<0){return XNode.create("div",null)}if(end<=step){return XNode.create("div",{"data-layout":"row"},XNode.create("a",{href:url(0)},"First"),...Array.from(range(1,end,url)))}if(current){if(current>step){if(current<end-step){return XNode.create("div",{"data-layout":"row"},XNode.create("a",{href:url(0)},"First"),"...",...Array.from(range(current-step,current+step,url)),"...",XNode.create("a",{href:url(end)},"Last"))}return XNode.create("div",{"data-layout":"row"},XNode.create("a",{href:url(0)},"First"),"...",...Array.from(range(current-step,end,url)),XNode.create("a",{href:url(end)},"Last"))}return XNode.create("div",{"data-layout":"row"},XNode.create("a",{href:url(0)},"First"),...Array.from(range(1,current+step,url)),"...",XNode.create("a",{href:url(end)},"Last"))}return XNode.create("div",{"data-layout":"row"},...Array.from(range(1,end,url)),XNode.create("a",{href:url(end)},"Last"))}_export("default",Pager);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/pages/video/ChannelVideosPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","../../../../model/model","../../../../services/EntityService","@web-atoms/core/dist/core/XNode","../../UrlService","../../../../common/Sql","../../BlogService","../BaseChannelPage","./ChannelVideoPage.local.css","../../../../common/FileUrlService","../../controls/Pager"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,AppFile,EntityService,XNode,UrlService,Sql,BlogService,BaseChannelPage,FileUrlService,Pager,ChannelVideosPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_modelModel){AppFile=_modelModel.AppFile},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_commonSql){Sql=_commonSql.Sql},function(_BlogService){BlogService=_BlogService.default},function(_BaseChannelPage){BaseChannelPage=_BaseChannelPage.default},function(_ChannelVideoPageLocalCss){},function(_commonFileUrlService){FileUrlService=_commonFileUrlService.FileUrlService},function(_controlsPager){Pager=_controlsPager.default}],execute:function(){_export("default",ChannelVideosPage=class ChannelVideosPage extends BaseChannelPage{constructor(){super(...arguments);this.channel=null;this.start=0;this.size=50}renderBody(){return __awaiter(this,void 0,void 0,(function*(){const videos=yield this.loadVideos();const items=videos.items;document.title="Videos "+this.channel.emailAddress.emailAddress;this.element.className="channel-video-page";return XNode.create("section",{"data-width":"100%"},XNode.create("video-grid",null,...items.map((m=>XNode.create("a",{"data-click-event":"route",href:UrlService.toBlogUrl({emailID:m.emailID,email:m.email,mailbox:this.channel})},XNode.create("video-preview",null,XNode.create("label",{text:m.email.subject}),XNode.create("img",{src:FileUrlService.webP(m,640)})))))),XNode.create(Pager,{current:this.start,end:Math.floor(videos.total/this.size)-1,url:x=>UrlService.toSectionUrl(this.channel,"videos",x)}))}))}loadVideos(){this.entityService.postPageReady();return this.entityService.query(AppFile,"channelFiles",this.channel.mailboxID).where((x=>Sql.text.like(x.contentType,"video/%"))).include((x=>x.email)).orderByDescending((x=>x.appFileID)).toPagedList({start:this.start,size:3})}});__decorate([InjectProperty,__metadata("design:type",EntityService)],ChannelVideosPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",BlogService)],ChannelVideosPage.prototype,"blogService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/pages/photo/ChannelPhotosPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","../../../../model/model","../../../../services/EntityService","@web-atoms/core/dist/core/XNode","../../UrlService","../../../../common/Sql","../../BlogService","../BaseChannelPage","../../controls/Pager","./ChannelPhotosPage.local.css"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,AppFile,EntityService,XNode,UrlService,Sql,BlogService,BaseChannelPage,Pager,ChannelPhotosPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_modelModel){AppFile=_modelModel.AppFile},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_commonSql){Sql=_commonSql.Sql},function(_BlogService){BlogService=_BlogService.default},function(_BaseChannelPage){BaseChannelPage=_BaseChannelPage.default},function(_controlsPager){Pager=_controlsPager.default},function(_ChannelPhotosPageLocalCss){}],execute:function(){_export("default",ChannelPhotosPage=class ChannelPhotosPage extends BaseChannelPage{constructor(){super(...arguments);this.channel=null;this.start=0;this.size=50}renderBody(){return __awaiter(this,void 0,void 0,(function*(){var _a;this.element.setAttribute("page-type","photos");this.start=Number.parseInt((_a=this.parameters.start)!==null&&_a!==void 0?_a:0,10);const photos=yield this.loadPhotos();const items=photos.items;document.title="Photos "+this.channel.emailAddress.emailAddress;return XNode.create("section",{"data-width":"100%"},XNode.create("image-grid",null,...items.map((m=>XNode.create("img",{src:UrlService.toImageUrl(m,300),"attr-large-src":UrlService.toImageUrl(m,1600)})))),XNode.create(Pager,{current:this.start,end:Math.floor(photos.total/this.size)-1,url:x=>UrlService.toSectionUrl(this.channel,"photos",x)}))}))}loadPhotos(){this.entityService.postPageReady();return this.entityService.query(AppFile,"channelFiles",this.channel.mailboxID).where((x=>Sql.text.like(x.contentType,"image/%"))).orderByDescending((x=>x.appFileID)).toPagedList({start:this.start*this.size,size:this.size})}});__decorate([InjectProperty,__metadata("design:type",EntityService)],ChannelPhotosPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",BlogService)],ChannelPhotosPage.prototype,"blogService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/date/DateFormats");System.register(["@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var DateTime,DIVISIONS,DateFormats;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){DIVISIONS=[{amount:60,name:"seconds"},{amount:60,name:"minutes"},{amount:24,name:"hours"},{amount:7,name:"days"},{amount:4.34524,name:"weeks"},{amount:12,name:"months"},{amount:Number.POSITIVE_INFINITY,name:"years"}];_export("DateFormats",DateFormats={diff(d){if(!d){return""}if(!(d instanceof DateTime)){d=typeof d==="string"?new DateTime(d):DateTime.from(d)}const today=DateTime.now;let diff=today.diff(d);if(diff.totalMilliseconds<0){diff=d.diff(today)}if(diff.totalHours<=24){if(diff.totalSeconds<=180){return"now"}if(diff.totalMinutes<60){return Math.round(diff.totalMinutes)+"m"}return Math.round(diff.totalHours)+"h"}if(diff.totalDays<=30){return Math.round(diff.totalDays)+"d"}if(diff.totalDays<=365){return Math.round(diff.totalDays/30)+"mo"}return Math.round(diff.totalDays/365)+"yr"},withWeekDayAndTime(d,def=""){var _a;if(!d){return def}d=DateTime.from(d);return(_a=d===null||d===void 0?void 0:d.toLocaleString(navigator.language,{year:"numeric",month:"short",day:"numeric",weekday:"short",hour12:true,minute:"numeric",hour:"numeric"}))!==null&&_a!==void 0?_a:def},relative:{short(d,{suffix}={suffix:"ago"}){if(!d){return""}d=DateTime.from(d);const now=DateTime.now;if(now<d){return"in "+DateFormats.diff(d)}const diff=DateFormats.diff(d);if(diff==="now"){return"now"}if(!suffix){return diff}return diff+" "+suffix}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/image/ImageLoader");System.register(["@web-atoms/core/dist/web/controls/AtomControl","@social-mail/social-mail-client/content/images/gif/loader.gif"],(function(_export,_context){"use strict";var AtomControl,loaderImage,ImageLoader;return{setters:[function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_socialMailSocialMailClientContentImagesGifLoaderGif){loaderImage=_socialMailSocialMailClientContentImagesGifLoaderGif.default}],execute:function(){_export("ImageLoader",ImageLoader={src:AtomControl.registerProperty("image-loader","value",((c,e,v)=>{e.setAttribute("src",loaderImage);setTimeout((()=>e.setAttribute("src",v)),1)}))})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/MediaCarousel");System.register(["@web-atoms/core/dist/core/XNode","../../../common/controls/image/ImageLoader"],(function(_export,_context){"use strict";var XNode,ImageLoader;function MediaCarousel({email=void 0}){var _a;if(!((_a=email.attachments)===null||_a===void 0?void 0:_a.length)){return false}if(email.attachments.length===1){if(email.attachments[0].included){return false}}let children=[];for(const element of email.attachments){if(/video/i.test(element.contentType)){children.push(XNode.create("div",{"data-element":"preview"},XNode.create("video",{controls:"true",src:element.url})));continue}if(/image/i.test(element.contentType)){children.push(XNode.create("div",{"data-element":"preview"},XNode.create("img",Object.assign({},ImageLoader.src(element.url)))));continue}}if(children.length){if(children.length>1){children=[XNode.create("carousel-slider",{"data-element":"media"},...children)]}return XNode.create("div",{"data-element":"media"},children[0])}return XNode.create("div",{"data-element":"media"})}_export("default",MediaCarousel);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonControlsImageImageLoader){ImageLoader=_commonControlsImageImageLoader.ImageLoader}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/LimitedText");System.register(["tslib","@web-atoms/core/dist/core/XNode","../styles/limited-text.global.css"],(function(_export,_context){"use strict";var __rest,XNode,toggleDetails,setEventHandler;function LimitedText(_a,...nodes){var{text="",height=100}=_a,a=__rest(_a,["text","height"]);setEventHandler===null||setEventHandler===void 0?void 0:setEventHandler();const h=typeof height==="number"?`${height}px`:height;return XNode.create("div",Object.assign({"data-mode":"collapsed","data-max-height":h,"style-max-height":h,"data-limited-text":"limited-text"},a),text&&XNode.create("p",{text}),...nodes,XNode.create("div",{"style-top":h,"data-element":"more"},XNode.create("button",{class:"fa-solid fa-angles-up"})))}_export("default",LimitedText);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_stylesLimitedTextGlobalCss){}],execute:function(){toggleDetails=e=>{let start=e.target;if(e.defaultPrevented){return}start=start.parentElement;const container=start;start=start===null||start===void 0?void 0:start.parentElement;if(!start||start.getAttribute("data-limited-text")!=="limited-text"){return}e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();if(start.getAttribute("data-mode")==="collapsed"){start.setAttribute("data-mode","open");start.style.maxHeight="";container.style.top=""}else{const h=start.getAttribute("data-max-height");start.style.maxHeight=h;container.style.top=h;start.setAttribute("data-mode","collapsed")}};setEventHandler=()=>{document.body.addEventListener("click",toggleDetails);setEventHandler=null}}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/style/mergeStyle");System.register([],(function(_export,_context){"use strict";function newCSSStyleDeclaration(){const e=document.createElement("div");return e.style}function mergeStyle(...styles){var _a,_b;const s=newCSSStyleDeclaration();for(const iterator of styles){if(!iterator){continue}if(iterator instanceof CSSStyleDeclaration){for(let index=0;index<iterator.length;index++){const name=iterator[index];let value=(_a=iterator[name])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}s[name]=value}continue}for(const key in iterator){if(Object.prototype.hasOwnProperty.call(iterator,key)){const element=(_b=iterator[key])===null||_b===void 0?void 0:_b.toString();if(!element){continue}s[key]=element}}}return s}_export({newCSSStyleDeclaration,default:mergeStyle});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/dom/StyleHelper");System.register(["../style/mergeStyle"],(function(_export,_context){"use strict";var newCSSStyleDeclaration,StyleHelper,toStyle;_export("default",void 0);return{setters:[function(_styleMergeStyle){newCSSStyleDeclaration=_styleMergeStyle.newCSSStyleDeclaration}],execute:function(){toStyle=style=>{var _a;if(typeof style==="string"){const css=style;const cs=newCSSStyleDeclaration();cs.cssText=css;return cs}const s=newCSSStyleDeclaration();if(style instanceof CSSStyleDeclaration){return style}for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=(_a=style[key])===null||_a===void 0?void 0:_a.toString();if(element===void 0||element===null||element===""){continue}s[key]=element}}return s};_export("default",StyleHelper=class StyleHelper{static styleToString(style,props){var _a;if(!style){return}const cs=toStyle(style);if(props){const ps=toStyle(props);for(let index=0;index<ps.length;index++){const key=ps[index];let value=(_a=ps[key])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}cs[key]=value}}const allKeys=[];for(let index=0;index<cs.length;index++){const key=cs[index];allKeys.push(key)}for(const key of allKeys){if(!cs[key]){cs.removeProperty(key)}}return cs.cssText}})}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/DomToString");System.register(["@web-atoms/core/dist/core/XNode","./dom/StyleHelper"],(function(_export,_context){"use strict";var XNode,StyleHelper;function DomToString(node){const div=document.createElement("div");DomToElement(div,XNode.create("div",null,node));return div.innerHTML}function DomToElement(div,node){var _a;while(typeof node.name==="function"){node=node.name(node.attributes,...node.children)}const a=node.attributes;if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){let element=a[key];if(element===null||element===void 0){continue}if(typeof element==="object"&&key==="style"){element=StyleHelper.styleToString(element)}else{element=element.toString()}if(!element){continue}switch(key){case"text":div.textContent=element;continue;case"innerHTML":div.innerHTML=element;continue}if(key.startsWith("styler-")){div.setAttribute(key,element);continue}if(key.startsWith("style")&&key.length>5){div.style[key.substring(5)]=element;continue}if(key.startsWith("data")&&key.length>4){if(key.indexOf("-")!==-1){div.setAttribute(key,element);continue}div.dataset[key.substring(4)]=element;continue}div.setAttribute(key,element)}}}if(!((_a=node.children)===null||_a===void 0?void 0:_a.length)){return}for(let iterator of node.children){if(iterator===false||iterator===void 0||iterator===null){continue}if(typeof iterator!=="object"){div.appendChild(document.createTextNode(iterator.toString()));continue}while(typeof iterator.name==="function"){iterator=iterator.name(iterator.attributes,...iterator.children)}const child=document.createElement(iterator.name);div.appendChild(child);DomToElement(child,iterator)}}_export({default:DomToString,DomToElement});return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_domStyleHelper){StyleHelper=_domStyleHelper.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/events/CommonEvents");System.register(["@web-atoms/core/dist/core/EventScope"],(function(_export,_context){"use strict";var EventScope,CommonEvents;return{setters:[function(_webAtomsCoreDistCoreEventScope){EventScope=_webAtomsCoreDistCoreEventScope.default}],execute:function(){_export("CommonEvents",CommonEvents={onThreadMarkedAsRead:EventScope.create(),onThreadMarkedAsBlocked:EventScope.create(),onDraftDeleted:EventScope.create(),onFileDeleted:EventScope.create(),onEmailScheduled:EventScope.create(),onEmailUnscheduled:EventScope.create(),onFileChanged:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/commands/MailAppEvents");System.register(["@web-atoms/core/dist/core/EventScope"],(function(_export,_context){"use strict";var EventScope,MailAppEvents;return{setters:[function(_webAtomsCoreDistCoreEventScope){EventScope=_webAtomsCoreDistCoreEventScope.default}],execute:function(){_export("MailAppEvents",MailAppEvents={mailboxContactUpdated:EventScope.create(),refreshMailboxContacts:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/fileUrl");System.register(["./apiPath"],(function(_export,_context){"use strict";var apiPath,viewFileUrl,fileUrl,imageUrl,srcSetUrl,signedImageUrl,signedUrl,storeFileUrl;return{setters:[function(_apiPath){apiPath=_apiPath.apiPath}],execute:function(){_export("viewFileUrl",viewFileUrl=(site,file)=>apiPath(`/api/site/asset/view/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${file.name}`));_export("fileUrl",fileUrl=(file,{action="download",args=void 0,fileName="",ext=""}={})=>{let name=encodeURIComponent(file.name);if(args){if(Array.isArray(args)){args=args.join(",")}ext="."+args+ext;action=action+"("+args+")"}if(ext){fileName=name+ext}if(fileName){name+="/"+fileName}const{emailID,appFileID,fileContentID}=file;if(emailID){return apiPath(`/api/emails/attachment/${action}/${emailID}/${appFileID}/${name}/`)}return apiPath(`/api/files/${action}/${appFileID}/${fileContentID}/${name}`)});fileUrl.webp=(file,size=300)=>fileUrl(file,{action:"webp",args:size,ext:".webp"});fileUrl.webm=file=>fileUrl(file,{action:"webm",ext:".webm"});fileUrl.pdf=file=>fileUrl(file,{action:"pdf",ext:".pdf"});fileUrl.html=file=>fileUrl(file,{action:"html",ext:".html"});_export("imageUrl",imageUrl=(site,file,size)=>{const name=encodeURIComponent(file.name);if(!size){return apiPath(`/api/site/asset/webp/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${name}.webp`)}return apiPath(`/api/site/asset/webp(${size})/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${name}.${size}.webp`)});_export("srcSetUrl",srcSetUrl=(site,file,imgUrlFunc=imageUrl)=>{const small=imgUrlFunc(site,file,480)+" 640w";const medium=imgUrlFunc(site,file,720)+" 1024w";const large=imgUrlFunc(site,file)+" 1256w";return`${small},${medium},${large}`});_export("signedImageUrl",signedImageUrl=({fileID=0,appFileID=fileID,fileContentID=void 0,signed=void 0},size)=>apiPath(`/api/signed/webp(${size})/${appFileID}/${fileContentID}/${signed}/file.${size}.webp`));_export("signedUrl",signedUrl=({fileID=0,appFileID=fileID,fileContentID=void 0,signed=void 0})=>apiPath(`/api/signed/download/${appFileID}/${fileContentID}/${signed}/file.dat`));_export("storeFileUrl",storeFileUrl=(rootFolderID,file,type="download",name=file.name)=>apiPath(`/api/store/file/${type}/${rootFolderID}/${file.appFileID}/${file.fileContentID}/${name}`))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","@web-atoms/email-dom/dist/DomToString","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/date-time/dist/DateTime","../../../../common/events/CommonEvents","../../../commands/MailAppEvents","../../../../common/fileUrl","../../../../common/cache/CacheTTL","../../../../common/controls/Loader","./MsgStyle.global.css","../../../../common/cache/CacheVersions"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Email,EmailRecipient,MailboxContactEmail,Sql,DomToString,XNode,AtomControl,AncestorEnumerator,descendentIterator,DateTime,CommonEvents,MailAppEvents,fileUrl,CacheTTL,Loader,CacheVersions,msgStyleUrl,renderMailPromise,ConversationService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Email=_modelModel.Email;EmailRecipient=_modelModel.EmailRecipient;MailboxContactEmail=_modelModel.MailboxContactEmail},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator;descendentIterator=_webAtomsCoreDistWebCoreAtomUI.descendentIterator},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_commandsMailAppEvents){MailAppEvents=_commandsMailAppEvents.MailAppEvents},function(_commonFileUrl){fileUrl=_commonFileUrl.fileUrl},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_commonControlsLoader){Loader=_commonControlsLoader.default},function(_MsgStyleGlobalCss){},function(_commonCacheCacheVersions){CacheVersions=_commonCacheCacheVersions.default}],execute:function(){msgStyleUrl=_context.import("./MsgStyle.global.css");_export("renderMailPromise",renderMailPromise=AtomControl.registerProperty("data-html","html",((c,e,value)=>__awaiter(void 0,void 0,void 0,(function*(){var _a,_b,_c,_d,_e,_f;if(!value){e.innerHTML="";return}const{thread,email=thread.email}=value;const mail=email;let html=mail.htmlBody;if(!html){c.render(XNode.create("div",null,XNode.create("div",{"style-height":"40vh"},XNode.create(Loader,null))),e,c);const es=c.app.resolve(EntityService);mail.htmlBody=html=yield es.run(Email,"getBody",email,{cacheSeconds:CacheTTL.seconds.oneMonth,cacheVersion:CacheVersions.email}).asText();e.innerHTML=""}const msg=document.createElement("div");if(!html){html!==null&&html!==void 0?html:html=mail.textBody;for(const iterator of html.split("\n")){const p=document.createElement("p");p.appendChild(document.createTextNode(iterator));msg.appendChild(p)}e.appendChild(msg);return}const domParser=new DOMParser;const doc=domParser.parseFromString(html,"text/html");let firstVisibleElement=null;for(const node of descendentIterator(doc.body)){if(!firstVisibleElement&&node.nodeType===Node.TEXT_NODE){const{parentElement}=node;if(parentElement.tagName!=="STYLE"&&((_a=node.nodeValue)===null||_a===void 0?void 0:_a.trim())){firstVisibleElement||(firstVisibleElement=node.parentElement)}}if(node.nodeType!==Node.ELEMENT_NODE){continue}const iterator=node;let cid=iterator.getAttribute("data-content-id");if(cid){const src=iterator.getAttribute("src");if(!src.includes("/social-mail/c/e/")){const a=(_b=mail.attachments)===null||_b===void 0?void 0:_b.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",a.url);a.included=true}}}if(/^(IMG|VIDEO)$/.test(iterator.tagName)){firstVisibleElement||(firstVisibleElement=iterator);const src=iterator.getAttribute("src");iterator.setAttribute("controls","true");iterator.setAttribute("crossorigin","anonymous");if(iterator.style.maxWidth){iterator.style.removeProperty("max-width")}if(src){if(src.startsWith("cid:")){cid=src.substring(4);const cidBrackets=`<${cid}>`;const a=(_c=mail.attachments)===null||_c===void 0?void 0:_c.find((x=>x.contentID===cid||x.contentID===cidBrackets));if(a){iterator.setAttribute("src",(_d=a.url)!==null&&_d!==void 0?_d:fileUrl(a));a.included=true}}if(/^http\:\/\//i.test(src)){iterator.setAttribute("src",src.substring(5))}}continue}if(iterator.tagName==="A"){iterator.target="_blank"}}let start=doc.body.firstChild;while(start){const next=start.nextSibling;start.remove();msg.appendChild(start);start=next}const container=document.createElement("msg-root");msg.setAttribute("msg","msg");container.appendChild(msg);const root=(_e=AncestorEnumerator.find(e,(x=>x.tagName==="CHANNEL-POST"||x.hasAttribute("data-msg-container"))))!==null&&_e!==void 0?_e:e;for(const a of Array.from(msg.querySelectorAll(`a[hash-tag]`))){const tag=a.getAttribute("hash-tag");const tokens=tag.toLowerCase().split("/");const[name,price,currency]=tokens;if(name!=="#price"){continue}email.price=price;email.currency=currency;root.setAttribute("enable-buy","true");root.setAttribute("price",tokens[2]);root.setAttribute("currency",tokens[1])}if(/img|video/i.test(firstVisibleElement===null||firstVisibleElement===void 0?void 0:firstVisibleElement.tagName)){root.setAttribute("has-poster","true")}const included=(_f=email.attachments)===null||_f===void 0?void 0:_f.every((x=>x.included));if(included){(root!==null&&root!==void 0?root:e).setAttribute("hide-media","1")}if(thread&&!thread.timeRead&&thread.mailboxID){setTimeout((()=>{if(!e.isConnected){return}const timeRead=DateTime.now;thread.timeRead=timeRead;const es=c.app.resolve(EntityService);es.run(MailboxContactEmail,"markAsRead",thread).asJson().then((()=>{CommonEvents.onThreadMarkedAsRead.dispatchEvent(thread)}),console.error)}),1e3)}if(window.previewMode){e.appendChild(container);return}const shadow=e.attachShadow({mode:"open"});const link=document.createElement("link");link.rel="stylesheet";link.href=(yield msgStyleUrl).default;shadow.appendChild(link);shadow.appendChild(container);setTimeout((()=>{if(container.scrollWidth>container.offsetWidth){const scale=Math.max(.4,container.offsetWidth/container.scrollWidth);container.style.scale=scale+"";container.style.transformOrigin="top left";container.style.maxHeight=`${msg.offsetHeight*scale}px`}}),100);return})))));ConversationService=class ConversationService{closeAllThreads(contact){return __awaiter(this,void 0,void 0,(function*(){contact.dateUpdated=DateTime.now;contact.closeAllConversations=true;yield this.entityService.save(contact,(c=>c));contact.openThreads=0;MailAppEvents.mailboxContactUpdated.dispatchEvent(contact)}))}closePermanently(contact){return __awaiter(this,void 0,void 0,(function*(){contact.autoClose=!contact.autoClose;contact.dateUpdated=DateTime.now;yield this.entityService.save(contact,(c=>c));MailAppEvents.mailboxContactUpdated.dispatchEvent(contact)}))}getDraft(_a){return __awaiter(this,arguments,void 0,(function*({mailboxID,emailAddressID,email}){const draft="draft";return yield this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID,draft},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.email.status===p.draft)).orderByDescending((x=>x.emailID)).include((x=>[x.email.recipients,x.email.attachments])).firstOrDefault()}))}draft(email_1,mailboxContacts_1){return __awaiter(this,arguments,void 0,(function*(email,mailboxContacts,create=false,saveAttachments=true,cancelToken){var _a,_b;if(email===null||email===void 0?void 0:email.emailID){email.subject||(email.subject="");email.dateUpdated=DateTime.now;let cloner=this.entityService.cloner(Object.assign({},email));if(saveAttachments){cloner=cloner.include((x=>x.attachments))}cloner=cloner.include((x=>x.recipients)).include((x=>x.threadContacts));yield this.entityService.save(cloner.copy);return email}if(create&&email){const recipients=(_a=email.recipients)!==null&&_a!==void 0?_a:email.recipients=[];const threads=(_b=email.threadContacts)!==null&&_b!==void 0?_b:email.threadContacts=[];if(!email.senderID){throw new Error("SenderID is not set")}email.status="draft";for(const{mailboxID,emailAddressID}of mailboxContacts){if(!recipients.some((r=>r.emailAddressID===emailAddressID))){recipients.push(EmailRecipient.create({emailAddressID}))}if(!threads.some((r=>r.mailboxID===mailboxID))){threads.push(MailboxContactEmail.create({mailboxID,emailAddressID}))}}yield this.entityService.save(email,(c=>c.include((x=>x.recipients)).include((x=>x.threadContacts))))}return email}))}list(_a){return __awaiter(this,arguments,void 0,(function*({searchItems=null,mailboxID,emailAddressID,start=0,size=100,version=0,cancelToken}){var _b,_c;let q=this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.engagement===null));if(searchItems){for(const{tag,text}of searchItems){if(tag){q=q.where({tag:tag.tagID},(p=>x=>x.email.emailTags.some((t=>t.tagID===p.tag))));continue}let search=text;if(!/\%/.test(search)){search=`%${search}%`}q=q.where({search},(p=>x=>Sql.text.iLike(x.email.subject,p.search)||Sql.text.iLike(x.email.textBody,p.search)||x.email.attachments.some((a=>Sql.text.iLike(a.fileContent.textDocument.searchable,p.search)))))}}const emails=yield q.include((x=>[x.email.recipients.forEach((r=>r.emailAddress)),x.email.attachments,x.email.senderUser,x.email.senderEmail])).orderByDescending((x=>x.dateReceived)).toPagedList({start,size,cancelToken});for(const mce of emails.items){const{email}=mce;(_b=email.htmlBody)!==null&&_b!==void 0?_b:email.htmlBody="";(_c=email.textBody)!==null&&_c!==void 0?_c:email.textBody="";email.engagements=[]}return emails}))}stopEmail(mce){return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;email.status="draft";yield this.entityService.save(email,(c=>c));CommonEvents.onEmailUnscheduled.dispatchEvent(mce)}))}renderText(html){const div=document.createElement("div");div.innerHTML=html;return div.textContent}renderHtml(html){const div=document.createElement("div");div.innerHTML=html;return div.innerHTML}toHtml(textBody){return DomToString(XNode.create("div",null,...textBody.split("\n").map((p=>XNode.create("p",{text:p})))))}block(thread){return __awaiter(this,void 0,void 0,(function*(){thread.blocked=!thread.blocked;const cloner=this.entityService.cloner(thread).copy;yield this.entityService.save(cloner);CommonEvents.onThreadMarkedAsBlocked.dispatchEvent(thread)}))}delete(email){return __awaiter(this,void 0,void 0,(function*(){const{emailID,status}=email;yield this.entityService.delete(Email.create({emailID,status}));CommonEvents.onDraftDeleted.dispatchEvent(email)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ConversationService.prototype,"entityService",void 0);ConversationService=__decorate([DISingleton()],ConversationService);_export("default",ConversationService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/channel-post/ChannelPost");System.register(["@web-atoms/core/dist/core/XNode","../../../../model/model","../../../../common/date/DateFormats","../MediaCarousel","@web-atoms/web-controls/dist/basic/LimitedText","../../../../web/page/mails/service/ConversationService","@web-atoms/core/dist/core/types","./ChannelPost.global.css","../../UrlService"],(function(_export,_context){"use strict";var XNode,EmailEngagement,DateFormats,MediaCarousel,LimitedText,renderMailPromise,UMD,UrlService,showFullDetails,commentIcon,thumbsUpIcon,moveUpEngagement;function ChannelPost(email){var _a;moveUpEngagement(thumbsUpIcon,email.email);const{engagements}=email.email;const full=email[showFullDetails];return XNode.create("channel-post",{"has-attachments":((_a=email.email.attachments)===null||_a===void 0?void 0:_a.length)>0},XNode.create("header",null,XNode.create("post-author",null,email.email.senderName),full?XNode.create("post-title",null,email.email.subject):XNode.create("a",{href:UrlService.toBlogUrl(email)},XNode.create("post-title",null,email.email.subject)),XNode.create("post-date",{title:DateFormats.withWeekDayAndTime(email.datePublished)},DateFormats.relative.short(email.datePublished))),XNode.create(MediaCarousel,{email:email.email}),full?XNode.create("post-description",Object.assign({"data-element":"description"},renderMailPromise({email:email.email}))):XNode.create(LimitedText,{"data-element":"description"},XNode.create("post-description",Object.assign({},renderMailPromise({email:email.email})))),XNode.create("footer",null,...engagements.map(((x,index)=>XNode.create("span",{"data-click-event":x.engagement===commentIcon?"view-comments":"engagement-click","data-element":"engagements","data-item-path":`email:$.email, engagement: $.email.engagements.${index}`,title:"Share your reaction"},XNode.create("emoji-span",{text:x.engagement}),x.count>0&&XNode.create("span",{text:x.count})))),XNode.create("button",{"data-element":"engage",title:"React","data-click-event":"react-email"},XNode.create("inline-svg",{"attr-src":UMD.resolvePath("@social-mail/social-mail-client/content/images/icons/face-plus.svg"),"style-max-height":"15px"})),email.email.replyCount&&XNode.create("button",{title:"Comments","data-click-event":"view-comments","data-element":"engage"},XNode.create("inline-svg",{"attr-src":UMD.resolvePath("@social-mail/social-mail-client/content/images/icons/comment.svg"),"style-max-height":"15px"}),XNode.create("span",{text:email.email.replyCount})),XNode.create("button",{"data-element":"engage","data-click-event":"reply-email",title:"Reply"},XNode.create("inline-svg",{"attr-src":UMD.resolvePath("@social-mail/social-mail-client/content/images/icons/comment-plus.svg"),"style-max-height":"15px"}),"Reply"),!email.email.parentID&&XNode.create("button",{"data-click-event":"buy-now","data-element":"buy-now"},"Buy Now"),XNode.create("share-button",{title:email.email.subject,href:location.href},XNode.create("i",{class:"fas fa-share"})," Share")))}_export("default",ChannelPost);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_modelModel){EmailEngagement=_modelModel.EmailEngagement},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_MediaCarousel){MediaCarousel=_MediaCarousel.default},function(_webAtomsWebControlsDistBasicLimitedText){LimitedText=_webAtomsWebControlsDistBasicLimitedText.default},function(_webPageMailsServiceConversationService){renderMailPromise=_webPageMailsServiceConversationService.renderMailPromise},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_ChannelPostGlobalCss){},function(_UrlService){UrlService=_UrlService.UrlService}],execute:function(){_export("showFullDetails",showFullDetails=Symbol("showFullDetails"));commentIcon="💬";thumbsUpIcon="👍";moveUpEngagement=(icon,email)=>{const{engagements=[]}=email;email.engagements=engagements;const index=engagements.findIndex((x=>x.engagement===icon));if(index===-1){engagements.insert(0,EmailEngagement.create({email,engagement:icon,count:0}));return}const e=engagements.removeAt(index);engagements.insert(0,e)}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomOnce");System.register([],(function(_export,_context){"use strict";var AtomOnce;_export("AtomOnce",void 0);return{setters:[],execute:function(){_export("AtomOnce",AtomOnce=class AtomOnce{run(f){if(this.isRunning){return}let isAsync=false;try{this.isRunning=true;const p=f();if(p&&p.then&&p.catch){isAsync=true;p.then((()=>{this.isRunning=false})).catch((()=>{this.isRunning=false}))}}finally{if(!isAsync){this.isRunning=false}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/StyleBuilder");System.register([],(function(_export,_context){"use strict";var StyleBuilder;function cssNumberToString(n,unit="px"){if(typeof n==="number"){if(n===0){return n+""}return n+unit}return n}_export({cssNumberToString,default:void 0});return{setters:[],execute:function(){_export("default",StyleBuilder=class StyleBuilder{static get newStyle(){return new StyleBuilder}constructor(style){this.style=style;this.style=this.style||{}}toStyle(){return this.style}size(width,height){width=cssNumberToString(width);height=cssNumberToString(height);return this.merge({width,height})}roundBorder(radius){radius=cssNumberToString(radius);return this.merge({borderRadius:radius,padding:radius})}border(borderWidth,borderColor,borderStyle="solid"){borderWidth=cssNumberToString(borderWidth);return this.merge({borderWidth,borderStyle,borderColor})}center(width,height){width=cssNumberToString(width);height=cssNumberToString(height);return this.merge({position:"absolute",left:0,right:0,top:0,bottom:0,width,height,margin:"auto"})}absolute(left,top,right,bottom){left=cssNumberToString(left);top=cssNumberToString(top);if(right!==undefined){right=cssNumberToString(right);bottom=cssNumberToString(bottom);return this.merge({position:"absolute",left,top,right,bottom})}return this.merge({position:"absolute",left,top})}merge(style){return new StyleBuilder(Object.assign(Object.assign({},this.style),style))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/WebBusyIndicatorService");System.register(["tslib","../../App","../../di/Inject","../../di/RegisterSingleton","../../services/BusyIndicatorService","../../services/NavigationService","../controls/AtomControl","../styles/StyleBuilder"],(function(_export,_context){"use strict";var __decorate,__metadata,App,Inject,RegisterSingleton,BusyIndicatorService,NavigationService,AtomControl,cssNumberToString,WebBusyIndicatorService;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_App){App=_App.App},function(_diInject){Inject=_diInject.Inject},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_servicesBusyIndicatorService){BusyIndicatorService=_servicesBusyIndicatorService.BusyIndicatorService},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},function(_stylesStyleBuilder){cssNumberToString=_stylesStyleBuilder.cssNumberToString}],execute:function(){_export("WebBusyIndicatorService",WebBusyIndicatorService=class WebBusyIndicatorService extends BusyIndicatorService{constructor(){super(...arguments);this.zIndex=5e4;this.indicators=0}createIndicator(){const host=document.createElement("div");const popup=new AtomControl(this.app,host);host.className="indicator-host";const span=document.createElement("i");const divStyle=host.style;divStyle.position="absolute";divStyle.overflow="hidden";divStyle.left=divStyle.right=divStyle.bottom=divStyle.top="0";divStyle.zIndex=this.zIndex+++"";const spanStyle=span.style;spanStyle.position="absolute";spanStyle.margin="auto";spanStyle.width="16px";spanStyle.height="16px";spanStyle.overflow="hidden";spanStyle.maxHeight="100%";spanStyle.maxWidth="100%";spanStyle.left=spanStyle.right=spanStyle.bottom=spanStyle.top="0";span.className="fas fa-spinner fa-spin";host.appendChild(span);const ws=this.navigationService;const e=ws.getHostForElement();if(e){e.appendChild(host)}else{document.body.appendChild(host);ws.refreshScreen();popup.bind(host,"styleLeft",[["this","scrollLeft"]],false,cssNumberToString,ws.screen);popup.bind(host,"styleTop",[["this","scrollTop"]],false,cssNumberToString,ws.screen);popup.bind(host,"styleWidth",[["this","width"]],false,cssNumberToString,ws.screen);popup.bind(host,"styleHeight",[["this","height"]],false,cssNumberToString,ws.screen)}popup.registerDisposable({dispose:()=>{host.remove()}});return{[Symbol.dispose](){popup.dispose()}}}});__decorate([Inject,__metadata("design:type",NavigationService)],WebBusyIndicatorService.prototype,"navigationService",void 0);__decorate([Inject,__metadata("design:type",App)],WebBusyIndicatorService.prototype,"app",void 0);_export("WebBusyIndicatorService",WebBusyIndicatorService=__decorate([RegisterSingleton],WebBusyIndicatorService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/Atom");System.register(["tslib"],(function(_export,_context){"use strict";var __awaiter,Atom;_export("Atom",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter}],execute:function(){_export("Atom",Atom=class Atom{static superProperty(tc,target,name){let c=tc;do{c=Object.getPrototypeOf(c);if(!c){throw new Error("No property descriptor found for "+name)}const pd=Object.getOwnPropertyDescriptor(c.prototype,name);if(!pd){continue}return pd.get.apply(target)}while(true)}static get(target,path){const segments=path.split(".");for(const iterator of segments){if(target===undefined||target===null){return target}target=target[iterator]}return target}static delay(n,ct){return new Promise(((resolve,reject)=>{const h={};h.id=setTimeout((()=>{resolve()}),n);if(ct){ct.registerForCancel((()=>{clearTimeout(h.id);reject(new Error("cancelled"))}))}}))}static encodeParameters(p){if(!p){return""}let s="";for(const key in p){if(p.hasOwnProperty(key)){const element=p[key];let v=element;if(v===undefined||v===null){continue}if(v instanceof Date){v=v.toISOString()}else if(typeof element==="object"){v=JSON.stringify(element)}if(s){s+="&"}s+=`${key}=${encodeURIComponent(v)}`}}return s}static url(url,query,hash){if(!url){return url}let p=this.encodeParameters(query);if(p){if(url.indexOf("?")===-1){url+="?"}else{url+="&"}url+=p}p=this.encodeParameters(hash);if(p){if(url.indexOf("#")===-1){url+="#"}else{url+="&"}url+=p}return url}static postAsync(app,f){return new Promise(((resolve,reject)=>{app.callLater((()=>__awaiter(this,void 0,void 0,(function*(){try{resolve(yield f())}catch(error){reject(error)}}))))}))}});Atom.designMode=false}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/FormattedError");System.register([],(function(_export,_context){"use strict";var FormattedError;_export("default",void 0);return{setters:[],execute:function(){_export("default",FormattedError=class FormattedError{constructor(msg){const e=new Error(msg.toString());e.formattedMessage=msg;e.__proto__=FormattedError.prototype;return e}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/baseTypes");System.register([],(function(_export,_context){"use strict";function registerInit(target,fx){const t=target;const inits=t._$_inits=t._$_inits||[];inits.push(fx)}_export("registerInit",registerInit);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/AtomViewModel");System.register(["tslib","../App","../Atom","../core/AtomBinder","../core/AtomDisposableList","../core/AtomWatcher","../core/BindableProperty","../di/Inject","./baseTypes"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,__param,App,Atom,AtomBinder,AtomDisposableList,AtomWatcher,BindableProperty,Inject,registerInit,AtomViewModel;function runDecoratorInits(){const v=this.constructor.prototype;if(!v){return}const ris=v._$_inits;if(ris){for(const ri of ris){ri.call(this,this)}}}function privateInit(){return __awaiter(this,void 0,void 0,(function*(){try{yield Atom.postAsync(this.app,(()=>__awaiter(this,void 0,void 0,(function*(){runDecoratorInits.apply(this)}))));yield Atom.postAsync(this.app,(()=>__awaiter(this,void 0,void 0,(function*(){yield this.init();this.onReady()}))));if(this.postInit){for(const i of this.postInit){i()}this.postInit=null}}finally{const pi=this.pendingInits;this.pendingInits=null;for(const iterator of pi){iterator()}}}))}function waitForReady(vm){return __awaiter(this,void 0,void 0,(function*(){while(vm.pendingInits){yield Atom.delay(100)}}))}function Receive(...channel){return(target,key)=>{registerInit(target,(vm=>{const fx=vm[key];const a=(ch,d)=>{const p=fx.call(vm,ch,d);if(p&&p.then&&p.catch){p.catch((e=>{console.warn(e)}))}};const ivm=vm;for(const c of channel){ivm.registerDisposable(ivm.app.subscribe(c,a))}}))}}function BindableReceive(...channel){return(target,key)=>{const bp=BindableProperty(target,key);registerInit(target,(vm=>{const fx=(cx,m)=>{vm[key]=m};const ivm=vm;for(const c of channel){ivm.registerDisposable(ivm.app.subscribe(c,fx))}}));return bp}}function BindableBroadcast(...channel){return(target,key)=>{const bp=BindableProperty(target,key);registerInit(target,(vm=>{const fx=t=>{const v=vm[key];for(const c of channel){vm.app.broadcast(c,v)}};const d=new AtomWatcher(vm,[key.split(".")],fx);d.init();vm.registerDisposable(d)}));return bp}}function Watch(target,key,descriptor){registerInit(target,(vm=>{const ivm=vm;if(descriptor&&descriptor.get){ivm.setupWatch(descriptor.get,(()=>{vm.refresh(key.toString())}));return}ivm.setupWatch(vm[key])}))}function CachedWatch(target,key,descriptor){const getMethod=descriptor.get;descriptor.get=()=>null;registerInit(target,(vm=>{const ivm=vm;const fieldName=`_${key}`;Object.defineProperty(ivm,key,{enumerable:true,configurable:true,get(){const c=ivm[fieldName]||(ivm[fieldName]={value:getMethod.apply(ivm)});return c.value}});ivm.setupWatch(getMethod,(()=>{ivm[fieldName]=null;AtomBinder.refreshValue(ivm,key)}))}))}function Validate(target,key,descriptor){const getMethod=descriptor.get;descriptor.get=()=>null;registerInit(target,(vm=>{const initialized={i:false};const ivm=vm;Object.defineProperty(ivm,key,{enumerable:true,configurable:true,get(){if(vm.mShouldValidate&&initialized.i){return getMethod.apply(this)}return null}});ivm.setupWatch(getMethod,(()=>{initialized.i=true;vm.refresh(key.toString())}),true,key.toString());return}))}_export({waitForReady,Receive,BindableReceive,BindableBroadcast,Watch,CachedWatch,Validate});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_Atom){Atom=_Atom.Atom},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomDisposableList){AtomDisposableList=_coreAtomDisposableList.AtomDisposableList},function(_coreAtomWatcher){AtomWatcher=_coreAtomWatcher.AtomWatcher},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_diInject){Inject=_diInject.Inject},function(_baseTypes){registerInit=_baseTypes.registerInit}],execute:function(){_export("AtomViewModel",AtomViewModel=class AtomViewModel{get isReady(){return this.pendingInits===null}get errors(){const e=[];if(!this.mShouldValidate){return e}for(const v of this.validations){if(!v.initialized){return e}const error=this[v.name];if(error){e.push({name:v.name,error})}}return e}get parent(){return this.mParent}set parent(v){if(this.mParent&&this.mParent.mChildren){this.mParent.mChildren.remove(this)}this.mParent=v;if(v){const c=v.mChildren||(v.mChildren=[]);c.add(this);this.registerDisposable({dispose:()=>{c.remove(this)}})}}get isValid(){let valid=true;const validateWasFalse=this.mShouldValidate===false;this.mShouldValidate=true;for(const v of this.validations){if(!v.initialized){v.watcher.init(true);v.initialized=true}if(this[v.name]){if(validateWasFalse){AtomBinder.refreshValue(this,v.name)}valid=false}}if(this.mChildren){for(const child of this.mChildren){if(!child.isValid){valid=false}}}AtomBinder.refreshValue(this,"errors");return valid}constructor(app){this.app=app;this.disposables=null;this.validations=[];this.pendingInits=[];this.mShouldValidate=false;this.app.runAsync((()=>privateInit.apply(this)))}resetValidations(resetChildren=true){this.mShouldValidate=false;for(const v of this.validations){this.refresh(v.name)}if(resetChildren&&this.mChildren){for(const iterator of this.mChildren){iterator.resetValidations(resetChildren)}}}runAfterInit(f){if(this.pendingInits){this.pendingInits.push(f);return}f()}refresh(name){AtomBinder.refreshValue(this,name)}init(){return __awaiter(this,void 0,void 0,(function*(){}))}dispose(){if(this.disposables){this.disposables.dispose()}}registerDisposable(d){this.disposables=this.disposables||new AtomDisposableList;return this.disposables.add(d)}onReady(){}setupWatch(ft,proxy,forValidation,name){const d=new AtomWatcher(this,ft,proxy,this);if(forValidation){this.validations=this.validations||[];this.validations.push({name,watcher:d,initialized:false})}else{d.init()}return this.registerDisposable(d)}onPropertyChanged(name){}});_export("AtomViewModel",AtomViewModel=__decorate([__param(0,Inject),__metadata("design:paramtypes",[App])],AtomViewModel))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/AtomWindowViewModel");System.register(["tslib","../services/NavigationService","./AtomViewModel"],(function(_export,_context){"use strict";var __awaiter,NavigationService,AtomViewModel,AtomWindowViewModel;_export("AtomWindowViewModel",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_AtomViewModel){AtomViewModel=_AtomViewModel.AtomViewModel}],execute:function(){_export("AtomWindowViewModel",AtomWindowViewModel=class AtomWindowViewModel extends AtomViewModel{close(result){this.app.broadcast(`atom-window-close:${this.windowName}`,result)}cancel(){return __awaiter(this,void 0,void 0,(function*(){if(this.closeWarning){const navigationService=this.app.resolve(NavigationService);if(!(yield navigationService.confirm(this.closeWarning,"Are you sure?"))){return false}}this.app.broadcast(`atom-window-cancel:${this.windowName}`,"cancelled");return true}))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomWindowStyle");System.register(["@web-atoms/core/src/web/images/close-button-hover.svg","../styles/AtomStyle"],(function(_export,_context){"use strict";var closeButtonHover,AtomStyle,AtomWindowStyle;_export("AtomWindowStyle",void 0);return{setters:[function(_webAtomsCoreSrcWebImagesCloseButtonHoverSvg){closeButtonHover=_webAtomsCoreSrcWebImagesCloseButtonHoverSvg.default},function(_stylesAtomStyle){AtomStyle=_stylesAtomStyle.AtomStyle}],execute:function(){_export("AtomWindowStyle",AtomWindowStyle=class AtomWindowStyle extends AtomStyle{get root(){return Object.assign(Object.assign({},this.frameHost),{subclasses:{" .close-button":this.closeButton," .command-bar-presenter":this.commandBarPresenter," .command-bar":this.commandBar," .content-presenter":this.contentPresenter," .content":this.content," .frame":this.frame," .title":this.title," .title-host":this.titleHost," .title-presenter":this.titlePresenter}})}get frameHost(){return{position:"absolute",left:0,right:0,top:0,bottom:0,backgroundColor:"#50505080"}}get frame(){return{position:"absolute",minHeight:"100px",minWidth:"300px",margin:"auto",border:"solid 1px #808080",borderRadius:"5px",backgroundColor:"white"}}get titlePresenter(){return{position:"relative",left:0,right:0,top:0,height:"37px"}}get titleHost(){return{position:"absolute",left:0,right:0,padding:"7px",minHeight:"32px",backgroundColor:"#404040",color:"white",top:0,borderTopRightRadius:"4px",borderTopLeftRadius:"4px"}}get title(){return{margin:"auto"}}get closeButton(){return{position:"absolute",right:"6px",top:"7px",width:"0",height:"0",padding:"9px",border:"none",backgroundColor:"transparent",backgroundImage:closeButtonHover}}get content(){return{}}get contentPresenter(){return{position:"relative",padding:"10px",background:"white"}}get commandBarPresenter(){return{left:0,right:0,bottom:0,padding:"5px",backgroundColor:"#d4d4d4",textAlign:"right",borderBottomRightRadius:"4px",borderBottomLeftRadius:"4px"}}get commandBar(){return{subclasses:{" button":{borderRadius:"3px",marginLeft:"5px",marginRight:"5px",padding:"4px 16px",backgroundColor:"whitesmoke",border:"1px solid gray"}}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomAlertWindowStyle");System.register(["../../core/Colors","./AtomWindowStyle"],(function(_export,_context){"use strict";var Colors,AtomWindowStyle,AtomAlertWindowStyle;_export("default",void 0);return{setters:[function(_coreColors){Colors=_coreColors.default},function(_AtomWindowStyle){AtomWindowStyle=_AtomWindowStyle.AtomWindowStyle}],execute:function(){_export("default",AtomAlertWindowStyle=class AtomAlertWindowStyle extends AtomWindowStyle{get titleHost(){return Object.assign(Object.assign({},this.getBaseProperty(AtomAlertWindowStyle,"titleHost")),{color:Colors.black,backgroundColor:Colors.white})}get contentPresenter(){return Object.assign(Object.assign({},this.getBaseProperty(AtomAlertWindowStyle,"contentPresenter")),{padding:"0px 10px 30px 10px",textAlign:"center",color:Colors.rgba(51,51,51)})}get commandBar(){return Object.assign(Object.assign({},this.getBaseProperty(AtomAlertWindowStyle,"commandBar")),{textAlign:"center",subclasses:{" button":this.buttonStyle," .yes-button":{backgroundColor:Colors.rgba(0,128,0)}," .no-button":{backgroundColor:Colors.rgba(255,0,0)}}})}get buttonStyle(){return{border:"none",color:Colors.white,width:"50%",height:"40px"}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomTemplate");System.register(["./AtomControl"],(function(_export,_context){"use strict";var AtomControl,AtomTemplate;_export("AtomTemplate",void 0);return{setters:[function(_AtomControl){AtomControl=_AtomControl.AtomControl}],execute:function(){_export("AtomTemplate",AtomTemplate=class AtomTemplate extends AtomControl{})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomWindow");System.register(["../../App","../../core/Bind","../../core/XNode","../styles/AtomWindowStyle","./AtomControl","./AtomTemplate"],(function(_export,_context){"use strict";var App,Bind,XNode,AtomWindowStyle,AtomControl,AtomTemplate,AtomWindowFrameTemplate,AtomWindowTitleTemplate,AtomWindow;function getTemplateParent(e){const tp=e._templateParent;if(tp){return tp}const p=e._logicalParent||e.parentElement;if(p){return getTemplateParent(p)}}_export({getTemplateParent,AtomWindowFrameTemplate:void 0,AtomWindow:void 0});return{setters:[function(_App){App=_App.App},function(_coreBind){Bind=_coreBind.default},function(_coreXNode){XNode=_coreXNode.default},function(_stylesAtomWindowStyle){AtomWindowStyle=_stylesAtomWindowStyle.AtomWindowStyle},function(_AtomControl){AtomControl=_AtomControl.AtomControl},function(_AtomTemplate){AtomTemplate=_AtomTemplate.AtomTemplate}],execute:function(){_export("AtomWindowFrameTemplate",AtomWindowFrameTemplate=class AtomWindowFrameTemplate extends AtomTemplate{get templateParent(){return getTemplateParent(this.element)}preCreate(){this.titlePresenter=null;this.commandPresenter=null;this.contentPresenter=null;super.preCreate()}create(){this.render(XNode.create("div",{class:"frame",styleWidth:Bind.oneWay((()=>this.templateParent.width||undefined)),styleHeight:Bind.oneWay((()=>this.templateParent.height||undefined)),styleLeft:Bind.oneWay((()=>this.templateParent.x>=0?`${this.templateParent.x}px`:undefined)),styleTop:Bind.oneWay((()=>this.templateParent.y>=0?`${this.templateParent.y}px`:undefined)),styleMarginTop:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined)),styleMarginLeft:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined)),styleMarginRight:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined)),styleMarginBottom:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined))},XNode.create("div",{class:"title-presenter",presenter:Bind.presenter("titlePresenter")}),XNode.create("div",{class:"content-presenter",presenter:Bind.presenter("contentPresenter")}),XNode.create("div",{class:"command-bar-presenter",presenter:Bind.presenter("commandPresenter")})))}});AtomWindowTitleTemplate=class AtomWindowTitleTemplate extends AtomControl{get templateParent(){return getTemplateParent(this.element)}create(){this.render(XNode.create("div",{class:"title-host"},XNode.create("span",{class:"title",text:Bind.oneWay((()=>this.templateParent.title))}),XNode.create("button",{class:"close-button",eventClick:Bind.event((()=>this.templateParent.close()))})))}};_export("AtomWindow",AtomWindow=class AtomWindow extends AtomControl{constructor(){super(...arguments);this.title="";this.width="";this.height="";this.x=-1;this.y=-1;this.titleTemplate=AtomWindowTitleTemplate;this.frameTemplate=AtomWindowFrameTemplate;this.isReady=false}get templateParent(){return getTemplateParent(this.element)}onPropertyChanged(name){switch(name){case"windowTemplate":case"commandTemplate":case"frameTemplate":this.invalidate();break}}close(){const vm=this.viewModel;if(vm.cancel){this.app.runAsync((()=>vm.cancel()));return}const message=`atom-window-cancel:${this.id}`;const device=this.app.resolve(App);device.broadcast(message,"cancelled")}onUpdateUI(){if(!(this.windowTemplate&&this.frameTemplate)){return}if(this.isReady){return}this.bind(this.element,"title",[["viewModel","title"]]);const frame=new this.frameTemplate(this.app);const fe=frame.element;const titleContent=new this.titleTemplate(this.app);titleContent.element._templateParent=this;frame.titlePresenter.appendChild(titleContent.element);this.setupDragging(frame.titlePresenter);this.element.classList.add("frame-host");fe._logicalParent=this.element;fe._templateParent=this;if(!frame.contentPresenter){throw new Error("ContentPresenter must be set inside frameTemplate before creating window")}const content=new this.windowTemplate(this.app);content.element._templateParent=this;this.setElementClass(content.element,{content:1});frame.contentPresenter.appendChild(content.element);if(this.commandTemplate){if(!frame.commandPresenter){throw new Error("CommandPresenter must be set inside frameTemplate"+"before creating window if command template is present")}const command=new this.commandTemplate(this.app);command.element._templateParent=this;this.setElementClass(command.element,{"command-bar":1});frame.commandPresenter.appendChild(command.element)}this.append(frame);setTimeout((()=>{this.centerFrame(frame.element)}),100);this.isReady=true}preCreate(){this.defaultControlStyle=AtomWindowStyle;this.title=null;this.width="";this.height="";this.x=-1;this.y=-1;this.windowTemplate=null;this.commandTemplate=null;this.titleTemplate=AtomWindowTitleTemplate;this.frameTemplate=AtomWindowFrameTemplate;super.preCreate();this.render(XNode.create("div",{styleClass:Bind.oneTime((()=>this.controlStyle.name))}))}centerFrame(e){if(!this.element){return}const parent=this.element.parentElement;if(parent===window||parent===document.body){return}if(parent.offsetWidth<=0||parent.offsetHeight<=0){setTimeout((()=>{this.centerFrame(e)}),100);return}if(e.offsetWidth<=0||e.offsetHeight<=0){setTimeout((()=>{this.centerFrame(e)}),100);return}const x=(parent.offsetWidth-e.offsetWidth)/2;const y=(parent.offsetHeight-e.offsetHeight)/2;this.x=x;this.y=y;e.style.opacity="1";this.element.style.removeProperty("opacity")}setupDragging(tp){this.bindEvent(tp,"mousedown",(startEvent=>{startEvent.preventDefault();const disposables=[];const offset={x:tp.parentElement.offsetLeft,y:tp.parentElement.offsetTop};const rect={x:startEvent.clientX,y:startEvent.clientY};const cursor=tp.style.cursor;tp.style.cursor="move";disposables.push(this.bindEvent(document.body,"mousemove",(moveEvent=>{const{clientX,clientY}=moveEvent;const dx=clientX-rect.x;const dy=clientY-rect.y;offset.x+=dx;offset.y+=dy;this.x=offset.x;this.y=offset.y;rect.x=clientX;rect.y=clientY})));disposables.push(this.bindEvent(document.body,"mouseup",(endEvent=>{tp.style.cursor=cursor;for(const iterator of disposables){iterator.dispose()}})))}))}});AtomWindow.windowTemplate=XNode.prepare("windowTemplate",true,true);AtomWindow.commandTemplate=XNode.prepare("commandTemplate",true,true);AtomWindow.titleTemplate=XNode.prepare("titleTemplate",true,true);AtomWindow.frameTemplate=XNode.prepare("frameTemplate",true,true)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomAlertWindow");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../../view-model/AtomWindowViewModel","../styles/AtomAlertWindowStyle","./AtomWindow"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomWindowViewModel,AtomAlertWindowStyle,AtomWindow,AtomAlertWindow,AtomAlertViewModel;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreBind){Bind=_coreBind.default},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreXNode){XNode=_coreXNode.default},function(_viewModelAtomWindowViewModel){AtomWindowViewModel=_viewModelAtomWindowViewModel.AtomWindowViewModel},function(_stylesAtomAlertWindowStyle){AtomAlertWindowStyle=_stylesAtomAlertWindowStyle.default},function(_AtomWindow){AtomWindow=_AtomWindow.AtomWindow}],execute:function(){_export("default",AtomAlertWindow=class AtomAlertWindow extends AtomWindow{create(){this.defaultControlStyle=AtomAlertWindowStyle;this.viewModel=this.resolve(AtomAlertViewModel);this.render(XNode.create(AtomWindow,{title:Bind.oneWay((()=>this.viewModel.title))},XNode.create(AtomWindow.windowTemplate,null,XNode.create("div",{formattedText:Bind.oneWay((()=>this.viewModel.message))})),XNode.create(AtomWindow.commandTemplate,null,XNode.create("div",null,XNode.create("button",{class:"yes-button",styleDisplay:Bind.oneWay((()=>this.viewModel.okTitle?"":"none")),text:Bind.oneWay((()=>this.viewModel.okTitle)),eventClick:()=>this.viewModel.onOkClicked()}),XNode.create("button",{class:"no-button",styleMarginBottom:Bind.oneWay((()=>this.viewModel.cancelTitle?"0":"10px")),styleDisplay:Bind.oneWay((()=>this.viewModel.cancelTitle?"":"none")),text:Bind.oneWay((()=>this.viewModel.cancelTitle)),eventClick:()=>this.viewModel.onCancelClicked()})))))}});AtomAlertViewModel=class AtomAlertViewModel extends AtomWindowViewModel{onOkClicked(){this.close(true)}onCancelClicked(){this.cancel()}};__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"title",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"message",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"okTitle",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"cancelTitle",void 0)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomNotificationStyle");System.register(["../../core/Colors","./AtomStyle"],(function(_export,_context){"use strict";var Colors,AtomStyle,AtomNotificationStyle;_export("default",void 0);return{setters:[function(_coreColors){Colors=_coreColors.default},function(_AtomStyle){AtomStyle=_AtomStyle.AtomStyle}],execute:function(){_export("default",AtomNotificationStyle=class AtomNotificationStyle extends AtomStyle{get root(){return{padding:"5px",borderRadius:"5px",border:"solid 1px lightgray",fontFamily:"Verdana, Geneva, sans-serif",fontSize:"16px",subclasses:{".error":{borderColor:Colors.red,color:Colors.red},".warning":{backgroundColor:Colors.lightYellow}}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomNotification");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../styles/AtomNotificationStyle","./AtomControl"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomNotificationStyle,AtomControl,AtomNotification;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreBind){Bind=_coreBind.default},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreXNode){XNode=_coreXNode.default},function(_stylesAtomNotificationStyle){AtomNotificationStyle=_stylesAtomNotificationStyle.default},function(_AtomControl){AtomControl=_AtomControl.AtomControl}],execute:function(){_export("default",AtomNotification=class AtomNotification extends AtomControl{constructor(){super(...arguments);this.timeout=5e3;this.timeoutKey=null}onPropertyChanged(name){switch(name){case"timeout":this.setupTimeout();break}}create(){this.defaultControlStyle=AtomNotificationStyle;this.render(XNode.create("div",{formattedText:Bind.oneWay((()=>this.viewModel.message)),timeout:Bind.oneWay((()=>this.viewModel.timeout||5e3)),styleClass:Bind.oneWay((()=>({[this.controlStyle.name]:1,error:this.viewModel.type&&/error/i.test(this.viewModel.type),warning:this.viewModel.type&&/warn/i.test(this.viewModel.type)})))}))}setupTimeout(){if(this.timeoutKey){clearTimeout(this.timeoutKey)}this.timeoutKey=setTimeout((()=>{if(this.element){this.app.broadcast(`atom-window-close:${this.id}`,"")}}),this.timeout)}});__decorate([BindableProperty,__metadata("design:type",Number)],AtomNotification.prototype,"timeout",void 0)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomPopupStyle");System.register(["../styles/AtomStyle"],(function(_export,_context){"use strict";var AtomStyle,AtomPopupStyle;_export("AtomPopupStyle",void 0);return{setters:[function(_stylesAtomStyle){AtomStyle=_stylesAtomStyle.AtomStyle}],execute:function(){_export("AtomPopupStyle",AtomPopupStyle=class AtomPopupStyle extends AtomStyle{get root(){return{backgroundColor:"white",border:"solid 1px lightgray",padding:"5px",borderRadius:"5px"}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/NotificationPopup");System.register(["../../core/XNode","./PopupService","./NotifcationPopup.global.css"],(function(_export,_context){"use strict";var XNode,PopupWindow,css;function NotificationPopup({message,type}){return class Notification extends PopupWindow{create(){if(message instanceof XNode){this.render(XNode.create("div",{styleClass:{[css]:1,error:/error/i.test(type),warning:/warn/i.test(type)}},message));return}this.render(XNode.create("div",{styleClass:{[css]:1,error:/error/i.test(type),warning:/warn/i.test(type)},formattedText:message}))}}}_export("default",NotificationPopup);return{setters:[function(_coreXNode){XNode=_coreXNode.default},function(_PopupService){PopupWindow=_PopupService.PopupWindow},function(_NotifcationPopupGlobalCss){}],execute:function(){css="web-atoms-notification-popup"}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/WindowService");System.register(["tslib","../../App","../../Atom","../../core/AtomLoader","../../core/AtomUri","../../core/FormattedError","../../core/FormattedString","../../core/types","../../di/Inject","../../di/RegisterSingleton","../../di/ServiceCollection","../../services/JsonService","../../services/NavigationService","../../view-model/AtomWindowViewModel","../../web/core/AtomUI","../controls/AtomAlertWindow","../controls/AtomNotification","../controls/AtomWindow","../styles/AtomPopupStyle","../styles/AtomStyleSheet","../styles/StyleBuilder","./NotificationPopup","./PopupService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,__param,App,Atom,AtomLoader,AtomUri,FormattedError,FormattedString,CancelToken,Inject,RegisterSingleton,Scope,ServiceCollection,JsonService,NavigationService,AtomWindowViewModel,AtomUI,AtomAlertWindow,AtomNotification,AtomWindow,AtomPopupStyle,AtomStyleSheet,cssNumberToString,NotificationPopup,PopupService,WindowService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_Atom){Atom=_Atom.Atom},function(_coreAtomLoader){AtomLoader=_coreAtomLoader.AtomLoader},function(_coreAtomUri){AtomUri=_coreAtomUri.AtomUri},function(_coreFormattedError){FormattedError=_coreFormattedError.default},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_diInject){Inject=_diInject.Inject},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_diServiceCollection){Scope=_diServiceCollection.Scope;ServiceCollection=_diServiceCollection.ServiceCollection},function(_servicesJsonService){JsonService=_servicesJsonService.JsonService},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_viewModelAtomWindowViewModel){AtomWindowViewModel=_viewModelAtomWindowViewModel.AtomWindowViewModel},function(_webCoreAtomUI){AtomUI=_webCoreAtomUI.AtomUI},function(_controlsAtomAlertWindow){AtomAlertWindow=_controlsAtomAlertWindow.default},function(_controlsAtomNotification){AtomNotification=_controlsAtomNotification.default},function(_controlsAtomWindow){AtomWindow=_controlsAtomWindow.AtomWindow},function(_stylesAtomPopupStyle){AtomPopupStyle=_stylesAtomPopupStyle.AtomPopupStyle},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet},function(_stylesStyleBuilder){cssNumberToString=_stylesStyleBuilder.cssNumberToString},function(_NotificationPopup){NotificationPopup=_NotificationPopup.default},function(_PopupService){PopupService=_PopupService.default}],execute:function(){_export("WindowService",WindowService=class WindowService extends NavigationService{get title(){return window.document.title}set title(v){window.document.title=v}get location(){return new AtomUri(location.href)}set location(v){location.href=v.toString()}constructor(app,jsonService){super(app);this.jsonService=jsonService;this.popups=[];this.hostForElementFunc=[];this.lastPopupID=0;this.screen=app.screen;let st="desktop";if(/mobile|android|ios/i.test(window.navigator.userAgent)){st="mobile";if(/tablet/i.test(window.navigator.userAgent)){st="tablet"}}this.screen.screenType=st;if(window){const update=e=>{this.refreshScreen()};if(st!=="mobile"){window.addEventListener("resize",update);window.addEventListener("scroll",update);document.body.addEventListener("scroll",update);document.body.addEventListener("resize",update)}setTimeout((()=>{update(null)}),1e3)}}registerHostForWindow(f){this.hostForElementFunc.push(f);return{dispose:()=>{this.hostForElementFunc.remove(f)}}}navigate(url){location.href=url}back(){window.history.back()}register(id,type){ServiceCollection.instance.register(type,null,Scope.Transient,id)}confirm(message,title){return PopupService.confirm({message,title})}alert(message,title){if(!(message instanceof FormattedString||typeof message==="string")){if(message instanceof FormattedError){message=message.formattedMessage}else{message=message.message?message.message:message.toString()}}return PopupService.alert({message,title})}refresh(){location.reload()}getHostForElement(){const ce=PopupService.lastTarget;if(!ce){return null}for(const iterator of this.hostForElementFunc){const e=iterator(ce);if(e){return e}}return null}refreshScreen(){const height=this.screen.height=window.innerHeight||document.body.clientHeight;const width=this.screen.width=window.innerWidth||document.body.clientWidth;this.screen.scrollLeft=window.scrollX||document.body.scrollLeft||0;this.screen.scrollTop=window.scrollY||document.body.scrollTop||0;this.screen.orientation=width>height?"landscape":"portrait"}notify(message,title,type,delay){return __awaiter(this,void 0,void 0,(function*(){try{const notification=NotificationPopup({message,type});const cancelToken=new CancelToken(delay!==null&&delay!==void 0?delay:5e3);yield notification.showWindow(notification,{title,cancelToken})}catch(ex){console.error(ex)}}))}openWindow(url,options){return __awaiter(this,void 0,void 0,(function*(){yield Atom.delay(1);const lastTarget=PopupService.lastTarget;const{view:popup,returnPromise,disposables}=yield AtomLoader.loadView(url,this.app,true,(()=>this.app.resolve(AtomWindowViewModel,true)));if(options&&options.onInit){options.onInit(popup)}const cancelToken=options.cancelToken;if(cancelToken){if(cancelToken.cancelled){this.app.callLater((()=>{this.remove(popup,true)}))}cancelToken.registerForCancel((()=>{this.remove(popup,true)}))}const e=popup.element;let isPopup=true;if(popup instanceof AtomWindow){isPopup=false;e.style.opacity="0"}popup.registerDisposable({dispose:()=>{PopupService.lastTarget=lastTarget}});if(isPopup){const root=popup.element;const last=PopupService.lastTarget;const closePopup=et=>{let target=et.target;while(target){if(target===root||target===last){return}target=target.parentElement}this.remove(popup,true)};document.body.addEventListener("click",closePopup);popup.registerDisposable({dispose:()=>{document.body.removeEventListener("click",closePopup)}})}e._logicalParent=lastTarget;e.sourceUrl=url;const pvm=popup.viewModel;if(pvm){let ce=PopupService.lastTarget;if(ce){while(!ce.atomControl){ce=ce.parentElement;if(!ce){break}}if(ce&&ce.atomControl&&ce.atomControl.viewModel){pvm.parent=ce.atomControl.viewModel}}}const theme=this.app.get(AtomStyleSheet).getNamedStyle(AtomPopupStyle);e.style.zIndex=1e4+this.lastPopupID+"";const isNotification=popup instanceof AtomNotification;if(isPopup){const sr=AtomUI.screenOffset(PopupService.lastTarget);const x=sr.x;const y=sr.y;const h=sr.height;e.style.position="absolute";e.style.left=x+"px";e.style.top=y+h+"px";e.classList.add(theme.name);this.popups.push(popup);disposables.add((()=>{this.popups.remove(popup)}));document.body.appendChild(e);if(isNotification){e.style.opacity="0";this.centerElement(popup)}}else{const eHost=(options===null||options===void 0?void 0:options.modal)?null:this.getHostForElement();if(eHost){eHost.appendChild(e)}else{const host=document.createElement("div");document.body.appendChild(host);host.style.position="absolute";host.appendChild(e);disposables.add({dispose(){host.remove()}});this.refreshScreen();popup.bind(host,"styleLeft",[["this","scrollLeft"]],false,cssNumberToString,this.screen);popup.bind(host,"styleTop",[["this","scrollTop"]],false,cssNumberToString,this.screen);popup.bind(host,"styleWidth",[["this","width"]],false,cssNumberToString,this.screen);popup.bind(host,"styleHeight",[["this","height"]],false,cssNumberToString,this.screen)}}popup.bindEvent(document.body,"keyup",(keyboardEvent=>{if(keyboardEvent.key==="Escape"){this.app.runAsync((()=>this.remove(popup)))}}));disposables.add({dispose:()=>{e.innerHTML="";e.remove()}});return yield returnPromise}))}centerElement(c){const e=c.element;const parent=e.parentElement;if(parent===window||parent===document.body){setTimeout((()=>{const ew=(document.body.offsetWidth-e.offsetWidth)/2;const eh=window.scrollY+(window.innerHeight-e.offsetHeight)/2;e.style.left=`${ew}px`;e.style.top=`${eh}px`;e.style.removeProperty("opacity")}),200);return}if(parent.offsetWidth<=0||parent.offsetHeight<=0){setTimeout((()=>{this.centerElement(c)}),100);return}if(e.offsetWidth<=0||e.offsetHeight<=0){setTimeout((()=>{this.centerElement(c)}),100);return}const x=(parent.offsetWidth-e.offsetWidth)/2;const y=(parent.offsetHeight-e.offsetHeight)/2;e.style.left=`${x}px`;e.style.top=`${y}px`;e.style.removeProperty("opacity")}});WindowService.alertWindow=AtomAlertWindow;_export("WindowService",WindowService=__decorate([RegisterSingleton,__param(0,Inject),__param(1,Inject),__metadata("design:paramtypes",[App,JsonService])],WindowService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomTheme");System.register(["tslib","../../App","../../core/Colors","../../di/Inject","../../di/RegisterSingleton","../../services/NavigationService","../styles/AtomStyleSheet"],(function(_export,_context){"use strict";var __decorate,__metadata,__param,App,Colors,Inject,RegisterSingleton,NavigationService,AtomStyleSheet,AtomTheme;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_coreColors){Colors=_coreColors.default},function(_diInject){Inject=_diInject.Inject},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet}],execute:function(){_export("AtomTheme",AtomTheme=class AtomTheme extends AtomStyleSheet{constructor(app,navigationService){super(app,"atom-theme");this.navigationService=navigationService;this.bgColor=Colors.white;this.color=Colors.gray;this.hoverColor=Colors.lightGray;this.activeColor=Colors.lightBlue;this.selectedBgColor=Colors.blue;this.selectedColor=Colors.white;this.padding=5;setTimeout((()=>{window.addEventListener("resize",(()=>{setTimeout((()=>{this.pushUpdate()}),10)}));document.body.addEventListener("resize",(()=>{setTimeout((()=>{this.pushUpdate()}),10)}))}),1e3)}});_export("AtomTheme",AtomTheme=__decorate([RegisterSingleton,__param(0,Inject),__param(1,Inject),__metadata("design:paramtypes",[App,NavigationService])],AtomTheme))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/WebApp");System.register(["../App","../core/AtomOnce","../core/AtomUri","../di/ServiceCollection","../services/BusyIndicatorService","../services/NavigationService","./services/WebBusyIndicatorService","./services/WindowService","./styles/AtomStyleSheet","./styles/AtomTheme"],(function(_export,_context){"use strict";var App,AtomOnce,AtomUri,ServiceCollection,BusyIndicatorService,NavigationService,WebBusyIndicatorService,WindowService,AtomStyleSheet,AtomTheme,WebApp;_export("default",void 0);return{setters:[function(_App){App=_App.App},function(_coreAtomOnce){AtomOnce=_coreAtomOnce.AtomOnce},function(_coreAtomUri){AtomUri=_coreAtomUri.AtomUri},function(_diServiceCollection){ServiceCollection=_diServiceCollection.ServiceCollection},function(_servicesBusyIndicatorService){BusyIndicatorService=_servicesBusyIndicatorService.BusyIndicatorService},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_servicesWebBusyIndicatorService){WebBusyIndicatorService=_servicesWebBusyIndicatorService.WebBusyIndicatorService},function(_servicesWindowService){WindowService=_servicesWindowService.WindowService},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet},function(_stylesAtomTheme){AtomTheme=_stylesAtomTheme.AtomTheme}],execute:function(){_export("default",WebApp=class WebApp extends App{get parentElement(){return document.body}get root(){return this.mRoot}set root(v){const old=this.mRoot;if(old){old.dispose()}this.mRoot=v;if(!v){return}const pe=this.parentElement;const de=Array.from(pe.children);for(const iterator of de){iterator.remove()}pe.appendChild(v.element)}get theme(){return this.get(AtomStyleSheet)}set theme(v){this.put(AtomTheme,v);this.put(AtomStyleSheet,v)}get contextId(){var _a;(_a=this.mContextId)!==null&&_a!==void 0?_a:this.mContextId=parseInt((this.url.hash.contextId||"0").toString(),10);if(!this.mContextId){for(let index=0;index<100;index++){const cid=`contextId${index}`;const cidData=sessionStorage.getItem(`contextId${index}`);if(!cidData){this.mContextId=index;sessionStorage.setItem(cid,cid);this.url.hash.contextId=index;this.syncUrl();break}}}return`contextId_${this.mContextId}`}constructor(){super();this.hashUpdater=new AtomOnce;this.url=new AtomUri(location.href);this.put(NavigationService,this.resolve(WindowService));this.put(WebApp,this);this.put(BusyIndicatorService,this.resolve(WebBusyIndicatorService));ServiceCollection.instance.registerSingleton(AtomStyleSheet,(sp=>sp.resolve(AtomTheme)));window.addEventListener("hashchange",(()=>{this.hashUpdater.run((()=>{this.url=new AtomUri(location.href)}))}));this.initPromise=new Promise(((resolve,reject)=>{this.onReady(resolve)}))}updateDefaultStyle(textContent){if(this.styleElement){if(this.styleElement.textContent===textContent){return}}const ss=document.createElement("style");ss.textContent=textContent;if(this.styleElement){this.styleElement.remove()}document.head.appendChild(ss);this.styleElement=ss}syncUrl(){this.hashUpdater.run((()=>{const currentUrl=new AtomUri(location.href);const sourceHash=this.url.hash;const keyValues=[];let modified=false;for(const key in sourceHash){if(/^\_\$\_/.test(key)){continue}if(sourceHash.hasOwnProperty(key)){const element=sourceHash[key];const cv=currentUrl.hash[key];if(element!==undefined){keyValues.push({key,value:element})}if(cv===element){continue}modified=true}}if(!modified){return}const hash=keyValues.map((s=>`${s.key}=${encodeURIComponent(s.value)}`)).join("&");location.hash=hash}))}invokeReady(){if(document.readyState==="complete"){super.invokeReady();return}document.addEventListener("readystatechange",(e=>{super.invokeReady()}))}});(function(){if(typeof window.CustomEvent==="function"){return false}function CustomEvent(event,params){params=params||{bubbles:false,cancelable:false,detail:null};const evt=document.createEvent("CustomEvent");evt.initCustomEvent(event,params.bubbles,params.cancelable,params.detail);return evt}window.CustomEvent=CustomEvent})()}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/emoji/EmojiPopup");System.register(["tslib","@web-atoms/core/dist/web/WebApp","@web-atoms/web-controls/dist/basic/elements/AtomPopover"],(function(_export,_context){"use strict";var __awaiter,WebApp,AtomPopover,EmojiPopup,emojiBrowserLoader;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistWebWebApp){WebApp=_webAtomsCoreDistWebWebApp.default},function(_webAtomsWebControlsDistBasicElementsAtomPopover){AtomPopover=_webAtomsWebControlsDistBasicElementsAtomPopover.default}],execute:function(){emojiBrowserLoader=WebApp.installScript("https://cdn.jsdelivr.net/npm/emoji-mart@latest/dist/browser.js");_export("default",EmojiPopup=class EmojiPopup extends AtomPopover{static show(p,o){const _super=Object.create(null,{show:{get:()=>super.show}});return __awaiter(this,void 0,void 0,(function*(){yield emojiBrowserLoader;return _super.show.call(this,p,o)}))}init(){return __awaiter(this,void 0,void 0,(function*(){const picker=new EmojiMart.Picker({previewPosition:"none",theme:"light",maxFrequentRows:2,onEmojiSelect:emoji=>this.close(emoji.native)});this.popoverContainer.appendChild(picker)}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","./InfiniteRepeater.global.css"],(function(_export,_context){"use strict";var __awaiter,Bind,CancelToken,XNode,AtomControl,InfiniteRepeater,_a,loadMoreSet,pagedItemsSetter,scrollToBottom;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_InfiniteRepeaterGlobalCss){}],execute:function(){loadMoreSet=Symbol("loadMoreSet");pagedItemsSetter=AtomControl.registerProperty("paged-items","paged-items",((control,element,value)=>{var _b,_c;if(value&&value.items){let cancelToken=control[loadMoreSet];(_b=control.footerRenderer)!==null&&_b!==void 0?_b:control.footerRenderer=()=>XNode.create("div",{"data-load-more":"load-more","data-click-event":"load-more-items"},XNode.create("span",{text:"Load more ... "}));(_c=control.headerRenderer)!==null&&_c!==void 0?_c:control.headerRenderer=()=>XNode.create("div",{class:"scroll-header","style-height":"1px","style-width":"100%"});if(!cancelToken){control[loadMoreSet]=cancelToken=new CancelToken;control.bindEvent(control.element,"loadMoreItems",(e=>{const ce=new CustomEvent("moreItems",{detail:{pagedItems:control.pagedItems,cancelToken},bubbles:false});control.element.dispatchEvent(ce)}))}else{cancelToken.cancel();control[loadMoreSet]=cancelToken=new CancelToken}const items=control.items;if(items&&Array.isArray(items)){items.clear();items.addAll(value.items)}else{control.items=value.items}const autoScroll=control.element.getAttribute("data-auto-scroll")!=="false";if(autoScroll){setTimeout((()=>{var _b;const ce=(_b=control.element)===null||_b===void 0?void 0:_b.firstElementChild;const scrollX=window.scrollX;const scrollY=window.scrollY;ce===null||ce===void 0?void 0:ce.scrollIntoView();setTimeout((()=>{window.scrollTo(scrollX,scrollY)}),100)}),100)}control.footer=value.total&&value.items&&value.items.length<value.total;control.pagedItems=value}}));scrollToBottom=({target,detail:{type,index}})=>{if(!(type==="add"&&index===0)&&type!=="reset"){return}setTimeout((()=>{const e=target.firstElementChild;console.log(e);e===null||e===void 0?void 0:e.scrollIntoView(true)}),1)};InfiniteRepeater=class InfiniteRepeater{};_a=InfiniteRepeater;InfiniteRepeater.pagedItems=start=>{const setter=start(0);const setters=pagedItemsSetter(Bind.oneWayAsync(setter));setters["event-more-items"]=Bind.event(((s,e)=>__awaiter(void 0,void 0,void 0,(function*(){var _b,_c;const st=(_c=(_b=s.items)===null||_b===void 0?void 0:_b.length)!==null&&_c!==void 0?_c:0;if(!st){return}const cancelToken=s[loadMoreSet];const loader=start(st);const results=yield loader(s,e.target,cancelToken);s.items.addAll(results.items);s.footer=results.items.length>0}))));return setters};_export("default",InfiniteRepeater)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/pages/comments/PostComments");System.register(["tslib","@web-atoms/core/dist/web/controls/AtomControl","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/InjectProperty","../../../../services/EntityService","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../../common/controls/repeater/InfiniteRepeater","./PostComments.global.css","../../../../common/cache/CacheVersions","../../../../common/cache/CacheTTL","../../../../common/date/DateFormats","@web-atoms/core/dist/core/types"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomControl,ChannelEmail,XNode,InjectProperty,EntityService,AtomRepeater,InfiniteRepeater,CacheVersions,CacheTTL,DateFormats,UMD,PostComments,commentIcon;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_modelModel){ChannelEmail=_modelModel.ChannelEmail},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_PostCommentsGlobalCss){},function(_commonCacheCacheVersions){CacheVersions=_commonCacheCacheVersions.default},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD}],execute:function(){commentIcon="💬";_export("default",PostComments=class PostComments extends AtomControl{constructor(app,e=document.createElement("post-comments")){super(app,e);this.channelEmail=null;this.emails=[];this.pushInit()}init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({items:this.emails,"data-auto-scroll":"false"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.list({start,cancelToken}))),{itemRenderer:x=>XNode.create("post-comment",null,XNode.create("h4",null,x.email.senderName),XNode.create("comment-date",{title:DateFormats.withWeekDayAndTime(x.email.dateSent)},DateFormats.relative.short(x.email.dateSent)),XNode.create("comment-body",null,XNode.create("section",{text:x.email.textBody})),XNode.create("footer",null,...x.email.engagements.map(((e,index)=>XNode.create("span",{"data-click-event":e.engagement===commentIcon?"view-comments":"engagement-click","data-element":"engagements","data-item-path":`email:$.email, engagement: $.email.engagements.${index}`,title:"Share your reaction"},XNode.create("emoji-span",{text:e.engagement}),e.count>0&&XNode.create("span",{text:e.count})))),XNode.create("button",{"data-element":"engage",title:"React","data-click-event":"react-email"},XNode.create("inline-svg",{"attr-src":UMD.resolvePath("@social-mail/social-mail-client/content/images/icons/face-plus.svg"),"style-max-height":"15px"})),x.email.replyCount&&XNode.create("button",{title:"Comments","data-click-event":"view-comments","data-element":"engage"},XNode.create("inline-svg",{"attr-src":UMD.resolvePath("@social-mail/social-mail-client/content/images/icons/comment.svg"),"style-max-height":"15px"}),XNode.create("span",{text:x.email.replyCount})),XNode.create("button",{"data-element":"engage","data-click-event":"reply-email",title:"Reply"},XNode.create("inline-svg",{"attr-src":UMD.resolvePath("@social-mail/social-mail-client/content/images/icons/comment-plus.svg"),"style-max-height":"15px"}),"Reply")))})))}))}list(_a){return __awaiter(this,arguments,void 0,(function*({start,cancelToken}){const{emailID}=this.channelEmail;const items=this.entityService.query(ChannelEmail,"channelEmails",this.channelEmail.mailboxID).where({emailID},(p=>x=>x.email.parentID===p.emailID));const all=yield items.include((x=>[x.email.attachments,x.email.engagements])).toPagedList({start,cacheVersion:CacheVersions.comment,cacheSeconds:CacheTTL.seconds.fifteenMinutes,cancelToken});if(!all.items.length){this.element.setAttribute("is-empty","true")}return all}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],PostComments.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/pages/posts/ChannelPage");System.register(["tslib","../../BlogService","../../../../model/model","@web-atoms/core/dist/core/XNode","../../../../common/controls/Loader","../../../../services/EntityService","../../UrlService","../../../../services/email/EmailContentDownloader","../../controls/Pager","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/channel-post/ChannelPost","../../controls/RecentPosts","../../controls/TagCloud","../../controls/UpcomingEvents","../../controls/PostList","../../controls/blog-header/BlogHeader","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/web/core/AtomUI","../../../../common/Mailto","../../emoji/EmojiPopup","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","../comments/PostComments","./ChannelPage.global.css","@web-atoms/core/dist/web/controls/AtomControl"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,BlogService,ChannelEmail,XNode,Loader,EntityService,UrlService,EmailContentDownloader,Pager,AtomRepeater,ChannelPost,showFullDetails,RecentPosts,TagCloud,UpcomingEvents,PostList,BlogHeader,ContentPage,Action,AncestorEnumerator,Mailto,EmojiPopup,InjectProperty,Bind,PostComments,AtomControl,ChannelPage,commentIcon;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_BlogService){BlogService=_BlogService.default},function(_modelModel){ChannelEmail=_modelModel.ChannelEmail},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonControlsLoader){Loader=_commonControlsLoader.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_controlsPager){Pager=_controlsPager.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsChannelPostChannelPost){ChannelPost=_controlsChannelPostChannelPost.default;showFullDetails=_controlsChannelPostChannelPost.showFullDetails},function(_controlsRecentPosts){RecentPosts=_controlsRecentPosts.default},function(_controlsTagCloud){TagCloud=_controlsTagCloud.default},function(_controlsUpcomingEvents){UpcomingEvents=_controlsUpcomingEvents.default},function(_controlsPostList){PostList=_controlsPostList.default},function(_controlsBlogHeaderBlogHeader){BlogHeader=_controlsBlogHeaderBlogHeader.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator},function(_commonMailto){Mailto=_commonMailto.Mailto},function(_emojiEmojiPopup){EmojiPopup=_emojiEmojiPopup.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commentsPostComments){PostComments=_commentsPostComments.default},function(_ChannelPageGlobalCss){},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl}],execute:function(){commentIcon="💬";_export("default",ChannelPage=class ChannelPage extends ContentPage{constructor(){super(...arguments);this.email=null;this.start=0;this.size=20}set route(v){if(v==="/"){return}super.route=v}init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(Loader,null));const{channel,slug}=this.parameters;this.channel=yield this.blogService.getChannel(void 0,channel,void 0);const posts=yield this.list(this.parameters);this.element.setAttribute("data-component","post-list");this.renderer=XNode.create("section",{"data-blog-list":"blog-list"},XNode.create(BlogHeader,{channel:this.channel}),XNode.create("section",{"data-width":"100%"},XNode.create(AtomRepeater,{class:"post-list",items:posts.items,itemRenderer:ChannelPost,presenter:Bind.presenter((c=>this.postRepeater=c))}),XNode.create(Pager,{current:this.start,end:Math.floor(posts.total/this.size)-1,url:x=>UrlService.toSectionUrl(this.channel,"posts",x)})),XNode.create("aside",null,XNode.create(TagCloud,null),XNode.create(UpcomingEvents,{channel:this.channel}),XNode.create(PostList,null),XNode.create(RecentPosts,null)),XNode.create("footer",null))}))}list(_a){return __awaiter(this,arguments,void 0,(function*({start,search,channel,author,tag,slug}){this.entityService.postPageReady();let q=this.entityService.query(ChannelEmail,"channelEmails").where((x=>x.email.parentID===null));const emailID=slug?UrlService.getEmailID(slug):void 0;if(tag){tag=tag.toLowerCase();q=q.where({tag},(p=>x=>x.email.emailTags.some((t=>t.tag.lowerCaseName===p.tag))))}if(author){q=q.where({author},(p=>x=>x.email.senderName===p.author))}q=q.orderByDescending((x=>x.datePublished));const size=this.size;const emailLoader=emailID&&this.entityService.query(ChannelEmail,"channelEmails").where({emailID},(p=>x=>x.emailID===p.emailID)).include((x=>[x.mailbox.emailAddress,x.email.engagements,x.email.attachments])).firstOrDefault();const result=yield q.include((x=>[x.mailbox.emailAddress,x.email.engagements,x.email.attachments])).toPagedList({start,size});if(emailLoader){const e=yield emailLoader;result.items.remove((i=>i.emailID===e.emailID));result.items.splice(0,0,e);e[showFullDetails]=true;this.email=e}const tasks=[];for(const ce of result.items){tasks.push(this.downloader.downloadPostContent(ce))}yield Promise.all(tasks);if(this.email){document.title=this.email.email.subject;setTimeout((()=>this.runAfterInit((()=>{const pc=new PostComments(this.app,document.createElement("post-comments"));pc.channelEmail=this.email;const element=this.postRepeater.elementForItem(this.email);element.appendChild(pc.element)}))),100)}return result}))}engagementClick({email,engagement}){const emoji=engagement.engagement;this.reactAction(email,emoji)}buyNowClick({email}){const body=`\nI am interested in purchasing ${email.subject}\nFor price ${email.price} ${email.currency.toUpperCase()} mentioned on the website.\nPlease revert back to me with the quotation and method of payment including taxes and shipping if any..\n\nMy information...\nName:\nEmail:\nPhone:\nAddress:\n\n...\n`;location.href="/contact.html?body="+encodeURIComponent(body)}reactAction(email,emoji){const{headerMessageID}=email;const{channel:{emailAddress:{emailAddress}}}=this;const subject=`${emoji}-k${BigInt(email.emailID).toString(36)}-${headerMessageID}`;const link=Mailto.create({to:emailAddress,subject,body:emoji,inReplyTo:headerMessageID});this.element.dispatchEvent(new CustomEvent("shareLink",{detail:{link,shareTitle:`React ${emoji} Via`},bubbles:true}))}viewComments(channelEmail,ce){return __awaiter(this,void 0,void 0,(function*(){const owner=AtomControl.from(ce.target);const element=owner.elementForItem(channelEmail);const comments=element.querySelector("post-comments");if(comments){comments.scrollIntoView();return}const pc=new PostComments(this.app,document.createElement("post-comments"));pc.channelEmail=channelEmail;element.appendChild(pc.element)}))}reactEmail(channelEmail,ce){return __awaiter(this,void 0,void 0,(function*(){var _a;const parentElement=(_a=AncestorEnumerator.findSelector(ce.target,"button,a"))!==null&&_a!==void 0?_a:ce.target;const emoji=yield EmojiPopup.show(parentElement,{"anchor-bottom":"parent-top"});this.reactAction(channelEmail.email,emoji)}))}replyEmail(channelEmail,ce){return __awaiter(this,void 0,void 0,(function*(){const{email}=channelEmail;const emoji=commentIcon;const{headerMessageID}=email;const{channel:{emailAddress:{emailAddress}}}=this;const subject=`${emoji}:${Number(email.emailID).toString(36)}:${headerMessageID}`;const link=Mailto.create({to:emailAddress,subject,inReplyTo:headerMessageID});this.element.dispatchEvent(new CustomEvent("shareLink",{detail:{link,shareTitle:"Add Comment Via"},bubbles:true}))}))}});__decorate([InjectProperty,__metadata("design:type",BlogService)],ChannelPage.prototype,"blogService",void 0);__decorate([InjectProperty,__metadata("design:type",EntityService)],ChannelPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",EmailContentDownloader)],ChannelPage.prototype,"downloader",void 0);__decorate([Action({onEvent:"engagement-click"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ChannelPage.prototype,"engagementClick",null);__decorate([Action({onEvent:"buy-now"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ChannelPage.prototype,"buyNowClick",null);__decorate([Action({onEvent:"view-comments"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ChannelPage.prototype,"viewComments",null);__decorate([Action({onEvent:"react-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ChannelPage.prototype,"reactEmail",null);__decorate([Action({onEvent:"reply-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ChannelPage.prototype,"replyEmail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/pages/tags/ChannelTagsPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","../../../../model/model","../../../../services/EntityService","@web-atoms/core/dist/core/XNode","../../UrlService","../../BlogService","../BaseChannelPage","../../controls/Pager","./ChannelTagsPage.local.css","../../../../common/cache/CacheTTL"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,MailboxTag,EntityService,XNode,UrlService,BlogService,BaseChannelPage,Pager,CacheTTL,ChannelPhotosPage,symbolPhotos,symbolVideos,cacheVersion;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_modelModel){MailboxTag=_modelModel.MailboxTag},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_UrlService){UrlService=_UrlService.UrlService},function(_BlogService){BlogService=_BlogService.default},function(_BaseChannelPage){BaseChannelPage=_BaseChannelPage.default},function(_controlsPager){Pager=_controlsPager.default},function(_ChannelTagsPageLocalCss){},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL}],execute:function(){symbolPhotos=Symbol("photos");symbolVideos=Symbol("videos");cacheVersion="1a";_export("default",ChannelPhotosPage=class ChannelPhotosPage extends BaseChannelPage{constructor(){super(...arguments);this.channel=null;this.start=0;this.size=50;this.renderTag=m=>XNode.create("div",{"data-layout":"vertical-flex"},XNode.create("div",{"data-layout":"row"},XNode.create("a",{"data-tag":"tag",href:UrlService.toTagUrl(m)},"# ",m.tag.name," (",m.count,")")))}renderBody(){return __awaiter(this,void 0,void 0,(function*(){var _a;this.start=Number.parseInt((_a=this.parameters.start)!==null&&_a!==void 0?_a:0,10);const tags=yield this.loadTags();const items=tags.items;document.title="Tags "+this.channel.emailAddress.emailAddress;return XNode.create("section",{"data-width":"100%"},XNode.create("section",{"data-element":"tags"},...items.map(this.renderTag)),XNode.create(Pager,{current:this.start,end:Math.floor(tags.total/this.size)-1,url:x=>UrlService.toSectionUrl(this.channel,"tags",x)}))}))}loadTags(){return __awaiter(this,void 0,void 0,(function*(){this.entityService.postPageReady();const q=yield this.entityService.query(MailboxTag,"channelTags",this.channel.mailboxID).where((x=>x.count>0)).orderByDescending((x=>x.count)).include((x=>[x.tag,x.mailbox.emailAddress])).toPagedList({start:this.start*this.size,size:this.size,cacheVersion,cacheSeconds:CacheTTL.seconds.fifteenMinutes});return q}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],ChannelPhotosPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",BlogService)],ChannelPhotosPage.prototype,"blogService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/commands/ChannelCommands");System.register(["@web-atoms/core/dist/core/Command"],(function(_export,_context){"use strict";var Command,Commands,ChannelCommands;return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default;Commands=_webAtomsCoreDistCoreCommand.Commands}],execute:function(){ChannelCommands=class ChannelCommands extends Commands{};ChannelCommands.channelCalendar=Command.create({route:"/@{channel}/calendar",routeOrder:100,openPage:()=>_context.import("../pages/ChannelCalendarPage")});ChannelCommands.channelVideos=Command.create({route:"/@{channel}/videos/{start?}",routeOrder:100,openPage:()=>_context.import("../pages/video/ChannelVideosPage")});ChannelCommands.channelPhotos=Command.create({route:"/@{channel}/photos/{start?}",routeOrder:100,openPage:()=>_context.import("../pages/photo/ChannelPhotosPage")});ChannelCommands.channelTag=Command.create({route:"/@{channel}/tag/{tag}/{start?}",routeOrder:100,openPage:()=>_context.import("../pages/posts/ChannelPage")});ChannelCommands.channelTags=Command.create({route:"/@{channel}/tags/{start?}",routeOrder:100,openPage:()=>_context.import("../pages/tags/ChannelTagsPage")});ChannelCommands.channelList=Command.create({route:"/@{channel}/{start:number}",routeOrder:1e3,openPage:()=>_context.import("../pages/posts/ChannelPage")});ChannelCommands.channelDetail=Command.create({route:"/@{channel}/{slug}",routeOrder:5e3,openPage:()=>_context.import("../pages/posts/ChannelPage")});ChannelCommands.channelHome=Command.create({route:"/",routeOrder:1e4,openPage:()=>_context.import("../pages/posts/ChannelPage")});_export("default",ChannelCommands)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/editor/webComponentsPath");System.register(["tslib","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __awaiter,sleep,FetchBuilder,CustomElementsProxy,WebComponents,webComponentsInstalled,addAttributes;_export("WebComponents",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){webComponentsInstalled=Symbol("webComponentsInstalled");CustomElementsProxy=class CustomElementsProxy{constructor(elements=[]){this.elements=elements}define(name,factory){this.elements.push({name,factory})}};addAttributes=(target,values)=>{Object.defineProperty(target.prototype,"editableAttributes",{enumerable:true,configurable:true,get(){return values(this)}})};_export("WebComponents",WebComponents=class WebComponents{static run(frame,doc){return __awaiter(this,void 0,void 0,(function*(){if(doc[webComponentsInstalled]){return}doc[webComponentsInstalled]=true;let path=this.path;const packages=yield FetchBuilder.get("/social-mail/config/ui-packages").asJson();for(const element of packages){path=path.replace(element.latest,element.version)}const url=path+"/dist/editable.js";const cssUrl=location.protocol+path+"/dist/editable.css";const webPackPath=location.protocol+path+"/";const win=doc.defaultView;win["__web_components_css_path__"]=cssUrl;win["__editing"]=true;frame.sandbox.add("allow-scripts");const text=yield FetchBuilder.get(url).asText();const proxy=new CustomElementsProxy;const globals={window:win,__web_components_css_path__:cssUrl,__web_components_path__:webPackPath,document:win.document,Object:win.Object,Promise,console:win.console,Boolean:win.Boolean,String:win.String,Number:win.Number,Math:win.Math,Date:win.Date,Proxy:win.Proxy,Map:win.Map,Array:win.Array,RegExp:win.RegExp,PromiseRejectionEvent:win.PromiseRejectionEvent,setTimeout:(cb,n)=>setTimeout(cb,n),setInterval:(cb,n)=>setInterval(cb,n),clearTimeout:n=>clearTimeout(n),clearInterval:n=>clearInterval(n),Reflect:win.Reflect,requestAnimationFrame:win.requestAnimationFrame,requestIdleCallback:win.requestIdleCallback,Symbol:win.Symbol,HTMLElement:win.HTMLElement,MutationObserver:class extends win.MutationObserver{constructor(a){super(a)}},IntersectionObserver:class extends win.IntersectionObserver{constructor(a){super(a)}},customElements:proxy};win.HTMLElement.prototype.addEventListener=function(type,listener,options){return win.EventTarget.prototype.addEventListener.call(this,type,listener,options)};const keys=Object.keys(globals);const init=`${keys.map((x=>`var ${x} = globalWindow[${JSON.stringify(x)}]`)).join(";\n")}`;const sourceMappingURL=this.path+"/dist/editable.js.map";const script=`\n "use strict";\n ${init};\n Symbol.dispose ||= Symbol("dispose");\n ;${text.replace("//# sourceMappingURL=editable.js.map","//# sourceMappingURL="+sourceMappingURL)}\n `;const fx=new doc.defaultView.Function("globalWindow",script);fx.call(win,globals);addAttributes(win.HTMLElement,(()=>[{name:"title",type:"string",display:"Tool Tip"},{name:"lang",type:"lang",display:"Language"}]));addAttributes(win.HTMLAnchorElement,(()=>[{name:"href",type:"link",display:"Link"},{name:"target",type:"string",suggestions:[{label:"_blank",value:"_blank"},{label:"_top",value:"_top"},{label:"_self",value:"_self"}],display:"Target"}]));addAttributes(win.HTMLImageElement,(()=>[{name:"src",type:"image",display:"Image"},{name:"alt",type:"string",display:"Alt"},{name:"render-size",type:"number",display:"Render Size"},{name:"width",type:"number",display:"Width"},{name:"height",type:"number",display:"Height"}]));addAttributes(win.HTMLVideoElement,(()=>[{name:"src",type:"video",display:"Video"},{name:"poster",type:"image",display:"Poster"},{name:"original-autoplay",type:"boolean",display:"Auto Play"},{name:"preload",type:"enum",display:"Preload",values:["auto","metadata","none"]},{name:"loop",type:"boolean",display:"Loop"},{name:"muted",type:"boolean",display:"Muted"}]));yield sleep(10);for(const{name,factory}of proxy.elements){doc.defaultView.customElements.define(name,factory)}frame.sandbox.remove("allow-scripts")}))}});WebComponents.path=`//cdn.jsdelivr.net/npm/@social-mail/web-components@latest`}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/ChannelApp");System.register(["tslib","@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp","../../style/GlobalStyle","@web-atoms/core/dist/Pack","@web-atoms/core/dist/core/Command","./commands/ChannelCommands","@web-atoms/core/dist/core/Route","../../common/TestMode","@web-atoms/core/dist/web/WebApp","../../site-editor/editor/webComponentsPath","./ChannelApp.local.css"],(function(_export,_context){"use strict";var __awaiter,__decorate,MobileDesktopApp,Pack,Command,ChannelCommands,Route,AppLocation,WebApp,WebComponents,ChannelApp;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate},function(_webAtomsWebControlsDistDesktopAppMobileDesktopApp){MobileDesktopApp=_webAtomsWebControlsDistDesktopAppMobileDesktopApp.default},function(_styleGlobalStyle){},function(_webAtomsCoreDistPack){Pack=_webAtomsCoreDistPack.default},function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default},function(_commandsChannelCommands){ChannelCommands=_commandsChannelCommands.default},function(_webAtomsCoreDistCoreRoute){Route=_webAtomsCoreDistCoreRoute.default},function(_commonTestMode){AppLocation=_commonTestMode.AppLocation},function(_webAtomsCoreDistWebWebApp){WebApp=_webAtomsCoreDistWebWebApp.default},function(_siteEditorEditorWebComponentsPath){WebComponents=_siteEditorEditorWebComponentsPath.WebComponents},function(_ChannelAppLocalCss){}],execute:function(){if(AppLocation.isLocalTesting){WebApp.installStyleSheet("/styles/styler.css");WebApp.installStyleSheet("/styles/vars.css");WebApp.installStyleSheet(_context.meta.resolve("./styles/local-channel.local.less.css"))}ChannelApp=class ChannelApp extends MobileDesktopApp{init(){return __awaiter(this,void 0,void 0,(function*(){if(!window.socialMailWebContentLoaded){this.app.installScript(`${WebComponents.path}/dist/main.js`)}ChannelCommands.install(this);this.element.setAttribute("channel-app","channel-app");if(!Command.invokeRoute()){ChannelCommands.channelHome.dispatch()}}))}};ChannelApp=__decorate([Pack],ChannelApp);_export("default",ChannelApp);Route.encodeUrl=url=>{if(url.startsWith("#")){return url}if(AppLocation.isLocalTesting){return"#!"+url}return url};document.addEventListener("load",(e=>e.target.setAttribute("loaded","1")),{capture:true})}}}));window.installStyleSheet(new URL("./ChannelApp.pack.global.css",document.currentScript.src).toString());window.installStyleSheet(new URL("./ChannelApp.pack.local.css",document.currentScript.src).toString());
|
|
2
2
|
//# sourceMappingURL=ChannelApp.pack.min.js.map
|