@social-mail/social-mail-client 1.0.26 → 1.0.28
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.js +4666 -389
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +334 -7
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/admin/commands/AdminCommands.js +5 -4
- package/dist/admin/commands/AdminCommands.js.map +1 -1
- package/dist/common/commands/CommonCommands.js +7 -1
- package/dist/common/commands/CommonCommands.js.map +1 -1
- package/dist/common/controls/html/InlineHtmlEditorWithToolbar.js +25 -4
- package/dist/common/controls/html/InlineHtmlEditorWithToolbar.js.map +1 -1
- package/dist/common/pages/mailboxes/MailboxListPage.js +11 -3
- package/dist/common/pages/mailboxes/MailboxListPage.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.js.map +1 -1
- package/dist/web/AppIndex.pack.js +473 -449
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +8 -8
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/dist/web/commands/AppCommands.js +5 -4
- package/dist/web/commands/AppCommands.js.map +1 -1
- package/dist/web/page/mails/MailsPage.js +3 -1
- package/dist/web/page/mails/MailsPage.js.map +1 -1
- package/node_modules/@web-atoms/core/dist/core/Command.d.ts.map +1 -1
- package/node_modules/@web-atoms/core/dist/core/Command.js +3 -5
- package/node_modules/@web-atoms/core/dist/core/Command.js.map +1 -1
- package/node_modules/@web-atoms/core/dist/di/TypeKey.d.ts +2 -0
- package/node_modules/@web-atoms/core/dist/di/TypeKey.d.ts.map +1 -1
- package/node_modules/@web-atoms/core/dist/di/TypeKey.js +12 -3
- package/node_modules/@web-atoms/core/dist/di/TypeKey.js.map +1 -1
- package/node_modules/@web-atoms/core/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@web-atoms/core/dist/web/controls/AtomControl.js +2 -2
- package/node_modules/@web-atoms/core/dist/web/controls/AtomControl.js.map +1 -1
- package/node_modules/@web-atoms/core/dist/web/services/PopupService.d.ts.map +1 -1
- package/node_modules/@web-atoms/core/dist/web/services/PopupService.js +3 -2
- package/node_modules/@web-atoms/core/dist/web/services/PopupService.js.map +1 -1
- package/node_modules/@web-atoms/core/dist/web/styles/AtomStyleSheet.js +1 -1
- package/node_modules/@web-atoms/core/dist/web/styles/AtomStyleSheet.js.map +1 -1
- package/node_modules/@web-atoms/core/package.json +1 -1
- package/node_modules/@web-atoms/core/src/core/Command.ts +3 -5
- package/node_modules/@web-atoms/core/src/di/TypeKey.ts +10 -0
- package/node_modules/@web-atoms/core/src/web/controls/AtomControl.ts +2 -2
- package/node_modules/@web-atoms/core/src/web/services/PopupService.tsx +3 -2
- package/node_modules/@web-atoms/core/src/web/styles/AtomStyleSheet.ts +1 -1
- package/package.json +2 -2
- package/src/admin/commands/AdminCommands.ts +2 -1
- package/src/common/commands/CommonCommands.ts +8 -1
- package/src/common/controls/html/InlineHtmlEditorWithToolbar.tsx +33 -2
- package/src/common/pages/mailboxes/MailboxListPage.tsx +6 -1
- package/src/web/AppIndex.tsx +1 -0
- package/src/web/commands/AppCommands.ts +2 -1
- package/src/web/page/mails/MailsPage.tsx +4 -1
|
@@ -1,4 +1,4 @@
|
|
|
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 __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 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)}};__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"),i[Symbol.asyncIterator]=function(){return this},i;function verb(n){if(g[n])i[n]=function(v){return new Promise((function(a,b){q.push([n,v,a,b])>1||resume(n,v)}))}}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)};return{__extends,__assign,__rest,__decorate,__param,__metadata,__awaiter,__generator,__exportStar,__values,__read,__spread,__spreadArrays,__spreadArray,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet,__classPrivateFieldSet,__classPrivateFieldIn,__createBinding}}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)}}}}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.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;if(typeof require!=="undefined"){md=require("module").Module}const promiseDone=Promise.resolve(0);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);const define=this.define;jsModule.loader=promiseDone;AmdLoader.current=jsModule;if(define){define()}if(jsModule.exportVar){jsModule.exports=AmdLoader.globalVar[jsModule.exportVar]}jsModule.isLoaded=true}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.substr(packageName.length+1)}else{return path}if(path.endsWith("/")){path=path.substr(0,path.length-1)}path=path+"/"+name;const i=name.lastIndexOf("/");const fileName=name.substr(i+1);if(fileName.indexOf(".")===-1){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){const module=typeof name==="object"?name:this.get(name);if(module.importPromise){return module.importPromise}const m=this.importNodeModule(module);if(m){return m}if(module.isResolved){module.importPromise=Promise.resolve(module.getExports());return module.importPromise}module.importPromise=this.importAsync(module);return module.importPromise}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.emptyExports=module.exports;module.isLoaded=true;resolve()}catch(e){reject(e)}}),reject)}catch(e1){reject(e1)}}))}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)=>{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)}))}));return module.loader}}AmdLoader.isMedia=/\.(jpg|jpeg|gif|png|mp4|mp3|css|html|svg)$/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)};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={};(_a=amdConfig.moduleProgress)!==null&&_a!==void 0?_a: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;function bindFactory(module,requireList,fx){if(module.factory){return}module.dependencies=[];let requires=requireList;requires=requireList;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=()=>fx.apply(module,args)}if(nested){const name=requiresOrFactory;const rList=factory;const f=nested;const module=AmdLoader.instance.get(name);bindFactory(module,rList,f);return}AmdLoader.instance.define=()=>{const current=AmdLoader.current;if(!current){return}if(current.factory){return}if(typeof requiresOrFactory==="function"){bindFactory(current,[],requiresOrFactory)}else{bindFactory(current,requiresOrFactory,factory)}}};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){const instance=AmdLoader.instance;instance.define=()=>{const name=typeof nameOrImports==="string"?nameOrImports:AmdLoader.current.name;let imports=importsOrSetup;if(arguments.length===2){imports=nameOrImports;setup=importsOrSetup}const module=instance.get(name);module.dependencies.push(...imports.map((x=>instance.get(module.require.resolve(x)))));module.isLoaded=true;const postResolve=new Promise(((resolve,reject)=>{module.factory=()=>{const r=setup(((key,value)=>{if(typeof key==="object"){merge(module.exports,key);return module.exports}module.exports[key]=value;return value}),module);var list=module.dependencies;const{setters}=r;for(let index=0;index<list.length;index++){const element=list[index];setters[index](element.getExports())}const rp=r.execute();if(rp===null||rp===void 0?void 0:rp.then){rp.then(resolve,reject)}else{resolve()}return module.exports}}));module.resolver=()=>__awaiter(this,void 0,void 0,(function*(){yield AmdLoader.instance.resolve(module);yield postResolve;return module.exports}))}}}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*(){try{this.mock=designMode;AmdLoader.instance.get(path);const m=yield this.load(this.defaultApp,designMode);const app=new m.default;app.onReady((()=>__awaiter(this,void 0,void 0,(function*(){try{const viewClass=yield AmdLoader.instance.import(path);const view=new viewClass.default(app);const element=document.getElementById(id);element.appendChild(view.element)}catch(e){console.error(e)}}))))}catch(e){console.error(e)}}))}loadView(path,designMode,appPath){return __awaiter(this,void 0,void 0,(function*(){try{this.mock=designMode;appPath=appPath||this.defaultApp;AmdLoader.instance.get(path);const m=yield this.load(appPath,designMode);const app=new m.default;return yield new Promise(((resolve,reject)=>{app.onReady((()=>__awaiter(this,void 0,void 0,(function*(){try{const viewClass=yield AmdLoader.instance.import(path);const view=new viewClass.default(app);app.root=view;resolve(view)}catch(e){console.error(e);reject(e)}}))))}))}catch(er){console.error(er);throw er}}))}}const UMD=new UMDClass;(u=>{const globalNS=typeof window!=="undefined"?window:global;globalNS.UMD=u;globalNS.AmdLoader=AmdLoader;globalNS.System=System;AmdLoader.instance.registerModule("tslib",setupTSLib())})(UMD);AmdLoader.instance.register(["@social-mail/social-mail-client","@web-atoms/core","@web-atoms/web-controls","reflect-metadata","@web-atoms/date-time","@web-atoms/data-styles","@web-atoms/entity"],["@social-mail/social-mail-client/dist/admin/AdminAppIndex","@web-atoms/core/dist/Pack","@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","reflect-metadata","@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/AtomBridge","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@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/style/styled","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/desktop-app/DesktopApp","@social-mail/social-mail-client/dist/style/GlobalStyle","@web-atoms/core/dist/core/AtomList","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@web-atoms/data-styles/data-styles","@social-mail/social-mail-client/dist/services/UserService","@social-mail/social-mail-client/dist/services/EntityService","@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/HttpSession","@web-atoms/core/dist/services/http/JsonError","@web-atoms/entity/dist/services/mergeProperties","@web-atoms/entity/dist/services/Query","@web-atoms/entity/dist/services/StringHelper","@web-atoms/entity/dist/services/resolve","@social-mail/social-mail-client/dist/services/BusyProgress","@social-mail/social-mail-client/dist/model/model","@social-mail/social-mail-client/dist/common/SocialMailApp","@web-atoms/core/dist/core/InjectProperty","@social-mail/social-mail-client/dist/admin/commands/AdminCommands","@social-mail/social-mail-client/dist/admin/pages/home/AdminHome","@social-mail/social-mail-client/dist/admin/pages/domains/DomainListPage","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/core/WatchProperty","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/styles/inline-popup-style","@web-atoms/web-controls/dist/basic/MergeNode","@web-atoms/web-controls/dist/basic/ItemPath","@web-atoms/web-controls/dist/basic/styles/ui-display-none-style","@web-atoms/web-controls/dist/basic/styles/popup-style","@web-atoms/web-controls/dist/basic/styles/suggestion-popup","@web-atoms/web-controls/dist/basic/styles/repeater-style","@social-mail/social-mail-client/dist/admin/pages/domains/services/AdminDomainService","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/view-model/Action","@social-mail/social-mail-client/dist/admin/pages/domains/edit/EditDomainPage","@web-atoms/web-controls/dist/basic/Form","@social-mail/social-mail-client/dist/common/controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/styles/form-field-style","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/web-controls/dist/basic/styles/password-box-style","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/styles/checkbox-style","@web-atoms/web-controls/dist/basic/Expander","@web-atoms/web-controls/dist/basic/styles/expander-style","@social-mail/social-mail-client/dist/common/controls/buttons/IconButton","@social-mail/social-mail-client/dist/admin/pages/domains/edit/DomainKeySetupPage","@social-mail/social-mail-client/dist/common/controls/buttons/CopyIcon","@social-mail/social-mail-client/dist/admin/pages/domains/domain-user/DomainUserEditor","@social-mail/social-mail-client/dist/common/controls/drop-downs/user/UserDropDown","@web-atoms/web-controls/dist/basic/DropDown","@web-atoms/web-controls/dist/basic/styles/drop-down-style","@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/admin/pages/users/UserListPage","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/admin/pages/users/EditUserPage","@social-mail/social-mail-client/dist/common/validators/Validators","@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage","@web-atoms/web-controls/dist/basic/ComboBox","@social-mail/social-mail-client/dist/common/NumberFormats","@social-mail/social-mail-client/dist/admin/pages/relays/edit/EditRelayPage","@social-mail/social-mail-client/dist/common/pages/user/LoginPage","@social-mail/social-mail-client/dist/admin/drawer/AdminDrawer","@social-mail/social-mail-client/dist/common/controls/menu/MenuItem","@social-mail/social-mail-client/dist/services/files/LocalFileService","@social-mail/social-mail-client/dist/common/controls/ModuleInfo","@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"]);System.register([],(function(_export,_context){"use strict";function Pack(...a){}_export("default",Pack);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/Pack");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/StringHelper");
|
|
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 __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 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)}};__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"),i[Symbol.asyncIterator]=function(){return this},i;function verb(n){if(g[n])i[n]=function(v){return new Promise((function(a,b){q.push([n,v,a,b])>1||resume(n,v)}))}}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)};return{__extends,__assign,__rest,__decorate,__param,__metadata,__awaiter,__generator,__exportStar,__values,__read,__spread,__spreadArrays,__spreadArray,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet,__classPrivateFieldSet,__classPrivateFieldIn,__createBinding}}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)}}}}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.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;if(typeof require!=="undefined"){md=require("module").Module}const promiseDone=Promise.resolve(0);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);const define=this.define;jsModule.loader=promiseDone;AmdLoader.current=jsModule;if(define){define()}if(jsModule.exportVar){jsModule.exports=AmdLoader.globalVar[jsModule.exportVar]}jsModule.isLoaded=true}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.substr(packageName.length+1)}else{return path}if(path.endsWith("/")){path=path.substr(0,path.length-1)}path=path+"/"+name;const i=name.lastIndexOf("/");const fileName=name.substr(i+1);if(fileName.indexOf(".")===-1){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){const module=typeof name==="object"?name:this.get(name);if(module.importPromise){return module.importPromise}const m=this.importNodeModule(module);if(m){return m}if(module.isResolved){module.importPromise=Promise.resolve(module.getExports());return module.importPromise}module.importPromise=this.importAsync(module);return module.importPromise}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.emptyExports=module.exports;module.isLoaded=true;resolve()}catch(e){reject(e)}}),reject)}catch(e1){reject(e1)}}))}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)=>{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)}))}));return module.loader}}AmdLoader.isMedia=/\.(jpg|jpeg|gif|png|mp4|mp3|css|html|svg)$/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)};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={};(_a=amdConfig.moduleProgress)!==null&&_a!==void 0?_a: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;function bindFactory(module,requireList,fx){if(module.factory){return}module.dependencies=[];let requires=requireList;requires=requireList;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=()=>fx.apply(module,args)}if(nested){const name=requiresOrFactory;const rList=factory;const f=nested;const module=AmdLoader.instance.get(name);bindFactory(module,rList,f);return}AmdLoader.instance.define=()=>{const current=AmdLoader.current;if(!current){return}if(current.factory){return}if(typeof requiresOrFactory==="function"){bindFactory(current,[],requiresOrFactory)}else{bindFactory(current,requiresOrFactory,factory)}}};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){const instance=AmdLoader.instance;instance.define=()=>{const name=typeof nameOrImports==="string"?nameOrImports:AmdLoader.current.name;let imports=importsOrSetup;if(arguments.length===2){imports=nameOrImports;setup=importsOrSetup}const module=instance.get(name);module.dependencies.push(...imports.map((x=>instance.get(module.require.resolve(x)))));module.isLoaded=true;const postResolve=new Promise(((resolve,reject)=>{module.factory=()=>{const r=setup(((key,value)=>{if(typeof key==="object"){merge(module.exports,key);return module.exports}module.exports[key]=value;return value}),module);var list=module.dependencies;const{setters}=r;for(let index=0;index<list.length;index++){const element=list[index];setters[index](element.getExports())}const rp=r.execute();if(rp===null||rp===void 0?void 0:rp.then){rp.then(resolve,reject)}else{resolve()}return module.exports}}));module.resolver=()=>__awaiter(this,void 0,void 0,(function*(){yield AmdLoader.instance.resolve(module);yield postResolve;return module.exports}))}}}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*(){try{this.mock=designMode;AmdLoader.instance.get(path);const m=yield this.load(this.defaultApp,designMode);const app=new m.default;app.onReady((()=>__awaiter(this,void 0,void 0,(function*(){try{const viewClass=yield AmdLoader.instance.import(path);const view=new viewClass.default(app);const element=document.getElementById(id);element.appendChild(view.element)}catch(e){console.error(e)}}))))}catch(e){console.error(e)}}))}loadView(path,designMode,appPath){return __awaiter(this,void 0,void 0,(function*(){try{this.mock=designMode;appPath=appPath||this.defaultApp;AmdLoader.instance.get(path);const m=yield this.load(appPath,designMode);const app=new m.default;return yield new Promise(((resolve,reject)=>{app.onReady((()=>__awaiter(this,void 0,void 0,(function*(){try{const viewClass=yield AmdLoader.instance.import(path);const view=new viewClass.default(app);app.root=view;resolve(view)}catch(e){console.error(e);reject(e)}}))))}))}catch(er){console.error(er);throw er}}))}}const UMD=new UMDClass;(u=>{const globalNS=typeof window!=="undefined"?window:global;globalNS.UMD=u;globalNS.AmdLoader=AmdLoader;globalNS.System=System;AmdLoader.instance.registerModule("tslib",setupTSLib())})(UMD);AmdLoader.instance.register(["@social-mail/social-mail-client","@web-atoms/core","@web-atoms/web-controls","reflect-metadata","@web-atoms/date-time","@web-atoms/data-styles","@web-atoms/entity"],["@social-mail/social-mail-client/dist/admin/AdminAppIndex","@web-atoms/core/dist/Pack","@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","reflect-metadata","@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/AtomBridge","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@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/style/styled","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/desktop-app/DesktopApp","@social-mail/social-mail-client/dist/style/GlobalStyle","@web-atoms/core/dist/core/AtomList","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@web-atoms/data-styles/data-styles","@social-mail/social-mail-client/dist/services/UserService","@social-mail/social-mail-client/dist/services/EntityService","@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/HttpSession","@web-atoms/core/dist/services/http/JsonError","@web-atoms/entity/dist/services/mergeProperties","@web-atoms/entity/dist/services/Query","@web-atoms/entity/dist/services/StringHelper","@web-atoms/entity/dist/services/resolve","@social-mail/social-mail-client/dist/services/BusyProgress","@social-mail/social-mail-client/dist/model/model","@social-mail/social-mail-client/dist/common/SocialMailApp","@web-atoms/core/dist/core/InjectProperty","@social-mail/social-mail-client/dist/admin/commands/AdminCommands","@social-mail/social-mail-client/dist/admin/pages/home/AdminHome","@social-mail/social-mail-client/dist/admin/pages/domains/DomainListPage","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/core/WatchProperty","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/styles/inline-popup-style","@web-atoms/web-controls/dist/basic/MergeNode","@web-atoms/web-controls/dist/basic/ItemPath","@web-atoms/web-controls/dist/basic/styles/ui-display-none-style","@web-atoms/web-controls/dist/basic/styles/popup-style","@web-atoms/web-controls/dist/basic/styles/suggestion-popup","@web-atoms/web-controls/dist/basic/styles/repeater-style","@social-mail/social-mail-client/dist/admin/pages/domains/services/AdminDomainService","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/view-model/Action","@social-mail/social-mail-client/dist/admin/pages/domains/edit/EditDomainPage","@web-atoms/web-controls/dist/basic/Form","@social-mail/social-mail-client/dist/common/controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/styles/form-field-style","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/web-controls/dist/basic/styles/password-box-style","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/styles/checkbox-style","@web-atoms/web-controls/dist/basic/Expander","@web-atoms/web-controls/dist/basic/styles/expander-style","@social-mail/social-mail-client/dist/common/controls/buttons/IconButton","@social-mail/social-mail-client/dist/admin/pages/domains/edit/DomainKeySetupPage","@social-mail/social-mail-client/dist/common/controls/buttons/CopyIcon","@social-mail/social-mail-client/dist/admin/pages/domains/domain-user/DomainUserEditor","@social-mail/social-mail-client/dist/common/controls/drop-downs/user/UserDropDown","@web-atoms/web-controls/dist/basic/DropDown","@web-atoms/web-controls/dist/basic/styles/drop-down-style","@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/admin/pages/users/UserListPage","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/admin/pages/users/EditUserPage","@social-mail/social-mail-client/dist/common/validators/Validators","@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage","@web-atoms/web-controls/dist/basic/ComboBox","@social-mail/social-mail-client/dist/common/NumberFormats","@social-mail/social-mail-client/dist/common/commands/CommonCommands","@social-mail/social-mail-client/dist/web/page/mails/MailsPage","@social-mail/social-mail-client/dist/web/page/mails/service/MailService","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@social-mail/social-mail-client/dist/web/page/mails/ConversationPage","@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService","@social-mail/social-mail-client/dist/web/page/mails/ComposeMailPage","@social-mail/social-mail-client/dist/common/controls/html/InlineHtmlEditorWithToolbar","@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor","@web-atoms/web-controls/dist/html-editor/commands/AddImage","@web-atoms/web-controls/dist/html-editor/commands/CommandButton","@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands","@web-atoms/web-controls/dist/html-editor/commands/Toolbar","@web-atoms/web-controls/dist/html-editor/commands/Bold","@web-atoms/web-controls/dist/html-editor/commands/Command","@web-atoms/web-controls/dist/html-editor/commands/Italic","@web-atoms/web-controls/dist/html-editor/commands/Underline","@web-atoms/web-controls/dist/html-editor/commands/StrikeThrough","@web-atoms/web-controls/dist/html-editor/commands/Align","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/styles/popup-button-style","@web-atoms/web-controls/dist/html-editor/commands/HorizontalRule","@web-atoms/web-controls/dist/html-editor/commands/Separator","@web-atoms/web-controls/dist/html-editor/commands/Headings","@web-atoms/web-controls/dist/html-editor/commands/ChangeColor","@web-atoms/web-controls/dist/html-editor/commands/ChangeFont","@web-atoms/web-controls/dist/html-editor/commands/ChangeFontSize","@web-atoms/web-controls/dist/html-editor/commands/NumberedList","@web-atoms/web-controls/dist/html-editor/commands/UnorderedList","@web-atoms/web-controls/dist/html-editor/commands/IndentLess","@web-atoms/web-controls/dist/html-editor/commands/IndentMore","@web-atoms/web-controls/dist/html-editor/commands/AddLink","@web-atoms/core/dist/web/controls/AtomToggleButtonBar","@web-atoms/core/dist/web/styles/AtomToggleButtonBarStyle","@web-atoms/core/dist/web/styles/AtomListBoxStyle","@web-atoms/core/dist/web/controls/AtomListBox","@web-atoms/core/dist/web/controls/AtomItemsControl","@web-atoms/core/dist/core/AtomEnumerator","@web-atoms/web-controls/dist/html-editor/commands/Unlink","@web-atoms/web-controls/dist/html-editor/commands/RemoveFormat","@web-atoms/web-controls/dist/html-editor/commands/Source","@web-atoms/web-controls/dist/basic/UploadEvent","@social-mail/social-mail-client/dist/services/files/LocalFileService","@web-atoms/web-controls/dist/basic/AtomChips","@web-atoms/web-controls/dist/basic/Chip","@web-atoms/web-controls/dist/basic/styles/chip-style","@web-atoms/web-controls/dist/basic/styles/chips-style","@web-atoms/web-controls/dist/basic/styles/item-suggestion-style","@social-mail/social-mail-client/dist/admin/pages/relays/edit/EditRelayPage","@social-mail/social-mail-client/dist/common/pages/user/LoginPage","@social-mail/social-mail-client/dist/admin/drawer/AdminDrawer","@social-mail/social-mail-client/dist/common/controls/menu/MenuItem","@social-mail/social-mail-client/dist/common/controls/ModuleInfo","@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"]);System.register([],(function(_export,_context){"use strict";function Pack(...a){}_export("default",Pack);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/Pack");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/StringHelper");
|
|
2
2
|
/*! *****************************************************************************
|
|
3
3
|
Copyright (C) Microsoft. All rights reserved.
|
|
4
4
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
@@ -12,7 +12,7 @@ MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
|
12
12
|
|
|
13
13
|
See the Apache Version 2.0 License for specific language governing permissions
|
|
14
14
|
and limitations under the License.
|
|
15
|
-
***************************************************************************** */var Reflect;(function(Reflect){(function(factory){var root=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:Function("return this;")();var exporter=makeExporter(Reflect);if(typeof root.Reflect==="undefined"){root.Reflect=Reflect}else{exporter=makeExporter(root.Reflect,exporter)}factory(exporter);function makeExporter(target,previous){return function(key,value){if(typeof target[key]!=="function"){Object.defineProperty(target,key,{configurable:true,writable:true,value})}if(previous)previous(key,value)}}})((function(exporter){var hasOwn=Object.prototype.hasOwnProperty;var supportsSymbol=typeof Symbol==="function";var toPrimitiveSymbol=supportsSymbol&&typeof Symbol.toPrimitive!=="undefined"?Symbol.toPrimitive:"@@toPrimitive";var iteratorSymbol=supportsSymbol&&typeof Symbol.iterator!=="undefined"?Symbol.iterator:"@@iterator";var supportsCreate=typeof Object.create==="function";var supportsProto={__proto__:[]}instanceof Array;var downLevel=!supportsCreate&&!supportsProto;var HashMap={create:supportsCreate?function(){return MakeDictionary(Object.create(null))}:supportsProto?function(){return MakeDictionary({__proto__:null})}:function(){return MakeDictionary({})},has:downLevel?function(map,key){return hasOwn.call(map,key)}:function(map,key){return key in map},get:downLevel?function(map,key){return hasOwn.call(map,key)?map[key]:undefined}:function(map,key){return map[key]}};var functionPrototype=Object.getPrototypeOf(Function);var usePolyfill=typeof process==="object"&&process.env&&process.env["REFLECT_METADATA_USE_MAP_POLYFILL"]==="true";var _Map=!usePolyfill&&typeof Map==="function"&&typeof Map.prototype.entries==="function"?Map:CreateMapPolyfill();var _Set=!usePolyfill&&typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:CreateSetPolyfill();var _WeakMap=!usePolyfill&&typeof WeakMap==="function"?WeakMap:CreateWeakMapPolyfill();var 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);var metadataMap=GetOrCreateMetadataMap(target,propertyKey,false);if(IsUndefined(metadataMap))return false;if(!metadataMap.delete(metadataKey))return false;if(metadataMap.size>0)return true;var 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(var i=decorators.length-1;i>=0;--i){var decorator=decorators[i];var 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(var i=decorators.length-1;i>=0;--i){var decorator=decorators[i];var 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){var targetMetadata=Metadata.get(O);if(IsUndefined(targetMetadata)){if(!Create)return undefined;targetMetadata=new _Map;Metadata.set(O,targetMetadata)}var 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){var hasOwn=OrdinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return true;var parent=OrdinaryGetPrototypeOf(O);if(!IsNull(parent))return OrdinaryHasMetadata(MetadataKey,parent,P);return false}function OrdinaryHasOwnMetadata(MetadataKey,O,P){var metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return false;return ToBoolean(metadataMap.has(MetadataKey))}function OrdinaryGetMetadata(MetadataKey,O,P){var hasOwn=OrdinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return OrdinaryGetOwnMetadata(MetadataKey,O,P);var parent=OrdinaryGetPrototypeOf(O);if(!IsNull(parent))return OrdinaryGetMetadata(MetadataKey,parent,P);return undefined}function OrdinaryGetOwnMetadata(MetadataKey,O,P){var metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return undefined;return metadataMap.get(MetadataKey)}function OrdinaryDefineOwnMetadata(MetadataKey,MetadataValue,O,P){var metadataMap=GetOrCreateMetadataMap(O,P,true);metadataMap.set(MetadataKey,MetadataValue)}function OrdinaryMetadataKeys(O,P){var ownKeys=OrdinaryOwnMetadataKeys(O,P);var parent=OrdinaryGetPrototypeOf(O);if(parent===null)return ownKeys;var parentKeys=OrdinaryMetadataKeys(parent,P);if(parentKeys.length<=0)return ownKeys;if(ownKeys.length<=0)return parentKeys;var set=new _Set;var keys=[];for(var _i=0,ownKeys_1=ownKeys;_i<ownKeys_1.length;_i++){var key=ownKeys_1[_i];var hasKey=set.has(key);if(!hasKey){set.add(key);keys.push(key)}}for(var _a=0,parentKeys_1=parentKeys;_a<parentKeys_1.length;_a++){var key=parentKeys_1[_a];var hasKey=set.has(key);if(!hasKey){set.add(key);keys.push(key)}}return keys}function OrdinaryOwnMetadataKeys(O,P){var keys=[];var metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return keys;var keysObj=metadataMap.keys();var iterator=GetIterator(keysObj);var k=0;while(true){var next=IteratorStep(iterator);if(!next){keys.length=k;return keys}var 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}var hint=PreferredType===3?"string":PreferredType===5?"number":"default";var exoticToPrim=GetMethod(input,toPrimitiveSymbol);if(exoticToPrim!==undefined){var 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"){var toString_1=O.toString;if(IsCallable(toString_1)){var result=toString_1.call(O);if(!IsObject(result))return result}var valueOf=O.valueOf;if(IsCallable(valueOf)){var result=valueOf.call(O);if(!IsObject(result))return result}}else{var valueOf=O.valueOf;if(IsCallable(valueOf)){var result=valueOf.call(O);if(!IsObject(result))return result}var toString_2=O.toString;if(IsCallable(toString_2)){var result=toString_2.call(O);if(!IsObject(result))return result}}throw new TypeError}function ToBoolean(argument){return!!argument}function ToString(argument){return""+argument}function ToPropertyKey(argument){var 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){var func=V[P];if(func===undefined||func===null)return undefined;if(!IsCallable(func))throw new TypeError;return func}function GetIterator(obj){var method=GetMethod(obj,iteratorSymbol);if(!IsCallable(method))throw new TypeError;var iterator=method.call(obj);if(!IsObject(iterator))throw new TypeError;return iterator}function IteratorValue(iterResult){return iterResult.value}function IteratorStep(iterator){var result=iterator.next();return result.done?false:result}function IteratorClose(iterator){var f=iterator["return"];if(f)f.call(iterator)}function OrdinaryGetPrototypeOf(O){var proto=Object.getPrototypeOf(O);if(typeof O!=="function"||O===functionPrototype)return proto;if(proto!==functionPrototype)return proto;var prototype=O.prototype;var prototypeProto=prototype&&Object.getPrototypeOf(prototype);if(prototypeProto==null||prototypeProto===Object.prototype)return proto;var constructor=prototypeProto.constructor;if(typeof constructor!=="function")return proto;if(constructor===O)return proto;return constructor}function CreateMapPolyfill(){var cacheSentinel={};var arraySentinel=[];var MapIterator=function(){function MapIterator(keys,values,selector){this._index=0;this._keys=keys;this._values=values;this._selector=selector}MapIterator.prototype["@@iterator"]=function(){return this};MapIterator.prototype[iteratorSymbol]=function(){return this};MapIterator.prototype.next=function(){var index=this._index;if(index>=0&&index<this._keys.length){var 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}};MapIterator.prototype.throw=function(error){if(this._index>=0){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}throw error};MapIterator.prototype.return=function(value){if(this._index>=0){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}return{value,done:true}};return MapIterator}();return function(){function Map(){this._keys=[];this._values=[];this._cacheKey=cacheSentinel;this._cacheIndex=-2}Object.defineProperty(Map.prototype,"size",{get:function(){return this._keys.length},enumerable:true,configurable:true});Map.prototype.has=function(key){return this._find(key,false)>=0};Map.prototype.get=function(key){var index=this._find(key,false);return index>=0?this._values[index]:undefined};Map.prototype.set=function(key,value){var index=this._find(key,true);this._values[index]=value;return this};Map.prototype.delete=function(key){var index=this._find(key,false);if(index>=0){var size=this._keys.length;for(var 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};Map.prototype.clear=function(){this._keys.length=0;this._values.length=0;this._cacheKey=cacheSentinel;this._cacheIndex=-2};Map.prototype.keys=function(){return new MapIterator(this._keys,this._values,getKey)};Map.prototype.values=function(){return new MapIterator(this._keys,this._values,getValue)};Map.prototype.entries=function(){return new MapIterator(this._keys,this._values,getEntry)};Map.prototype["@@iterator"]=function(){return this.entries()};Map.prototype[iteratorSymbol]=function(){return this.entries()};Map.prototype._find=function(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};return Map}();function getKey(key,_){return key}function getValue(_,value){return value}function getEntry(key,value){return[key,value]}}function CreateSetPolyfill(){return function(){function Set(){this._map=new _Map}Object.defineProperty(Set.prototype,"size",{get:function(){return this._map.size},enumerable:true,configurable:true});Set.prototype.has=function(value){return this._map.has(value)};Set.prototype.add=function(value){return this._map.set(value,value),this};Set.prototype.delete=function(value){return this._map.delete(value)};Set.prototype.clear=function(){this._map.clear()};Set.prototype.keys=function(){return this._map.keys()};Set.prototype.values=function(){return this._map.values()};Set.prototype.entries=function(){return this._map.entries()};Set.prototype["@@iterator"]=function(){return this.keys()};Set.prototype[iteratorSymbol]=function(){return this.keys()};return Set}()}function CreateWeakMapPolyfill(){var UUID_SIZE=16;var keys=HashMap.create();var rootKey=CreateUniqueKey();return function(){function WeakMap(){this._key=CreateUniqueKey()}WeakMap.prototype.has=function(target){var table=GetOrCreateWeakMapTable(target,false);return table!==undefined?HashMap.has(table,this._key):false};WeakMap.prototype.get=function(target){var table=GetOrCreateWeakMapTable(target,false);return table!==undefined?HashMap.get(table,this._key):undefined};WeakMap.prototype.set=function(target,value){var table=GetOrCreateWeakMapTable(target,true);table[this._key]=value;return this};WeakMap.prototype.delete=function(target){var table=GetOrCreateWeakMapTable(target,false);return table!==undefined?delete table[this._key]:false};WeakMap.prototype.clear=function(){this._key=CreateUniqueKey()};return WeakMap}();function CreateUniqueKey(){var 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(var 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(){var data=GenRandomBytes(UUID_SIZE);data[6]=data[6]&79|64;data[8]=data[8]&191|128;var result="";for(var offset=0;offset<UUID_SIZE;++offset){var 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={}));AmdLoader.instance.setup("reflect-metadata");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/AtomMap");System.register(["reflect-metadata","./AtomMap"],(function(_export,_context){"use strict";var Map,CancelToken,ArrayHelper,_a,_b,_c,ignoreValue,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("CancelToken",CancelToken=class CancelToken{static isCancelled(e){var _a;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};(_b=(_c=Array.prototype).flat)!==null&&_b!==void 0?_b:_c.flat=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};Array.prototype["groupBy"]=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};globalNS=typeof window!=="undefined"?window:global;_export("DI",DI=globalNS.UMD);_export("UMD",UMD=globalNS.UMD)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/types");System.register([],(function(_export,_context){"use strict";var TypeKey;_export("TypeKey",void 0);return{setters:[],execute:function(){_export("TypeKey",TypeKey=class TypeKey{static get(c){return c}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/TypeKey");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/ServiceCollection");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/Register");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/core/dist/di/RegisterSingleton");(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports"],factory)}})((function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.msDays=exports.msHours=exports.msSeconds=exports.msMinutes=void 0;function isEmpty(n){return n===undefined||n===null||n===0||isNaN(n)}exports.msMinutes=6e4;exports.msSeconds=1e3;exports.msHours=36e5;exports.msDays=24*exports.msHours;const daysPerMS=1/exports.msDays;const hoursPerMS=1/exports.msHours;const minutesPerMS=1/exports.msMinutes;const secondsPerMS=1/exports.msSeconds;function padLeft(n,c=2,t="0"){let s=n.toString();if(s.length<c){s=t+s}return s}class TimeSpan{static fromDays(n){return new TimeSpan(n*exports.msDays)}static fromHours(n){return new TimeSpan(n*exports.msHours)}static fromMinutes(n){return new TimeSpan(n*exports.msMinutes)}static fromSeconds(n){return new TimeSpan(n*exports.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/exports.msDays)}get hours(){return Math.floor(this.msSinceEpoch/exports.msHours%24)}get minutes(){return Math.floor(this.msSinceEpoch/exports.msMinutes%60)}get seconds(){return Math.floor(this.msSinceEpoch/exports.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%exports.msDays))}constructor(days,hours,minutes,seconds,milliseconds){if(arguments.length===1){this.msSinceEpoch=days}else{this.msSinceEpoch=(days||0)*exports.msDays+(hours||0)*exports.msHours+(minutes||0)*exports.msMinutes+(seconds||0)*exports.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(exports.msDays);format(exports.msHours,formatAs12&&!d);format(exports.msMinutes);let s=format(exports.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}}exports.default=TimeSpan;if(typeof window!=="undefined"){window.TimeSpan=TimeSpan}}));AmdLoader.instance.setup("@web-atoms/date-time/dist/TimeSpan");(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","./TimeSpan"],factory)}})((function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});const TimeSpan_1=require("./TimeSpan");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_1.default.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_1.default(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_1.default){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_1.default(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()}}exports.default=DateTime;DateTime.prototype.__proto__=Date.prototype;if(typeof window!=="undefined"){window.DateTime=DateTime}}));AmdLoader.instance.setup("@web-atoms/date-time/dist/DateTime");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/services/JsonService");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/di/DISingleton");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/services/ReferenceService");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/web/core/AtomUI");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/AtomUri");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/EventScope");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}>.+)?)?`}if(this.optional){return`(/?(?<${this.variable}>[^\\/]+))?`}return`/(?<${this.variable}>[^\\/]+)`}constructor(variable,name){var _a;this.variable=variable;this.name=name;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.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("/")}if(!iterator.startsWith("{")){this.substitutions.push(iterator);regex+=StringHelper.escapeRegExp("/");regex+=StringHelper.escapeRegExp(iterator);continue}if(!iterator.endsWith("}")){throw new Error("invalid route, missing end curly brace")}const v=new Variable(iterator.substring(1,iterator.length-1));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/Route");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,default: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};_export("default",Command=class Command{static invokeRoute(route=(location.hash.startsWith("#!")?location.hash.substring(2):location.pathname),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?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){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 _b;const p=(_b=ce.detail)!==null&&_b!==void 0?_b:{};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 _c;return PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPageForResult()),(_c=ce.detail)!==null&&_c!==void 0?_c:{})}))}if(pushPageForResultOrCancel){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _d;try{return yield PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPageForResultOrCancel()),(_d=ce.detail)!==null&&_d!==void 0?_d:{})}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.registry=new Map;Command.routes=[];_export("Commands",Commands=class Commands{static install(control){this.app=control.app;for(const key in this){if(Object.prototype.hasOwnProperty.call(this,key)){const element=this[key];if(element instanceof Command){element.listen(control)}}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Command");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/AtomBinder");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/InheritedProperty");System.register(["tslib","../services/JsonService","../services/ReferenceService","./AtomUri","./Command","./InheritedProperty","./types"],(function(_export,_context){"use strict";var __awaiter,__rest,JsonService,ReferenceService,AtomUri,displayRouteSymbol,getOwnInheritedProperty,CancelToken,DI,AtomLoader;_export("AtomLoader",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__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 busyIndicator=app.createBusyIndicator({title:url.toString(),description:`Loading View ${url}`});try{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}}finally{busyIndicator.dispose()}}))}static loadClass(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+""]);return __awaiter(this,void 0,void 0,(function*(){const busyIndicator=app.createBusyIndicator({title:url.toString(),description:`Loading View ${url}`});try{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}finally{busyIndicator.dispose()}}))}static loadControl(url,app){var _a,_b,_c,_d;var _e;return __awaiter(this,void 0,void 0,(function*(){const busyIndicator=app.createBusyIndicator({title:url.toString(),description:`Loading View ${url}`});try{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}finally{busyIndicator.dispose()}}))}});AtomLoader.id=1}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomLoader");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/sleep");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/ExpressionParser");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 _b,_c;if((_b=asyncState.cancelToken)===null||_b===void 0?void 0:_b.cancelled){return}asyncState.token=undefined;(_c=asyncState.cancelToken)===null||_c===void 0?void 0:_c.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/Bind");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,default: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};_export("default",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);if(typeof bridge!=="undefined"){bridge.XNode=XNode}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/XNode");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/AtomDispatcher");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/core/TransientDisposable");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/Inject");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/di/ServiceProvider");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{dispose(){}}}});_export("BusyIndicatorService",BusyIndicatorService=__decorate([RegisterSingleton],BusyIndicatorService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/BusyIndicatorService");System.register(["tslib","./core/AtomBinder","./core/AtomDispatcher","./core/types","./di/RegisterSingleton","./di/ServiceProvider","./services/BusyIndicatorService"],(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}],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 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.busyIndicators=[];this.readyHandlers=[];this.onError=error=>{console.log(error)};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){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)}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}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(){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.dispose()}));a.catch((e=>{indicator.dispose();console.error(typeof e==="string"?e:JSON.stringify(e))}))}}});_export("App",App=App_1=__decorate([RegisterSingleton,__metadata("design:paramtypes",[])],App))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/App");System.register(["../web/core/AtomUI","./AtomBinder"],(function(_export,_context){"use strict";var ChildEnumerator,AtomBinder,BaseElementBridge,AtomElementBridge,AtomBridge,globalNS;_export({BaseElementBridge:void 0,AtomElementBridge:void 0,AtomBridge:void 0});return{setters:[function(_webCoreAtomUI){ChildEnumerator=_webCoreAtomUI.ChildEnumerator},function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){_export("BaseElementBridge",BaseElementBridge=class BaseElementBridge{refreshInherited(target,name,fieldName){AtomBinder.refreshValue(target,name);if(!fieldName){fieldName="m"+name[0].toUpperCase()+name.substr(1)}if(!target.element){return}this.visitDescendents(target.element,((e,ac)=>{if(ac){if(ac[fieldName]===undefined){this.refreshInherited(ac,name,fieldName)}return false}return true}))}createNode(target,node,binder,xNodeClass,creator){throw new Error("Method not implemented.")}});_export("AtomElementBridge",AtomElementBridge=class AtomElementBridge extends BaseElementBridge{addEventHandler(element,name,handler,capture){element.addEventListener(name,handler,capture);return{dispose:()=>{element.removeEventListener(name,handler,capture)}}}atomParent(element,climbUp=true){const eAny=element;if(eAny.atomControl){return eAny.atomControl}if(!climbUp){return null}if(!element.parentNode){return null}return this.atomParent(this.elementParent(element))}elementParent(element){const eAny=element;const lp=eAny._logicalParent;if(lp){return lp}return element.parentElement}templateParent(element){if(!element){return null}const eAny=element;if(eAny._templateParent){return this.atomParent(element)}const parent=this.elementParent(element);if(!parent){return null}return this.templateParent(parent)}visitDescendents(element,action){for(const iterator of ChildEnumerator.enumerate(element)){const eAny=iterator;const ac=eAny?eAny.atomControl:undefined;if(!action(iterator,ac)){continue}this.visitDescendents(iterator,action)}}dispose(element){const eAny=element;eAny.atomControl=undefined;eAny.innerHTML="";delete eAny.atomControl}appendChild(parent,child){parent.appendChild(child)}setValue(element,name,value){element[name]=value}getValue(element,name){return element[name]}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)}}}}attachControl(element,control){element.atomControl=control}create(type){return document.createElement(type)}loadContent(element,text){throw new Error("Not supported")}findChild(element,name){throw new Error("Not supported")}close(element,success,error){throw new Error("Not supported")}toTemplate(element,creator){const templateNode=element;const name=templateNode.name;if(typeof name==="string"){element=((bx,n)=>class extends bx{create(){this.render(n)}})(creator,templateNode.children[0])}else{element=((base,n)=>class extends base{create(){this.render(n)}})(name,templateNode.children[0])}return element}createNode(target,node,binder,xNodeClass,creator){let parent=null;const app=target.app;let e=null;const nn=node.attributes?node.attributes.for:undefined;if(typeof node.name==="string"){e=document.createElement(node.name);parent=e;if(nn){delete node.attributes.for}}else{if(nn){target=new node.name(app,document.createElement(nn));delete node.attributes.for}target=new node.name(app);e=target.element;parent=target}const a=node.attributes;if(a){for(const key in a){if(a.hasOwnProperty(key)){let element=a[key];if(element instanceof binder){if(/^event/.test(key)){let ev=key.substr(5);if(ev.startsWith("-")){ev=ev.split("-").map((s=>s[0].toLowerCase()+s.substr(1))).join("")}else{ev=ev[0].toLowerCase()+ev.substr(1)}element.setupFunction(ev,element,target,e)}else{element.setupFunction(key,element,target,e)}}else{if(element instanceof xNodeClass){element=this.toTemplate(element,creator)}target.setLocalValue(e,key,element)}}}}const children=node.children;if(children){for(const iterator of children){if(typeof iterator==="string"){e.appendChild(document.createTextNode(iterator));continue}const t=iterator.attributes?iterator.attributes.template:null;if(t){const tx=this.toTemplate(iterator,creator);target[t]=tx;continue}if(typeof iterator.name==="string"){e.appendChild(this.createNode(target,iterator,binder,xNodeClass,creator));continue}const child=this.createNode(target,iterator,binder,xNodeClass,creator);if(parent.element&&parent.element.atomControl===parent){parent.append(child.atomControl||child)}else{parent.appendChild(child)}}}return e}});_export("AtomBridge",AtomBridge=class AtomBridge{static createNode(iterator,app){if(typeof iterator.name==="string"||iterator.name.factory){return{element:AtomBridge.instance.create(iterator.name,iterator,app)}}const fx=iterator.attributes?iterator.attributes.for:undefined;const c=new iterator.name(app,fx?AtomBridge.instance.create(fx,iterator,app):undefined);return{element:c.element,control:c}}static toTemplate(app,n,creator){if(n.isTemplate){const t=AtomBridge.toTemplate(app,n.children[0],creator);return AtomBridge.instance.create(n.name.toString(),t,app)}const bridge=AtomBridge.instance;let fx;let en;if(typeof n.name==="function"){fx=n.name;en=n.attributes&&n.attributes.for?n.attributes.for:undefined}else{fx=bridge.controlFactory;en=n.name}return class Template extends fx{constructor(a,e1){super(a||app,e1||(en?bridge.create(en,null,app):undefined));this._creator=fx}create(){super.create();this.render(n,null,creator)}}}static refreshInherited(target,name,fieldName){if(AtomBridge.instance.refreshInherited){AtomBridge.instance.refreshInherited(target,name,fieldName);return}AtomBinder.refreshValue(target,name);if(!fieldName){fieldName="m"+name[0].toUpperCase()+name.substr(1)}if(!target.element){return}AtomBridge.instance.visitDescendents(target.element,((e,ac)=>{if(ac){if(ac[fieldName]===undefined){AtomBridge.refreshInherited(ac,name,fieldName)}return false}return true}))}});globalNS=typeof window!=="undefined"?window:global;globalNS.AtomBridge=AtomBridge;if(typeof window!=="undefined"){AtomBridge.instance=new AtomElementBridge;AtomBridge.platform="web"}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomBridge");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/AtomDisposableList");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/AtomWatcher");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/PropertyMap");System.register(["tslib","../App","../core/AtomBridge","../core/types","../di/Inject","./AtomDisposableList","./AtomWatcher","./Bind","./InheritedProperty","./PropertyMap","./XNode"],(function(_export,_context){"use strict";var __decorate,__metadata,__param,App,AtomBridge,ArrayHelper,CancelToken,ignoreValue,Inject,AtomDisposableList,AtomWatcher,bindSymbol,InheritedProperty,PropertyMap,attachedSymbol,constructorNeedsArgumentsSymbol,elementFactorySymbol,isControl,isFactorySymbol,xnodeSymbol,PropertyBinding,_a,_b,objectHasOwnProperty,localBindSymbol,localXNodeSymbol,elementFactory,isFactory,isAtomControl,localBridge,renderFirst,attached,constructorNeedsArguments,AtomComponent;_export("PropertyBinding",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_coreAtomBridge){AtomBridge=_coreAtomBridge.AtomBridge},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(_InheritedProperty){InheritedProperty=_InheritedProperty.InheritedProperty},function(_PropertyMap){PropertyMap=_PropertyMap.PropertyMap},function(_XNode){attachedSymbol=_XNode.attachedSymbol;constructorNeedsArgumentsSymbol=_XNode.constructorNeedsArgumentsSymbol;elementFactorySymbol=_XNode.elementFactorySymbol;isControl=_XNode.isControl;isFactorySymbol=_XNode.isFactorySymbol;xnodeSymbol=_XNode.xnodeSymbol}],execute:function(){objectHasOwnProperty=Object.prototype.hasOwnProperty;localBindSymbol=bindSymbol;localXNodeSymbol=xnodeSymbol;elementFactory=elementFactorySymbol;isFactory=isFactorySymbol;isAtomControl=isControl;localBridge=AtomBridge;renderFirst=AtomBridge.platform==="xf";attached=attachedSymbol;constructorNeedsArguments=constructorNeedsArgumentsSymbol;_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}AtomBridge.instance.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){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){AtomBridge.instance.setValue(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}});_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=AtomBridge.instance.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/AtomComponent");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/core/FormattedString");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/services/NavigationService");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/BindableProperty");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/core/WebImage");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/AtomStyle");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.get(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/styles/AtomStyleSheet");System.register(["tslib","../../core/AtomBinder","../../core/AtomBridge","../../core/AtomComponent","../../core/BindableProperty","../../core/Command","../../core/FormattedString","../../core/WebImage","../../core/XNode","../../di/TypeKey","../styles/AtomStyle","../styles/AtomStyleSheet"],(function(_export,_context){"use strict";var __decorate,__metadata,AtomBinder,AtomBridge,AtomComponent,BindableProperty,Command,FormattedString,WebImage,XNode,isControl,TypeKey,AtomStyle,AtomStyleSheet,AtomControl,isAtomControl,fromHyphenToCamel,bridgeInstance,defaultStyleSheets,ElementValueSetters,propertyId,getSelection;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(_coreAtomBridge){AtomBridge=_coreAtomBridge.AtomBridge},function(_coreAtomComponent){AtomComponent=_coreAtomComponent.AtomComponent},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreCommand){Command=_coreCommand.default},function(_coreFormattedString){FormattedString=_coreFormattedString.default},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")}bridgeInstance=AtomBridge.instance;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){ie.focus()}}))},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.get(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.get(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;bridgeInstance.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();bridgeInstance.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("aria-")){element.setAttribute(name,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""};window.addEventListener("click",(e=>{if(e.defaultPrevented){return}if(getSelection()){return}const originalTarget=e.target;let start=originalTarget;while(start){if(start.tagName==="A"){const clickEvent=start.getAttribute("data-click-event");if(clickEvent===null){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)}}));bridgeInstance.controlFactory=AtomControl}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomControl");System.register([],(function(_export,_context){"use strict";var StyleFragment,id,nextId,globalLow,global,globalHigh,localLow,local,localHigh,styles,styled;function*divide(text){const regex=/^(([^\{\n]+\{[\t\x20]*)|([^\n\}]*\}[^\S\n\r]*))$/gm;let m;let sentOnce=false;let lastIndex=0;let lastMatch;while((m=regex.exec(text))!==null){if(m.index===regex.lastIndex){regex.lastIndex++}const match=m[0];if(!sentOnce){sentOnce=true;yield text.substring(lastIndex,m.index);lastIndex=m.index+match.length;lastMatch=match;continue}if(lastMatch.includes("}")){yield[lastMatch.trim()];lastIndex=m.index+match.length;lastMatch=match;continue}yield[lastMatch,text.substring(lastIndex,m.index),match];lastIndex=m.index+match.length;lastMatch=match}if(lastMatch===null||lastMatch===void 0?void 0:lastMatch.includes("}")){yield[lastMatch.trim()]}}return{setters:[],execute:function(){id=1;nextId=()=>`styled-r${id++}`;globalLow=document.createElement("meta");globalLow.name="global-low-style";document.head.appendChild(globalLow);global=document.createElement("meta");global.name="global-style";document.head.appendChild(global);globalHigh=document.createElement("meta");globalHigh.name="global-high-style";document.head.appendChild(globalHigh);localLow=document.createElement("meta");localLow.name="local-low-style";document.head.appendChild(localLow);local=document.createElement("meta");local.name="local-style";document.head.appendChild(local);localHigh=document.createElement("meta");localHigh.name="local-high-style";document.head.appendChild(localHigh);StyleFragment=class StyleFragment{static newStyle({selector="",content=""}){return new StyleFragment({selector,content})}constructor({selector,content}){this.order="low";this.selector=selector;this.content=content}expand(selector){selector!==null&&selector!==void 0?selector:selector=this.selector;let en=divide(this.content);let parts=en.next();if(parts.done){if(!this.content){return""}return`${selector} {\n${this.content}\n}`}const first=parts.value;let content=(first===null||first===void 0?void 0:first.trim())?`${selector} {\n${first}\n}\n`:"";let selectorStack=[];while(!(parts=en.next()).done){const[key,value]=parts.value;if(key.endsWith("}")){selector=selectorStack.pop();if(selector==="@"){content+="\n}\n";selector=selectorStack.pop()}continue}let keySelector=key.replace("{","");const isMedia=/\@/.test(keySelector);const replace=!isMedia;const replaced=replace?selector.split(",").map((x=>keySelector.replace(/\&/g,x).trim())).join(","):keySelector;selectorStack.push(selector);selector=replace?replaced:selector;if(isMedia){selectorStack.push("@")}if(value===null||value===void 0?void 0:value.trim()){content+=`${replaced} {\n${value}\n}\n`}else{if(isMedia){content+=`${replaced} {\n`}}}return content}toString(){return this.content.replace(/\\n/g,"")}installGlobal(selector="",id=this.id||selector,description){const style=document.createElement("style");style.textContent=this.expand(selector);if(description){style.setAttribute("data-desc",description)}switch(this.order){case"low":document.head.insertBefore(style,globalLow);break;case"default":case"medium":document.head.insertBefore(style,global);break;case"high":document.head.insertBefore(style,globalHigh);break}style.id=id}installLocal(prefix="",description=this.description){const selector=nextId();const style=document.createElement("style");const id=`${prefix}.${selector}`;style.id=id;style.textContent=this.expand(id);if(description){style.setAttribute("data-desc",description)}switch(this.order){case"low":document.head.insertBefore(style,localLow);break;case"default":case"medium":document.head.insertBefore(style,local);break;case"high":document.head.insertBefore(style,localHigh);break}return selector}withId(id){this.id=id;return this}withDescription(description){this.description=description;return this}withOrder(order){this.order=order;return this}};styles=[];styled={get styles(){return styles},css:(t,...a)=>{let r="";for(let index=0;index<t.length;index++){const element=t[index];r+=element;if(index<a.length){r+=a[index]}}return StyleFragment.newStyle({content:r})},add(x){styles.push(x)}};_export("default",styled)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/style/styled");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../../core/sleep","../../core/types","../../style/styled","../controls/AtomControl","../core/AtomUI"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,BindableProperty,XNode,sleep,CancelToken,styled,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(_styleStyled){styled=_styleStyled.default},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},function(_coreAtomUI){ChildEnumerator=_coreAtomUI.ChildEnumerator}],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)};styled.css`
|
|
15
|
+
***************************************************************************** */var Reflect;(function(Reflect){(function(factory){var root=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:Function("return this;")();var exporter=makeExporter(Reflect);if(typeof root.Reflect==="undefined"){root.Reflect=Reflect}else{exporter=makeExporter(root.Reflect,exporter)}factory(exporter);function makeExporter(target,previous){return function(key,value){if(typeof target[key]!=="function"){Object.defineProperty(target,key,{configurable:true,writable:true,value})}if(previous)previous(key,value)}}})((function(exporter){var hasOwn=Object.prototype.hasOwnProperty;var supportsSymbol=typeof Symbol==="function";var toPrimitiveSymbol=supportsSymbol&&typeof Symbol.toPrimitive!=="undefined"?Symbol.toPrimitive:"@@toPrimitive";var iteratorSymbol=supportsSymbol&&typeof Symbol.iterator!=="undefined"?Symbol.iterator:"@@iterator";var supportsCreate=typeof Object.create==="function";var supportsProto={__proto__:[]}instanceof Array;var downLevel=!supportsCreate&&!supportsProto;var HashMap={create:supportsCreate?function(){return MakeDictionary(Object.create(null))}:supportsProto?function(){return MakeDictionary({__proto__:null})}:function(){return MakeDictionary({})},has:downLevel?function(map,key){return hasOwn.call(map,key)}:function(map,key){return key in map},get:downLevel?function(map,key){return hasOwn.call(map,key)?map[key]:undefined}:function(map,key){return map[key]}};var functionPrototype=Object.getPrototypeOf(Function);var usePolyfill=typeof process==="object"&&process.env&&process.env["REFLECT_METADATA_USE_MAP_POLYFILL"]==="true";var _Map=!usePolyfill&&typeof Map==="function"&&typeof Map.prototype.entries==="function"?Map:CreateMapPolyfill();var _Set=!usePolyfill&&typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:CreateSetPolyfill();var _WeakMap=!usePolyfill&&typeof WeakMap==="function"?WeakMap:CreateWeakMapPolyfill();var 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);var metadataMap=GetOrCreateMetadataMap(target,propertyKey,false);if(IsUndefined(metadataMap))return false;if(!metadataMap.delete(metadataKey))return false;if(metadataMap.size>0)return true;var 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(var i=decorators.length-1;i>=0;--i){var decorator=decorators[i];var 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(var i=decorators.length-1;i>=0;--i){var decorator=decorators[i];var 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){var targetMetadata=Metadata.get(O);if(IsUndefined(targetMetadata)){if(!Create)return undefined;targetMetadata=new _Map;Metadata.set(O,targetMetadata)}var 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){var hasOwn=OrdinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return true;var parent=OrdinaryGetPrototypeOf(O);if(!IsNull(parent))return OrdinaryHasMetadata(MetadataKey,parent,P);return false}function OrdinaryHasOwnMetadata(MetadataKey,O,P){var metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return false;return ToBoolean(metadataMap.has(MetadataKey))}function OrdinaryGetMetadata(MetadataKey,O,P){var hasOwn=OrdinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return OrdinaryGetOwnMetadata(MetadataKey,O,P);var parent=OrdinaryGetPrototypeOf(O);if(!IsNull(parent))return OrdinaryGetMetadata(MetadataKey,parent,P);return undefined}function OrdinaryGetOwnMetadata(MetadataKey,O,P){var metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return undefined;return metadataMap.get(MetadataKey)}function OrdinaryDefineOwnMetadata(MetadataKey,MetadataValue,O,P){var metadataMap=GetOrCreateMetadataMap(O,P,true);metadataMap.set(MetadataKey,MetadataValue)}function OrdinaryMetadataKeys(O,P){var ownKeys=OrdinaryOwnMetadataKeys(O,P);var parent=OrdinaryGetPrototypeOf(O);if(parent===null)return ownKeys;var parentKeys=OrdinaryMetadataKeys(parent,P);if(parentKeys.length<=0)return ownKeys;if(ownKeys.length<=0)return parentKeys;var set=new _Set;var keys=[];for(var _i=0,ownKeys_1=ownKeys;_i<ownKeys_1.length;_i++){var key=ownKeys_1[_i];var hasKey=set.has(key);if(!hasKey){set.add(key);keys.push(key)}}for(var _a=0,parentKeys_1=parentKeys;_a<parentKeys_1.length;_a++){var key=parentKeys_1[_a];var hasKey=set.has(key);if(!hasKey){set.add(key);keys.push(key)}}return keys}function OrdinaryOwnMetadataKeys(O,P){var keys=[];var metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return keys;var keysObj=metadataMap.keys();var iterator=GetIterator(keysObj);var k=0;while(true){var next=IteratorStep(iterator);if(!next){keys.length=k;return keys}var 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}var hint=PreferredType===3?"string":PreferredType===5?"number":"default";var exoticToPrim=GetMethod(input,toPrimitiveSymbol);if(exoticToPrim!==undefined){var 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"){var toString_1=O.toString;if(IsCallable(toString_1)){var result=toString_1.call(O);if(!IsObject(result))return result}var valueOf=O.valueOf;if(IsCallable(valueOf)){var result=valueOf.call(O);if(!IsObject(result))return result}}else{var valueOf=O.valueOf;if(IsCallable(valueOf)){var result=valueOf.call(O);if(!IsObject(result))return result}var toString_2=O.toString;if(IsCallable(toString_2)){var result=toString_2.call(O);if(!IsObject(result))return result}}throw new TypeError}function ToBoolean(argument){return!!argument}function ToString(argument){return""+argument}function ToPropertyKey(argument){var 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){var func=V[P];if(func===undefined||func===null)return undefined;if(!IsCallable(func))throw new TypeError;return func}function GetIterator(obj){var method=GetMethod(obj,iteratorSymbol);if(!IsCallable(method))throw new TypeError;var iterator=method.call(obj);if(!IsObject(iterator))throw new TypeError;return iterator}function IteratorValue(iterResult){return iterResult.value}function IteratorStep(iterator){var result=iterator.next();return result.done?false:result}function IteratorClose(iterator){var f=iterator["return"];if(f)f.call(iterator)}function OrdinaryGetPrototypeOf(O){var proto=Object.getPrototypeOf(O);if(typeof O!=="function"||O===functionPrototype)return proto;if(proto!==functionPrototype)return proto;var prototype=O.prototype;var prototypeProto=prototype&&Object.getPrototypeOf(prototype);if(prototypeProto==null||prototypeProto===Object.prototype)return proto;var constructor=prototypeProto.constructor;if(typeof constructor!=="function")return proto;if(constructor===O)return proto;return constructor}function CreateMapPolyfill(){var cacheSentinel={};var arraySentinel=[];var MapIterator=function(){function MapIterator(keys,values,selector){this._index=0;this._keys=keys;this._values=values;this._selector=selector}MapIterator.prototype["@@iterator"]=function(){return this};MapIterator.prototype[iteratorSymbol]=function(){return this};MapIterator.prototype.next=function(){var index=this._index;if(index>=0&&index<this._keys.length){var 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}};MapIterator.prototype.throw=function(error){if(this._index>=0){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}throw error};MapIterator.prototype.return=function(value){if(this._index>=0){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}return{value,done:true}};return MapIterator}();return function(){function Map(){this._keys=[];this._values=[];this._cacheKey=cacheSentinel;this._cacheIndex=-2}Object.defineProperty(Map.prototype,"size",{get:function(){return this._keys.length},enumerable:true,configurable:true});Map.prototype.has=function(key){return this._find(key,false)>=0};Map.prototype.get=function(key){var index=this._find(key,false);return index>=0?this._values[index]:undefined};Map.prototype.set=function(key,value){var index=this._find(key,true);this._values[index]=value;return this};Map.prototype.delete=function(key){var index=this._find(key,false);if(index>=0){var size=this._keys.length;for(var 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};Map.prototype.clear=function(){this._keys.length=0;this._values.length=0;this._cacheKey=cacheSentinel;this._cacheIndex=-2};Map.prototype.keys=function(){return new MapIterator(this._keys,this._values,getKey)};Map.prototype.values=function(){return new MapIterator(this._keys,this._values,getValue)};Map.prototype.entries=function(){return new MapIterator(this._keys,this._values,getEntry)};Map.prototype["@@iterator"]=function(){return this.entries()};Map.prototype[iteratorSymbol]=function(){return this.entries()};Map.prototype._find=function(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};return Map}();function getKey(key,_){return key}function getValue(_,value){return value}function getEntry(key,value){return[key,value]}}function CreateSetPolyfill(){return function(){function Set(){this._map=new _Map}Object.defineProperty(Set.prototype,"size",{get:function(){return this._map.size},enumerable:true,configurable:true});Set.prototype.has=function(value){return this._map.has(value)};Set.prototype.add=function(value){return this._map.set(value,value),this};Set.prototype.delete=function(value){return this._map.delete(value)};Set.prototype.clear=function(){this._map.clear()};Set.prototype.keys=function(){return this._map.keys()};Set.prototype.values=function(){return this._map.values()};Set.prototype.entries=function(){return this._map.entries()};Set.prototype["@@iterator"]=function(){return this.keys()};Set.prototype[iteratorSymbol]=function(){return this.keys()};return Set}()}function CreateWeakMapPolyfill(){var UUID_SIZE=16;var keys=HashMap.create();var rootKey=CreateUniqueKey();return function(){function WeakMap(){this._key=CreateUniqueKey()}WeakMap.prototype.has=function(target){var table=GetOrCreateWeakMapTable(target,false);return table!==undefined?HashMap.has(table,this._key):false};WeakMap.prototype.get=function(target){var table=GetOrCreateWeakMapTable(target,false);return table!==undefined?HashMap.get(table,this._key):undefined};WeakMap.prototype.set=function(target,value){var table=GetOrCreateWeakMapTable(target,true);table[this._key]=value;return this};WeakMap.prototype.delete=function(target){var table=GetOrCreateWeakMapTable(target,false);return table!==undefined?delete table[this._key]:false};WeakMap.prototype.clear=function(){this._key=CreateUniqueKey()};return WeakMap}();function CreateUniqueKey(){var 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(var 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(){var data=GenRandomBytes(UUID_SIZE);data[6]=data[6]&79|64;data[8]=data[8]&191|128;var result="";for(var offset=0;offset<UUID_SIZE;++offset){var 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={}));AmdLoader.instance.setup("reflect-metadata");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/AtomMap");System.register(["reflect-metadata","./AtomMap"],(function(_export,_context){"use strict";var Map,CancelToken,ArrayHelper,_a,_b,_c,ignoreValue,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("CancelToken",CancelToken=class CancelToken{static isCancelled(e){var _a;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};(_b=(_c=Array.prototype).flat)!==null&&_b!==void 0?_b:_c.flat=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};Array.prototype["groupBy"]=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};globalNS=typeof window!=="undefined"?window:global;_export("DI",DI=globalNS.UMD);_export("UMD",UMD=globalNS.UMD)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/types");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/TypeKey");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/ServiceCollection");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/Register");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/core/dist/di/RegisterSingleton");(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports"],factory)}})((function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.msDays=exports.msHours=exports.msSeconds=exports.msMinutes=void 0;function isEmpty(n){return n===undefined||n===null||n===0||isNaN(n)}exports.msMinutes=6e4;exports.msSeconds=1e3;exports.msHours=36e5;exports.msDays=24*exports.msHours;const daysPerMS=1/exports.msDays;const hoursPerMS=1/exports.msHours;const minutesPerMS=1/exports.msMinutes;const secondsPerMS=1/exports.msSeconds;function padLeft(n,c=2,t="0"){let s=n.toString();if(s.length<c){s=t+s}return s}class TimeSpan{static fromDays(n){return new TimeSpan(n*exports.msDays)}static fromHours(n){return new TimeSpan(n*exports.msHours)}static fromMinutes(n){return new TimeSpan(n*exports.msMinutes)}static fromSeconds(n){return new TimeSpan(n*exports.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/exports.msDays)}get hours(){return Math.floor(this.msSinceEpoch/exports.msHours%24)}get minutes(){return Math.floor(this.msSinceEpoch/exports.msMinutes%60)}get seconds(){return Math.floor(this.msSinceEpoch/exports.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%exports.msDays))}constructor(days,hours,minutes,seconds,milliseconds){if(arguments.length===1){this.msSinceEpoch=days}else{this.msSinceEpoch=(days||0)*exports.msDays+(hours||0)*exports.msHours+(minutes||0)*exports.msMinutes+(seconds||0)*exports.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(exports.msDays);format(exports.msHours,formatAs12&&!d);format(exports.msMinutes);let s=format(exports.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}}exports.default=TimeSpan;if(typeof window!=="undefined"){window.TimeSpan=TimeSpan}}));AmdLoader.instance.setup("@web-atoms/date-time/dist/TimeSpan");(function(factory){if(typeof module==="object"&&typeof module.exports==="object"){var v=factory(require,exports);if(v!==undefined)module.exports=v}else if(typeof define==="function"&&define.amd){define(["require","exports","./TimeSpan"],factory)}})((function(require,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});const TimeSpan_1=require("./TimeSpan");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_1.default.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_1.default(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_1.default){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_1.default(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()}}exports.default=DateTime;DateTime.prototype.__proto__=Date.prototype;if(typeof window!=="undefined"){window.DateTime=DateTime}}));AmdLoader.instance.setup("@web-atoms/date-time/dist/DateTime");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/services/JsonService");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/di/DISingleton");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/services/ReferenceService");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/web/core/AtomUI");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/AtomUri");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/EventScope");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}>.+)?)?`}if(this.optional){return`(/?(?<${this.variable}>[^\\/]+))?`}return`/(?<${this.variable}>[^\\/]+)`}constructor(variable,name){var _a;this.variable=variable;this.name=name;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.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("/")}if(!iterator.startsWith("{")){this.substitutions.push(iterator);regex+=StringHelper.escapeRegExp("/");regex+=StringHelper.escapeRegExp(iterator);continue}if(!iterator.endsWith("}")){throw new Error("invalid route, missing end curly brace")}const v=new Variable(iterator.substring(1,iterator.length-1));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/Route");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,default: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};_export("default",Command=class Command{static invokeRoute(route=(location.hash.startsWith("#!")?location.hash.substring(2):location.pathname),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?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){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 _b;const p=(_b=ce.detail)!==null&&_b!==void 0?_b:{};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 _c;return PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPageForResult()),(_c=ce.detail)!==null&&_c!==void 0?_c:{})}))}if(pushPageForResultOrCancel){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _d;try{return yield PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPageForResultOrCancel()),(_d=ce.detail)!==null&&_d!==void 0?_d:{})}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.registry=new Map;Command.routes=[];_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/Command");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/AtomBinder");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/InheritedProperty");System.register(["tslib","../services/JsonService","../services/ReferenceService","./AtomUri","./Command","./InheritedProperty","./types"],(function(_export,_context){"use strict";var __awaiter,__rest,JsonService,ReferenceService,AtomUri,displayRouteSymbol,getOwnInheritedProperty,CancelToken,DI,AtomLoader;_export("AtomLoader",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__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 busyIndicator=app.createBusyIndicator({title:url.toString(),description:`Loading View ${url}`});try{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}}finally{busyIndicator.dispose()}}))}static loadClass(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+""]);return __awaiter(this,void 0,void 0,(function*(){const busyIndicator=app.createBusyIndicator({title:url.toString(),description:`Loading View ${url}`});try{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}finally{busyIndicator.dispose()}}))}static loadControl(url,app){var _a,_b,_c,_d;var _e;return __awaiter(this,void 0,void 0,(function*(){const busyIndicator=app.createBusyIndicator({title:url.toString(),description:`Loading View ${url}`});try{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}finally{busyIndicator.dispose()}}))}});AtomLoader.id=1}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomLoader");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/sleep");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/ExpressionParser");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 _b,_c;if((_b=asyncState.cancelToken)===null||_b===void 0?void 0:_b.cancelled){return}asyncState.token=undefined;(_c=asyncState.cancelToken)===null||_c===void 0?void 0:_c.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/Bind");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,default: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};_export("default",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);if(typeof bridge!=="undefined"){bridge.XNode=XNode}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/XNode");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/AtomDispatcher");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/core/TransientDisposable");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/Inject");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/di/ServiceProvider");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{dispose(){}}}});_export("BusyIndicatorService",BusyIndicatorService=__decorate([RegisterSingleton],BusyIndicatorService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/BusyIndicatorService");System.register(["tslib","./core/AtomBinder","./core/AtomDispatcher","./core/types","./di/RegisterSingleton","./di/ServiceProvider","./services/BusyIndicatorService"],(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}],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 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.busyIndicators=[];this.readyHandlers=[];this.onError=error=>{console.log(error)};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){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)}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}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(){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.dispose()}));a.catch((e=>{indicator.dispose();console.error(typeof e==="string"?e:JSON.stringify(e))}))}}});_export("App",App=App_1=__decorate([RegisterSingleton,__metadata("design:paramtypes",[])],App))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/App");System.register(["../web/core/AtomUI","./AtomBinder"],(function(_export,_context){"use strict";var ChildEnumerator,AtomBinder,BaseElementBridge,AtomElementBridge,AtomBridge,globalNS;_export({BaseElementBridge:void 0,AtomElementBridge:void 0,AtomBridge:void 0});return{setters:[function(_webCoreAtomUI){ChildEnumerator=_webCoreAtomUI.ChildEnumerator},function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){_export("BaseElementBridge",BaseElementBridge=class BaseElementBridge{refreshInherited(target,name,fieldName){AtomBinder.refreshValue(target,name);if(!fieldName){fieldName="m"+name[0].toUpperCase()+name.substr(1)}if(!target.element){return}this.visitDescendents(target.element,((e,ac)=>{if(ac){if(ac[fieldName]===undefined){this.refreshInherited(ac,name,fieldName)}return false}return true}))}createNode(target,node,binder,xNodeClass,creator){throw new Error("Method not implemented.")}});_export("AtomElementBridge",AtomElementBridge=class AtomElementBridge extends BaseElementBridge{addEventHandler(element,name,handler,capture){element.addEventListener(name,handler,capture);return{dispose:()=>{element.removeEventListener(name,handler,capture)}}}atomParent(element,climbUp=true){const eAny=element;if(eAny.atomControl){return eAny.atomControl}if(!climbUp){return null}if(!element.parentNode){return null}return this.atomParent(this.elementParent(element))}elementParent(element){const eAny=element;const lp=eAny._logicalParent;if(lp){return lp}return element.parentElement}templateParent(element){if(!element){return null}const eAny=element;if(eAny._templateParent){return this.atomParent(element)}const parent=this.elementParent(element);if(!parent){return null}return this.templateParent(parent)}visitDescendents(element,action){for(const iterator of ChildEnumerator.enumerate(element)){const eAny=iterator;const ac=eAny?eAny.atomControl:undefined;if(!action(iterator,ac)){continue}this.visitDescendents(iterator,action)}}dispose(element){const eAny=element;eAny.atomControl=undefined;eAny.innerHTML="";delete eAny.atomControl}appendChild(parent,child){parent.appendChild(child)}setValue(element,name,value){element[name]=value}getValue(element,name){return element[name]}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)}}}}attachControl(element,control){element.atomControl=control}create(type){return document.createElement(type)}loadContent(element,text){throw new Error("Not supported")}findChild(element,name){throw new Error("Not supported")}close(element,success,error){throw new Error("Not supported")}toTemplate(element,creator){const templateNode=element;const name=templateNode.name;if(typeof name==="string"){element=((bx,n)=>class extends bx{create(){this.render(n)}})(creator,templateNode.children[0])}else{element=((base,n)=>class extends base{create(){this.render(n)}})(name,templateNode.children[0])}return element}createNode(target,node,binder,xNodeClass,creator){let parent=null;const app=target.app;let e=null;const nn=node.attributes?node.attributes.for:undefined;if(typeof node.name==="string"){e=document.createElement(node.name);parent=e;if(nn){delete node.attributes.for}}else{if(nn){target=new node.name(app,document.createElement(nn));delete node.attributes.for}target=new node.name(app);e=target.element;parent=target}const a=node.attributes;if(a){for(const key in a){if(a.hasOwnProperty(key)){let element=a[key];if(element instanceof binder){if(/^event/.test(key)){let ev=key.substr(5);if(ev.startsWith("-")){ev=ev.split("-").map((s=>s[0].toLowerCase()+s.substr(1))).join("")}else{ev=ev[0].toLowerCase()+ev.substr(1)}element.setupFunction(ev,element,target,e)}else{element.setupFunction(key,element,target,e)}}else{if(element instanceof xNodeClass){element=this.toTemplate(element,creator)}target.setLocalValue(e,key,element)}}}}const children=node.children;if(children){for(const iterator of children){if(typeof iterator==="string"){e.appendChild(document.createTextNode(iterator));continue}const t=iterator.attributes?iterator.attributes.template:null;if(t){const tx=this.toTemplate(iterator,creator);target[t]=tx;continue}if(typeof iterator.name==="string"){e.appendChild(this.createNode(target,iterator,binder,xNodeClass,creator));continue}const child=this.createNode(target,iterator,binder,xNodeClass,creator);if(parent.element&&parent.element.atomControl===parent){parent.append(child.atomControl||child)}else{parent.appendChild(child)}}}return e}});_export("AtomBridge",AtomBridge=class AtomBridge{static createNode(iterator,app){if(typeof iterator.name==="string"||iterator.name.factory){return{element:AtomBridge.instance.create(iterator.name,iterator,app)}}const fx=iterator.attributes?iterator.attributes.for:undefined;const c=new iterator.name(app,fx?AtomBridge.instance.create(fx,iterator,app):undefined);return{element:c.element,control:c}}static toTemplate(app,n,creator){if(n.isTemplate){const t=AtomBridge.toTemplate(app,n.children[0],creator);return AtomBridge.instance.create(n.name.toString(),t,app)}const bridge=AtomBridge.instance;let fx;let en;if(typeof n.name==="function"){fx=n.name;en=n.attributes&&n.attributes.for?n.attributes.for:undefined}else{fx=bridge.controlFactory;en=n.name}return class Template extends fx{constructor(a,e1){super(a||app,e1||(en?bridge.create(en,null,app):undefined));this._creator=fx}create(){super.create();this.render(n,null,creator)}}}static refreshInherited(target,name,fieldName){if(AtomBridge.instance.refreshInherited){AtomBridge.instance.refreshInherited(target,name,fieldName);return}AtomBinder.refreshValue(target,name);if(!fieldName){fieldName="m"+name[0].toUpperCase()+name.substr(1)}if(!target.element){return}AtomBridge.instance.visitDescendents(target.element,((e,ac)=>{if(ac){if(ac[fieldName]===undefined){AtomBridge.refreshInherited(ac,name,fieldName)}return false}return true}))}});globalNS=typeof window!=="undefined"?window:global;globalNS.AtomBridge=AtomBridge;if(typeof window!=="undefined"){AtomBridge.instance=new AtomElementBridge;AtomBridge.platform="web"}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomBridge");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/AtomDisposableList");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/AtomWatcher");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/PropertyMap");System.register(["tslib","../App","../core/AtomBridge","../core/types","../di/Inject","./AtomDisposableList","./AtomWatcher","./Bind","./InheritedProperty","./PropertyMap","./XNode"],(function(_export,_context){"use strict";var __decorate,__metadata,__param,App,AtomBridge,ArrayHelper,CancelToken,ignoreValue,Inject,AtomDisposableList,AtomWatcher,bindSymbol,InheritedProperty,PropertyMap,attachedSymbol,constructorNeedsArgumentsSymbol,elementFactorySymbol,isControl,isFactorySymbol,xnodeSymbol,PropertyBinding,_a,_b,objectHasOwnProperty,localBindSymbol,localXNodeSymbol,elementFactory,isFactory,isAtomControl,localBridge,renderFirst,attached,constructorNeedsArguments,AtomComponent;_export("PropertyBinding",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_coreAtomBridge){AtomBridge=_coreAtomBridge.AtomBridge},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(_InheritedProperty){InheritedProperty=_InheritedProperty.InheritedProperty},function(_PropertyMap){PropertyMap=_PropertyMap.PropertyMap},function(_XNode){attachedSymbol=_XNode.attachedSymbol;constructorNeedsArgumentsSymbol=_XNode.constructorNeedsArgumentsSymbol;elementFactorySymbol=_XNode.elementFactorySymbol;isControl=_XNode.isControl;isFactorySymbol=_XNode.isFactorySymbol;xnodeSymbol=_XNode.xnodeSymbol}],execute:function(){objectHasOwnProperty=Object.prototype.hasOwnProperty;localBindSymbol=bindSymbol;localXNodeSymbol=xnodeSymbol;elementFactory=elementFactorySymbol;isFactory=isFactorySymbol;isAtomControl=isControl;localBridge=AtomBridge;renderFirst=AtomBridge.platform==="xf";attached=attachedSymbol;constructorNeedsArguments=constructorNeedsArgumentsSymbol;_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}AtomBridge.instance.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){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){AtomBridge.instance.setValue(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}});_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=AtomBridge.instance.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/AtomComponent");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/core/FormattedString");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/services/NavigationService");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/BindableProperty");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/core/WebImage");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/AtomStyle");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/styles/AtomStyleSheet");System.register(["tslib","../../core/AtomBinder","../../core/AtomBridge","../../core/AtomComponent","../../core/BindableProperty","../../core/Command","../../core/FormattedString","../../core/WebImage","../../core/XNode","../../di/TypeKey","../styles/AtomStyle","../styles/AtomStyleSheet"],(function(_export,_context){"use strict";var __decorate,__metadata,AtomBinder,AtomBridge,AtomComponent,BindableProperty,Command,FormattedString,WebImage,XNode,isControl,TypeKey,AtomStyle,AtomStyleSheet,AtomControl,isAtomControl,fromHyphenToCamel,bridgeInstance,defaultStyleSheets,ElementValueSetters,propertyId,getSelection;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(_coreAtomBridge){AtomBridge=_coreAtomBridge.AtomBridge},function(_coreAtomComponent){AtomComponent=_coreAtomComponent.AtomComponent},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreCommand){Command=_coreCommand.default},function(_coreFormattedString){FormattedString=_coreFormattedString.default},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")}bridgeInstance=AtomBridge.instance;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){ie.focus()}}))},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;bridgeInstance.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();bridgeInstance.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("aria-")){element.setAttribute(name,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""};window.addEventListener("click",(e=>{if(e.defaultPrevented){return}if(getSelection()){return}const originalTarget=e.target;let start=originalTarget;while(start){if(start.tagName==="A"){const clickEvent=start.getAttribute("data-click-event");if(clickEvent===null){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)}}));bridgeInstance.controlFactory=AtomControl}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomControl");System.register([],(function(_export,_context){"use strict";var StyleFragment,id,nextId,globalLow,global,globalHigh,localLow,local,localHigh,styles,styled;function*divide(text){const regex=/^(([^\{\n]+\{[\t\x20]*)|([^\n\}]*\}[^\S\n\r]*))$/gm;let m;let sentOnce=false;let lastIndex=0;let lastMatch;while((m=regex.exec(text))!==null){if(m.index===regex.lastIndex){regex.lastIndex++}const match=m[0];if(!sentOnce){sentOnce=true;yield text.substring(lastIndex,m.index);lastIndex=m.index+match.length;lastMatch=match;continue}if(lastMatch.includes("}")){yield[lastMatch.trim()];lastIndex=m.index+match.length;lastMatch=match;continue}yield[lastMatch,text.substring(lastIndex,m.index),match];lastIndex=m.index+match.length;lastMatch=match}if(lastMatch===null||lastMatch===void 0?void 0:lastMatch.includes("}")){yield[lastMatch.trim()]}}return{setters:[],execute:function(){id=1;nextId=()=>`styled-r${id++}`;globalLow=document.createElement("meta");globalLow.name="global-low-style";document.head.appendChild(globalLow);global=document.createElement("meta");global.name="global-style";document.head.appendChild(global);globalHigh=document.createElement("meta");globalHigh.name="global-high-style";document.head.appendChild(globalHigh);localLow=document.createElement("meta");localLow.name="local-low-style";document.head.appendChild(localLow);local=document.createElement("meta");local.name="local-style";document.head.appendChild(local);localHigh=document.createElement("meta");localHigh.name="local-high-style";document.head.appendChild(localHigh);StyleFragment=class StyleFragment{static newStyle({selector="",content=""}){return new StyleFragment({selector,content})}constructor({selector,content}){this.order="low";this.selector=selector;this.content=content}expand(selector){selector!==null&&selector!==void 0?selector:selector=this.selector;let en=divide(this.content);let parts=en.next();if(parts.done){if(!this.content){return""}return`${selector} {\n${this.content}\n}`}const first=parts.value;let content=(first===null||first===void 0?void 0:first.trim())?`${selector} {\n${first}\n}\n`:"";let selectorStack=[];while(!(parts=en.next()).done){const[key,value]=parts.value;if(key.endsWith("}")){selector=selectorStack.pop();if(selector==="@"){content+="\n}\n";selector=selectorStack.pop()}continue}let keySelector=key.replace("{","");const isMedia=/\@/.test(keySelector);const replace=!isMedia;const replaced=replace?selector.split(",").map((x=>keySelector.replace(/\&/g,x).trim())).join(","):keySelector;selectorStack.push(selector);selector=replace?replaced:selector;if(isMedia){selectorStack.push("@")}if(value===null||value===void 0?void 0:value.trim()){content+=`${replaced} {\n${value}\n}\n`}else{if(isMedia){content+=`${replaced} {\n`}}}return content}toString(){return this.content.replace(/\\n/g,"")}installGlobal(selector="",id=this.id||selector,description){const style=document.createElement("style");style.textContent=this.expand(selector);if(description){style.setAttribute("data-desc",description)}switch(this.order){case"low":document.head.insertBefore(style,globalLow);break;case"default":case"medium":document.head.insertBefore(style,global);break;case"high":document.head.insertBefore(style,globalHigh);break}style.id=id}installLocal(prefix="",description=this.description){const selector=nextId();const style=document.createElement("style");const id=`${prefix}.${selector}`;style.id=id;style.textContent=this.expand(id);if(description){style.setAttribute("data-desc",description)}switch(this.order){case"low":document.head.insertBefore(style,localLow);break;case"default":case"medium":document.head.insertBefore(style,local);break;case"high":document.head.insertBefore(style,localHigh);break}return selector}withId(id){this.id=id;return this}withDescription(description){this.description=description;return this}withOrder(order){this.order=order;return this}};styles=[];styled={get styles(){return styles},css:(t,...a)=>{let r="";for(let index=0;index<t.length;index++){const element=t[index];r+=element;if(index<a.length){r+=a[index]}}return StyleFragment.newStyle({content:r})},add(x){styles.push(x)}};_export("default",styled)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/style/styled");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../../core/sleep","../../core/types","../../style/styled","../controls/AtomControl","../core/AtomUI"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,BindableProperty,XNode,sleep,CancelToken,styled,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(_styleStyled){styled=_styleStyled.default},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},function(_coreAtomUI){ChildEnumerator=_coreAtomUI.ChildEnumerator}],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)};styled.css`
|
|
16
16
|
position: absolute;
|
|
17
17
|
border: solid 1px lightgray;
|
|
18
18
|
border-radius: 5px;
|
|
@@ -162,7 +162,7 @@ and limitations under the License.
|
|
|
162
162
|
color: white;
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
|
-
`.installGlobal("[data-confirm-popup=confirm-popup]");_export("ConfirmPopup",ConfirmPopup=class ConfirmPopup extends PopupWindow{static confirm({message,title="Confirm",yesLabel="Yes",noLabel="No",cancelLabel=null}){return __awaiter(this,void 0,void 0,(function*(){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/PopupWindow");System.register(["tslib","../../core/AtomDisposableList","../../core/InheritedProperty","../../core/types","../../core/XNode","../../style/styled","../controls/AtomControl","./PopupWindow"],(function(_export,_context){"use strict";var __awaiter,__rest,AtomDisposableList,getOwnInheritedProperty,CancelToken,XNode,styled,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}
|
|
165
|
+
`.installGlobal("[data-confirm-popup=confirm-popup]");_export("ConfirmPopup",ConfirmPopup=class ConfirmPopup extends PopupWindow{static confirm({message,title="Confirm",yesLabel="Yes",noLabel="No",cancelLabel=null}){return __awaiter(this,void 0,void 0,(function*(){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/PopupWindow");System.register(["tslib","../../core/AtomDisposableList","../../core/InheritedProperty","../../core/types","../../core/XNode","../../style/styled","../controls/AtomControl","./PopupWindow"],(function(_export,_context){"use strict";var __awaiter,__rest,AtomDisposableList,getOwnInheritedProperty,CancelToken,XNode,styled,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}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,default: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(_styleStyled){styled=_styleStyled.default},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},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}}));styled.css`
|
|
166
166
|
|
|
167
167
|
[data-force-contain=none] {
|
|
168
168
|
contain: none !important;
|
|
@@ -1136,9 +1136,189 @@ body {
|
|
|
1136
1136
|
& [data-white-space=nowrap] {
|
|
1137
1137
|
white-space: nowrap;
|
|
1138
1138
|
}
|
|
1139
|
-
`.installGlobal("div[data-drop-down=drop-down]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/drop-down-style");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","./AtomRepeater","./styles/drop-down-style"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,BindableProperty,XNode,AtomRepeater,askSuggestion,askSuggestionPopup,disposeChildren,MatchAnyCaseInsensitive,DropDown;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default;askSuggestion=_AtomRepeater.askSuggestion;askSuggestionPopup=_AtomRepeater.askSuggestionPopup;disposeChildren=_AtomRepeater.disposeChildren;MatchAnyCaseInsensitive=_AtomRepeater.MatchAnyCaseInsensitive},function(_stylesDropDownStyle){}],execute:function(){_export("default",DropDown=class DropDown extends AtomRepeater{constructor(){super(...arguments);this.isPopupOpen=false}updateItems(container){}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"labelPath":this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});break;case"prompt":this.updateClasses();break}}preCreate(){super.preCreate();this.disableSearch=false;this.prompt="Select";this.popupSuggestions=true;this.bindEvent(this.element,"click",(e=>this.openPopup(e)));this.valuePath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item};this.labelPath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item};this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});this.element.dataset.dropDown="drop-down";this.render(XNode.create("div",null,XNode.create("div",{"data-white-space":"nowrap",text:this.prompt}),XNode.create("i",{class:"fad fa-caret-circle-down"})))}openPopup(e){var _a,_b,_c,_d,_e;return __awaiter(this,void 0,void 0,(function*(){if(this.isPopupOpen){return}this.isPopupOpen=true;try{if(!this.popupSuggestions){const selected=yield askSuggestion(this.items,(_a=this.suggestionRenderer)!==null&&_a!==void 0?_a:this.itemRenderer,(_b=this.match)!==null&&_b!==void 0?_b:MatchAnyCaseInsensitive(this.labelPath),{title:(_c=this.suggestionPrompt)!==null&&_c!==void 0?_c:this.prompt});this.selectedItem=selected;return}const selectedItem=yield askSuggestionPopup(this,this.items,(_d=this.suggestionRenderer)!==null&&_d!==void 0?_d:this.itemRenderer,(_e=this.match)!==null&&_e!==void 0?_e:MatchAnyCaseInsensitive(this.labelPath),this.selectedItem);if(this.selectedItem!==selectedItem){this.selectedItem=selectedItem;this.element.dispatchEvent(new CustomEvent("selectionChanged",{bubbles:true,detail:selectedItem,cancelable:true}))}}finally{this.isPopupOpen=false}}))}updateClasses(){var _a;disposeChildren(this,this.element);const ir=this.itemRenderer;if(!ir){return}if(!this.selectedItem){this.render(XNode.create("div",null,XNode.create("div",{"data-white-space":"nowrap",text:this.prompt}),XNode.create("i",{class:"fad fa-caret-circle-down"})));return}const selectedItem=this.selectedItem;const index=this.items.indexOf(selectedItem);const node=ir(selectedItem,index,this);const na=(_a=node.attributes)!==null&&_a!==void 0?_a:node.attributes={};if(!na["data-white-space"]){na["data-white-space"]="nowrap"}this.render(XNode.create("div",null,node,XNode.create("i",{class:"fad fa-caret-circle-down"})))}});__decorate([BindableProperty,__metadata("design:type",Boolean)],DropDown.prototype,"popupSuggestions",void 0);__decorate([BindableProperty,__metadata("design:type",String)],DropDown.prototype,"search",void 0);__decorate([BindableProperty,__metadata("design:type",String)],DropDown.prototype,"prompt",void 0);__decorate([BindableProperty,__metadata("design:type",String)],DropDown.prototype,"suggestionPrompt",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DropDown.prototype,"labelPath",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DropDown.prototype,"match",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DropDown.prototype,"suggestionRenderer",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/DropDown");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/Sql");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql"],(function(_export,_context){"use strict";var __decorate,__metadata,DITransient,Inject,EntityService,User,Sql,AdminUserService;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){User=_modelModel.User},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){AdminUserService=class AdminUserService{list({search="",start=0,size=50,cancelToken}){let q=this.entityService.query(User);if(search){if(/\^d+$/.test(search)){q=q.where({search},(p=>x=>x.userID===Sql.cast.asBigInt(p.search)))}const startsWith=search+"%";q=q.where({startsWith},(p=>x=>Sql.text.iLike(x.userName,p.startsWith)||Sql.text.iLike(x.displayName,p.startsWith)))}return q.include((x=>x.domainUsers.forEach((d=>d.hostedDomain.domain)))).toPagedList({start,size,cancelToken})}save(user){const cloner=this.entityService.cloner(user).include((x=>x.domainUsers)).include((x=>x.userMailboxes)).thenInclude((x=>x.mailbox));return this.entityService.save(cloner.copy)}};__decorate([Inject,__metadata("design:type",EntityService)],AdminUserService.prototype,"entityService",void 0);AdminUserService=__decorate([DITransient()],AdminUserService);_export("default",AdminUserService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/DropDown","../../../../admin/pages/users/services/AdminUserService","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,DropDown,AdminUserService,XNode,Bind,UserDropDown;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicDropDown){DropDown=_webAtomsWebControlsDistBasicDropDown.default},function(_adminPagesUsersServicesAdminUserService){AdminUserService=_adminPagesUsersServicesAdminUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",UserDropDown=class UserDropDown extends DropDown{init(){return __awaiter(this,void 0,void 0,(function*(){this.search="";this.valuePath=user=>user.userID;this.itemRenderer=user=>XNode.create("div",null,user.displayName," (",user.userID,", ",user.userName,")");this.render(XNode.create("div",{items:Bind.oneWayAsync(((s,e,cancelToken)=>__awaiter(this,void 0,void 0,(function*(){return(yield this.userService.list({search:this.search,start:0,size:20,cancelToken})).items}))))}))}))}preCreate(){super.preCreate();this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],UserDropDown.prototype,"userService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/drop-downs/user/UserDropDown");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../../common/controls/drop-downs/user/UserDropDown","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Checkbox","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../../services/EntityService","@web-atoms/core/dist/core/InjectProperty"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,Form,FormField,UserDropDown,Bind,Checkbox,SaveIconTextButton,Action,EntityService,InjectProperty,DomainUserEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_commonControlsDropDownsUserUserDropDown){UserDropDown=_commonControlsDropDownsUserUserDropDown.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default}],execute:function(){_export("default",DomainUserEditor=class DomainUserEditor extends PopupWindowPage{init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.model=this.parameters;(_a=(_b=this.model).isAdmin)!==null&&_a!==void 0?_a:_b.isAdmin=false;this.renderer=XNode.create("div",null,XNode.create(Form,{"data-submit-event":"save-domain-user"},XNode.create(FormField,{label:"User"},XNode.create(UserDropDown,{value:Bind.twoWaysImmediate((()=>this.model.userID))})),XNode.create(FormField,{label:"Admin"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isAdmin)),text:"Is Administrator (Can Create and View all mailboxes)"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!this.model.isAdmin)),label:"Can Create Mailboxes"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.allowCreateMailbox)),text:"Can create Mailboxes"})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-type":"submit"}))))}))}saveDomainUser(){return __awaiter(this,void 0,void 0,(function*(){const cloner=this.entityService.cloner(this.model).copy;yield this.entityService.save(cloner);return this.model}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],DomainUserEditor.prototype,"entityService",void 0);__decorate([Action({onEvent:"save-domain-user",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DomainUserEditor.prototype,"saveDomainUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/domains/domain-user/DomainUserEditor");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../../common/controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../services/AdminDomainService","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/basic/Expander","../../../../common/controls/buttons/IconButton","../../../commands/AdminCommands","../../../../services/EntityService","@web-atoms/web-controls/dist/PageNavigator","./DomainKeySetupPage","../domain-user/DomainUserEditor"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,Domain,DomainKey,DomainUser,HostedDomain,XNode,Form,TextFormField,Bind,Action,InjectProperty,AdminDomainService,Checkbox,AtomRepeater,Expander,AddIconTextButton,DeleteIconButton,SetupFolderIconButton,AdminCommands,EntityService,PageNavigator,DomainKeySetupPage,DomainUserEditor,EditDomainPage,summary;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){Domain=_modelModel.Domain;DomainKey=_modelModel.DomainKey;DomainUser=_modelModel.DomainUser;HostedDomain=_modelModel.HostedDomain},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_commonControlsFormRequiredFormField){TextFormField=_commonControlsFormRequiredFormField.TextFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesAdminDomainService){AdminDomainService=_servicesAdminDomainService.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistBasicExpander){Expander=_webAtomsWebControlsDistBasicExpander.default},function(_commonControlsButtonsIconButton){AddIconTextButton=_commonControlsButtonsIconButton.AddIconTextButton;DeleteIconButton=_commonControlsButtonsIconButton.DeleteIconButton;SetupFolderIconButton=_commonControlsButtonsIconButton.SetupFolderIconButton},function(_commandsAdminCommands){AdminCommands=_commandsAdminCommands.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_DomainKeySetupPage){DomainKeySetupPage=_DomainKeySetupPage.default},function(_domainUserDomainUserEditor){DomainUserEditor=_domainUserDomainUserEditor.default}],execute:function(){summary=text=>{if(!text){return text}if(text.length>50){return text.substring(0,20)+"..."+text.substring(text.length-20)}return text};_export("default",EditDomainPage=class EditDomainPage extends ContentPage{init(){var _a,_b,_c;var _d,_e;return __awaiter(this,void 0,void 0,(function*(){this.model=(_a=this.parameters.model)!==null&&_a!==void 0?_a:this.parameters.domainID?yield this.domainService.get(this.parameters.domainID):HostedDomain.create({enableReceive:true,enableSend:true,useRelay:true,domain:Domain.create({name:""})});(_b=(_d=this.model).domainKeys)!==null&&_b!==void 0?_b:_d.domainKeys=[];(_c=(_e=this.model).relays)!==null&&_c!==void 0?_c:_e.relays=[];this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,this.model.domainID?XNode.create("span",{text:this.model.domain.name}):XNode.create(TextFormField,{required:true,label:"Domain",value:()=>this.model.domain.name}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.enableReceive)),text:"Receive Mails"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.enableSend)),text:"Send Mails"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.useRelay)),text:"Use Domain Relay"}),this.model.domainID&&XNode.create(Expander,{isExpanded:false},XNode.create("label",{text:"Relays"}),XNode.create(AtomRepeater,{items:this.model.relays,footer:true,footerRenderer:()=>XNode.create("div",{"data-layout":"row"},XNode.create(AddIconTextButton,{"data-click-event":AdminCommands.editRelay.eventName,text:"New Relay"}))})),this.model.domainID&&XNode.create(Expander,{isExpanded:true},XNode.create("label",{text:"Domain Keys"}),XNode.create(AtomRepeater,{items:this.model.domainKeys,footer:true,for:"table",itemRenderer:item=>XNode.create("tr",null,XNode.create("td",{text:item.name}),XNode.create("td",null,XNode.create("span",{text:summary(item.publicKey)})),XNode.create("td",null,XNode.create(SetupFolderIconButton,{"event-click":()=>PageNavigator.pushPage(DomainKeySetupPage,item)})),XNode.create("td",null,XNode.create(DeleteIconButton,{"data-click-event":"delete-domain-key"}))),footerRenderer:()=>XNode.create("div",{"data-layout":"row"},XNode.create(AddIconTextButton,{"data-click-event":"add-domain-key",text:"New Domain Key"}))})),this.model.domainID&&XNode.create(Expander,{isExpanded:true},XNode.create("label",{text:"Users"}),XNode.create(AtomRepeater,{items:this.model.domainUsers,footer:true,itemRenderer:du=>XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:`${du.user.displayName} (${du.userID}, ${du.user.userName})`}),du.isAdmin&&XNode.create("span",{text:"is admin"}),du.allowCreateMailbox&&XNode.create("span",{text:"can create mailbox"})),footerRenderer:()=>XNode.create("div",{"data-layout":"row"},XNode.create(AddIconTextButton,{"data-click-event":"add-domain-user",text:"Add User"}))})),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-layout":"accent-button","data-submit-event":"save-domain",text:"Save"}))))}))}saveDomain(){return __awaiter(this,void 0,void 0,(function*(){yield this.domainService.save(this.model);return this.model}))}deleteDomainKey(dk){return __awaiter(this,void 0,void 0,(function*(){dk.$deleted=true;yield this.domainService.save(this.model);this.model.domainKeys.remove(dk)}))}addDomainKey(){return __awaiter(this,void 0,void 0,(function*(){const entityService=this.resolve(EntityService);const dk=DomainKey.create({domainID:this.model.domainID});yield entityService.save(dk);this.model.domainKeys.add(dk)}))}addDomainUser(){return __awaiter(this,void 0,void 0,(function*(){const domainUser=yield PageNavigator.pushPageForResult(DomainUserEditor,DomainUser.create({domainID:this.model.domainID}));this.model.domainUsers.add(domainUser)}))}});__decorate([InjectProperty,__metadata("design:type",AdminDomainService)],EditDomainPage.prototype,"domainService",void 0);__decorate([Action({onEvent:"save-domain",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditDomainPage.prototype,"saveDomain",null);__decorate([Action({onEvent:"delete-domain-key",confirm:"Are you sure you want to delete this?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],EditDomainPage.prototype,"deleteDomainKey",null);__decorate([Action({onEvent:"add-domain-key"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditDomainPage.prototype,"addDomainKey",null);__decorate([Action({onEvent:"add-domain-user"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditDomainPage.prototype,"addDomainUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/domains/edit/EditDomainPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/InjectProperty","./services/AdminDomainService","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./edit/EditDomainPage","../../commands/AdminCommands"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,ContentPage,AtomRepeater,InjectProperty,AdminDomainService,Action,PageNavigator,EditDomainPage,AdminCommands,DomainListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesAdminDomainService){AdminDomainService=_servicesAdminDomainService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_editEditDomainPage){EditDomainPage=_editEditDomainPage.default},function(_commandsAdminCommands){AdminCommands=_commandsAdminCommands.default}],execute:function(){_export("default",DomainListPage=class DomainListPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Domains";this.domains=yield this.adminDomainService.list();this.actionRenderer=()=>XNode.create("i",{"data-click-event":"add-domain",class:"fas fa-plus"});this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,{items:this.domains,itemRenderer:domain=>XNode.create("div",null,XNode.create("a",{"data-click-event":"route",href:AdminCommands.openDomain.displayRoute(domain)},domain.domain.name))}))}))}addDomain(){return __awaiter(this,void 0,void 0,(function*(){const domain=yield PageNavigator.pushPageForResult(EditDomainPage,{});this.domains.add(domain)}))}});__decorate([InjectProperty,__metadata("design:type",AdminDomainService)],DomainListPage.prototype,"adminDomainService",void 0);__decorate([Action({onEvent:"add-domain"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DomainListPage.prototype,"addDomain",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/domains/DomainListPage");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"],(function(_export,_context){"use strict";var __awaiter,Bind,CancelToken,XNode,AtomControl,InfiniteRepeater,_a,loadMoreSet,pagedItemsSetter,scrollToBottom;_export("default",void 0);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}],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-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}setTimeout((()=>{var _b;const ce=(_b=control.element)===null||_b===void 0?void 0:_b.firstElementChild;ce===null||ce===void 0?void 0:ce.scrollIntoView()}),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)};_export("default",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}}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater");System.register([],(function(_export,_context){"use strict";var Validators;return{setters:[],execute:function(){_export("Validators",Validators={checkPassword:password=>{const hasMinimumLength=password.length>=7;const hasNumber=/\d/.test(password);const hasSymbol=/[\@\#\$\%\^\&\*\!]/.test(password);return{hasMinimumLength,hasNumber,hasSymbol,isValid:hasMinimumLength&&hasNumber&&hasSymbol}},isValidPassword:password=>Validators.checkPassword(password).isValid})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/validators/Validators");System.register(["@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","../../validators/Validators"],(function(_export,_context){"use strict";var Bind,XNode,AtomControl,Validators,PasswordStrength;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_validatorsValidators){Validators=_validatorsValidators.Validators}],execute:function(){_export("default",PasswordStrength=class PasswordStrength extends AtomControl{constructor(){super(...arguments);this.password="";this.validation={hasMinimumLength:false,hasNumber:false,hasSymbol:false,isValid:false}}preCreate(){this.render(XNode.create("div",{"data-layout":"vertical-flex",validation:Bind.oneWay((()=>Validators.checkPassword(this.password)))},XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasMinimumLength?"green":"red")),class:Bind.oneWay((()=>this.validation.hasMinimumLength?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password is at least 7 characters long."})),XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasNumber?"green":"red")),class:Bind.oneWay((()=>this.validation.hasNumber?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password has a number."})),XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasSymbol?"green":"red")),class:Bind.oneWay((()=>this.validation.hasSymbol?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password has a symbol."}))))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/core/dist/core/Bind","../../../common/validators/Validators","../../../common/controls/password/PasswordStrength","@web-atoms/core/dist/view-model/Action","../../../services/EntityService","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,Form,FormField,PasswordBox,Bind,Validators,PasswordStrength,Action,EntityService,DateTime,Checkbox,EditUserPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonValidatorsValidators){Validators=_commonValidatorsValidators.Validators},function(_commonControlsPasswordPasswordStrength){PasswordStrength=_commonControlsPasswordPasswordStrength.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",EditUserPage=class EditUserPage extends PopupWindowPage{constructor(){super(...arguments);this.password=""}init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.model=this.parameters;(_a=(_b=this.model).changePassword)!==null&&_a!==void 0?_a:_b.changePassword={newPassword:"",forceChangePasswordOnLogin:true};this.title=this.model.userID?`Reset Password for ${this.model.displayName} (${this.model.userID}, ${this.model.userName})`:"Add New User";this.renderer=XNode.create("div",null,XNode.create(Form,null,!this.model.userID&&XNode.create(FormField,{label:"Display Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.displayName))})),!this.model.userID&&XNode.create(FormField,{label:"Username"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.userName))})),XNode.create(FormField,{label:"Password",required:true,error:Bind.oneWay((()=>Validators.isValidPassword(this.password)?"":"Password is invalid"))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.password))})),XNode.create(PasswordStrength,{password:Bind.oneWay((()=>this.password))}),XNode.create(FormField,{label:"Password again",required:true,error:Bind.oneWay((()=>this.password!==this.model.changePassword.newPassword?"Passwords do not match":""))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.changePassword.newPassword))})),XNode.create(FormField,{label:"Force Change Password"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.changePassword.forceChangePasswordOnLogin)),text:"Force user to change password on next login."})),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-submit-event":"reset-password",text:"Save"}))))}))}resetPassword(){return __awaiter(this,void 0,void 0,(function*(){const entityService=this.resolve(EntityService);this.model.dateUpdated=DateTime.utcNow;const clone=entityService.cloner(this.model).include((x=>x.changePassword)).copy;yield entityService.save(clone)}))}});__decorate([Action({onEvent:"reset-password",success:"Information saved successfully.",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditUserPage.prototype,"resetPassword",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/EditUserPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","./services/AdminUserService","@web-atoms/core/dist/core/InjectProperty","../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","./EditUserPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Action,PageNavigator,AtomRepeater,ContentPage,User,AdminUserService,InjectProperty,InfiniteRepeater,Bind,EditUserPage,UserListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){User=_modelModel.User},function(_servicesAdminUserService){AdminUserService=_servicesAdminUserService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_EditUserPage){EditUserPage=_EditUserPage.default}],execute:function(){_export("default",UserListPage=class UserListPage extends ContentPage{constructor(){super(...arguments);this.users=[];this.version=0}init(){return __awaiter(this,void 0,void 0,(function*(){this.actionRenderer=()=>XNode.create("i",{"data-click-event":"add-user",class:"fas fa-plus"});this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{placeholder:"Search Users",value:Bind.twoWaysImmediate((()=>this.search))}));this.search="";this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({for:"table",items:this.users},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.userService.list({start,search:this.search,cancelToken}))),{itemRenderer:user=>XNode.create("tr",null,XNode.create("td",null,user.userID),XNode.create("td",null,user.userName),XNode.create("td",null,user.displayName),XNode.create("td",null,XNode.create("i",{"data-cursor":"pointer",class:"fas fa-key",title:"Change Password","data-click-event":"user-change-password"})))})))}))}addDomain(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(EditUserPage,User.create({userName:"",displayName:"",changePassword:{forceChangePasswordOnLogin:true,newPassword:""}}));this.version++}))}userChangePassword(model){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(EditUserPage,model)}))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],UserListPage.prototype,"userService",void 0);__decorate([Action({onEvent:"add-user"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserListPage.prototype,"addDomain",null);__decorate([Action({onEvent:"user-change-password"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],UserListPage.prototype,"userChangePassword",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/UserListPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,Domain,Mailbox,Sql,MailboxService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Domain=_modelModel.Domain;Mailbox=_modelModel.Mailbox},function(_Sql){Sql=_Sql.Sql}],execute:function(){MailboxService=class MailboxService{domains(){return this.entityService.query(Domain).toArray()}list({search="",start=0,size=50,version=0,cancelToken}){let q=this.entityService.query(Mailbox);if(search){if(search.endsWith("@")){search=search+"%";q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}else if(search.startsWith("@")){search="%"+search;q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}else{q=q.where({search},(p=>x=>x.emailAddress.emailAddress===p.search))}}return q.include((x=>x.emailAddress)).toPagedList({start,size,cancelToken})}save(model){return __awaiter(this,void 0,void 0,(function*(){const cloner=this.entityService.cloner(model);yield this.entityService.save(cloner.copy);return model}))}};__decorate([Inject,__metadata("design:type",EntityService)],MailboxService.prototype,"entityService",void 0);MailboxService=__decorate([DITransient()],MailboxService);_export("default",MailboxService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","./AtomRepeater"],(function(_export,_context){"use strict";var __decorate,__metadata,BindableProperty,XNode,AtomRepeater,ComboBox;_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(_AtomRepeater){AtomRepeater=_AtomRepeater.default}],execute:function(){_export("default",ComboBox=class ComboBox extends AtomRepeater{constructor(app,e=document.createElement("select")){super(app,e);this.isChanging=false;this.selectedItems=[]}updateItems(container){var _a,_b;if(this.isChanging){return}super.updateItems(container);const selectedItems=this.selectedItems;if(!selectedItems){return}if(selectedItems.length===0){return}this.isChanging=true;const first=selectedItems[0];this.element.selectedIndex=(_b=(_a=this.items)===null||_a===void 0?void 0:_a.indexOf(first))!==null&&_b!==void 0?_b:-1;this.isChanging=false}updateClasses(){if(this.isChanging){return}super.updateClasses();this.updateItems()}preCreate(){super.preCreate();this.labelPath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item.toString()};this.valuePath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item.toString()};this.itemRenderer=item=>XNode.create("option",null,this.labelPath(item));this.bindEvent(this.element,"change",(()=>this.changeSelection()))}changeSelection(){if(this.isChanging){return}this.isChanging=true;const index=this.element.selectedIndex;if(index!==-1){const si=this.selectedItems;if(si){si.set(0,this.items[index])}}this.isChanging=false}});__decorate([BindableProperty,__metadata("design:type",Object)],ComboBox.prototype,"labelPath",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/ComboBox");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/ComboBox","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../../SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,EmailAddress,Mailbox,XNode,Form,TextFormField,FormField,ComboBox,MailboxService,InjectProperty,Bind,Action,SocialMailApp,MailboxEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){EmailAddress=_modelModel.EmailAddress;Mailbox=_modelModel.Mailbox},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){TextFormField=_controlsFormRequiredFormField.TextFormField},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){_export("default",MailboxEditorPage=class MailboxEditorPage extends PopupWindowPage{constructor(){super(...arguments);this.domain=null}init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.title="Add Mailbox";this.model=(_b=(_a=this.parameters)===null||_a===void 0?void 0:_a.model)!==null&&_b!==void 0?_b:Mailbox.create({emailAddress:EmailAddress.create({emailAddress:""}),maxStorage:10*1024*1024*1024});this.model.username="";const domains=yield this.mailboxService.domains();this.model.domain=domains[0];this.model.name=SocialMailApp.user.displayName;this.renderer=XNode.create("div",null,XNode.create(Form,{"data-submit-event":"save-mailbox"},XNode.create(TextFormField,{label:"Name",value:()=>this.model.name}),XNode.create(TextFormField,{label:"Email Prefix/Username",value:()=>this.model.username}),XNode.create(FormField,{label:"Domain"},XNode.create(ComboBox,{labelPath:item=>item===null||item===void 0?void 0:item.name,valuePath:item=>item===null||item===void 0?void 0:item.domainID,selectedItem:Bind.twoWaysImmediate((()=>this.model.domain)),items:domains})),XNode.create(FormField,{label:"Email Address"},XNode.create("span",{text:Bind.oneWay((()=>`${this.model.username}@${this.model.domain.domain}`))})),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-type":"submit","data-layout":"accept-button",text:"Add"}))))}))}saveMailbox(){return __awaiter(this,void 0,void 0,(function*(){this.model.domainID=this.model.domain.domainID;yield this.mailboxService.save(this.model);return this.model}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxEditorPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"save-mailbox",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxEditorPage.prototype,"saveMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage");System.register([],(function(_export,_context){"use strict";var k,m,b,kb,mb,gb,toCompactFixed,toKMBString,toFileSize,formatNumber;return{setters:[],execute:function(){k=1e3;m=k*k;b=m*k;kb=1024;mb=k*k;gb=m*k;_export("toCompactFixed",toCompactFixed=(n,decimals)=>{let text=n.toFixed(decimals);if(decimals>0){while(text.endsWith("0")){text=text.substring(0,text.length-1)}if(text.endsWith(".")){text=text.substring(0,text.length-1)}}return text});_export("toKMBString",toKMBString=(n,decimals=0,def="")=>{if(!n){return def+""}if(n>b){return toCompactFixed(n/b,decimals)+"B"}if(n>m){return toCompactFixed(n/m,decimals)+"M"}if(n>k){return toCompactFixed(n/k,decimals)+"K"}return toCompactFixed(n,0)});_export("toFileSize",toFileSize=(n,decimals=0,def="")=>{n=Number(n);if(n===0){return"0 B"}if(!n){return def+""}if(n>gb){return toCompactFixed(n/gb,decimals)+" GB"}if(n>mb){return toCompactFixed(n/mb,decimals)+" MB"}if(n>kb){return toCompactFixed(n/kb,decimals)+" KB"}return toCompactFixed(n,0)});_export("formatNumber",formatNumber=(n,{prefix="",suffix="",def="",numberToText=toKMBString}={})=>{if(!n){return def}const text=numberToText(n);return prefix+text+suffix})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/NumberFormats");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../controls/repeater/InfiniteRepeater","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./MailboxEditorPage","../../NumberFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,AtomRepeater,ContentPage,InfiniteRepeater,MailboxService,InjectProperty,Action,PageNavigator,MailboxEditorPage,toFileSize,MailboxListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_MailboxEditorPage){MailboxEditorPage=_MailboxEditorPage.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize}],execute:function(){_export("default",MailboxListPage=class MailboxListPage extends ContentPage{constructor(){super(...arguments);this.search="";this.mailboxes=[];this.version=0}init(){return __awaiter(this,void 0,void 0,(function*(){this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create("i",{class:"fas fa-plus","data-click-event":"add-mailbox"}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({items:this.mailboxes},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailboxService.list({start,cancelToken,search:this.search,version:this.version}))),{itemRenderer:item=>XNode.create("tr",null,XNode.create("td",null,item.emailAddress.emailAddress),XNode.create("td",null,toFileSize(item.storage)),XNode.create("td",null,toFileSize(item.maxStorage)))})))}))}addMailbox(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(MailboxEditorPage);this.version++}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxListPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"add-mailbox"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxListPage.prototype,"addMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../../common/controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/ComboBox","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,PopupWindowPage,DomainRelay,DomainRelayTypeArray,XNode,Form,TextFormField,FormField,ComboBox,Bind,EditRelayPage;function prepare({host,username,password},{from,recipients,content}){return __awaiter(this,void 0,void 0,(function*(){const body=new FormData;body.append("from",from);body.append("recipients",recipients.join(","));body.append("content",content);const r=yield fetch(`${host}/api/queue/raw`,{headers:{"x-id":username,"x-auth":password},body});if(r.status>=300){throw new Error(yield r.text())}const{id}=yield r.json();return{id,status:()=>__awaiter(this,void 0,void 0,(function*(){var _a;const{error}=(_a=yield fetch(`${host}/api/queue/status/${id}`).then((x=>x.json())))!==null&&_a!==void 0?_a:{};return{error}}))}}))}_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){DomainRelay=_modelModel.DomainRelay;DomainRelayTypeArray=_modelModel.DomainRelayTypeArray},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_commonControlsFormRequiredFormField){TextFormField=_commonControlsFormRequiredFormField.TextFormField},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",EditRelayPage=class EditRelayPage extends PopupWindowPage{init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.model=(_a=this.parameters.model)!==null&&_a!==void 0?_a:DomainRelay.create({type:"smtp"});(_b=this.model).script||(_b.script=prepare.toString());this.renderer=XNode.create("div",{"data-width":"screen-medium"},XNode.create(Form,null,XNode.create(FormField,{label:"Type"},XNode.create(ComboBox,{items:DomainRelayTypeArray,value:Bind.twoWaysImmediate((()=>this.model.type))})),XNode.create(TextFormField,{label:"Host/Server",value:()=>this.model.host}),XNode.create(TextFormField,{label:"Username",value:()=>this.model.username}),XNode.create(TextFormField,{label:"Password",value:()=>this.model.password}),XNode.create(FormField,{label:"Script",required:Bind.oneWay((()=>this.model.type==="https")),"style-display":Bind.oneWay((()=>this.model.type==="https"))},XNode.create("textarea",{rows:20,value:Bind.twoWaysImmediate((()=>this.model.script))}))))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/relays/edit/EditRelayPage");System.register(["@web-atoms/core/dist/core/Command"],(function(_export,_context){"use strict";var Command,Commands,AdminCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default;Commands=_webAtomsCoreDistCoreCommand.Commands}],execute:function(){_export("default",AdminCommands=class AdminCommands extends Commands{});AdminCommands.openHome=Command.create({route:"/admin",routeOrder:1e3,openPage:()=>_context.import("../pages/home/AdminHome")});AdminCommands.openDomainList=Command.create({route:"/admin/domains",routeOrder:100,openPage:()=>_context.import("../pages/domains/DomainListPage")});AdminCommands.openDomain=Command.create({route:"/admin/domains/{domainID}",openPage:()=>_context.import("../pages/domains/edit/EditDomainPage")});AdminCommands.openUserList=Command.create({route:"/admin/users",routeOrder:100,openPage:()=>_context.import("../pages/users/UserListPage")});AdminCommands.openMailboxList=Command.create({route:"/admin/mailboxes",routeOrder:100,openPage:()=>_context.import("../../common/pages/mailboxes/MailboxListPage")});AdminCommands.editRelay=Command.create({openPage:()=>_context.import("../pages/relays/edit/EditRelayPage")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/commands/AdminCommands");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../model/model","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../services/UserService","../../controls/password/PasswordStrength","../../validators/Validators"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,ContentPage,Form,FormField,LoginSession,Bind,PasswordBox,Action,InjectProperty,UserService,PasswordStrength,Validators,LoginPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_modelModel){LoginSession=_modelModel.LoginSession},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_controlsPasswordPasswordStrength){PasswordStrength=_controlsPasswordPasswordStrength.default},function(_validatorsValidators){Validators=_validatorsValidators.Validators}],execute:function(){_export("default",LoginPage=class LoginPage extends ContentPage{constructor(){super(...arguments);this.password=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=LoginSession.create({});this.model.userName="";this.model.checkPassword="";this.render(XNode.create("div",null,XNode.create("div",{"data-layout":"center-all"},XNode.create(Form,null,XNode.create(FormField,{label:"Username"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.userName))})),XNode.create(FormField,{label:"Username"},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.checkPassword))})),XNode.create("div",null,XNode.create("button",{"data-layout":"accent-button","data-submit-event":"login",text:"Login"}))))))}))}login(){var _a;return __awaiter(this,void 0,void 0,(function*(){try{yield this.userService.login(this.model);return}catch(error){if(!/change the password/i.test((_a=error.stack)!==null&&_a!==void 0?_a:error)){throw error}}this.model.newPassword="";this.renderer=XNode.create("div",null,XNode.create("div",{"data-layout":"center-all"},XNode.create(Form,null,XNode.create("div",null,"Update your password, your one time password is expired."),XNode.create(FormField,{label:"Password",required:true,error:Bind.oneWay((()=>Validators.isValidPassword(this.password)?"":"Password must contain one symbol, one number and should be minimum 7 characters"))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.password))})),XNode.create(PasswordStrength,{password:Bind.oneWay((()=>this.password))}),XNode.create(FormField,{label:"Password Again",required:true,error:Bind.oneWay((()=>this.model.newPassword!==this.password?"Passwords do not match":""))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.newPassword))})),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-submit-event":"login",text:"Change Password & Login"})))))}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],LoginPage.prototype,"userService",void 0);__decorate([Action({onEvent:"login"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],LoginPage.prototype,"login",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/LoginPage");System.register(["@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var XNode;function MenuItem({label,icon,click=undefined,href="",commandLink="",target=undefined}){return href||commandLink?XNode.create("a",{"data-layout":"menu-item","data-click-event":commandLink?"route":void 0,href:href||commandLink,target,"event-click":click},XNode.create("i",{class:icon}),XNode.create("span",{text:label})):XNode.create("div",{"data-layout":"menu-item","event-click":click},XNode.create("i",{class:icon}),XNode.create("span",{text:label}))}_export("default",MenuItem);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/menu/MenuItem");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../common/SocialMailApp","../commands/AdminCommands","../../common/controls/menu/MenuItem"],(function(_export,_context){"use strict";var __awaiter,XNode,styled,Drawer,SocialMailApp,AdminCommands,MenuItem,AdminDrawer,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsWebControlsDistMobileAppMobileApp){Drawer=_webAtomsWebControlsDistMobileAppMobileApp.Drawer},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default},function(_commandsAdminCommands){AdminCommands=_commandsAdminCommands.default},function(_commonControlsMenuMenuItem){MenuItem=_commonControlsMenuMenuItem.default}],execute:function(){css=styled.css`
|
|
1140
|
-
|
|
1141
|
-
|
|
1139
|
+
`.installGlobal("div[data-drop-down=drop-down]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/drop-down-style");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","./AtomRepeater","./styles/drop-down-style"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,BindableProperty,XNode,AtomRepeater,askSuggestion,askSuggestionPopup,disposeChildren,MatchAnyCaseInsensitive,DropDown;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default;askSuggestion=_AtomRepeater.askSuggestion;askSuggestionPopup=_AtomRepeater.askSuggestionPopup;disposeChildren=_AtomRepeater.disposeChildren;MatchAnyCaseInsensitive=_AtomRepeater.MatchAnyCaseInsensitive},function(_stylesDropDownStyle){}],execute:function(){_export("default",DropDown=class DropDown extends AtomRepeater{constructor(){super(...arguments);this.isPopupOpen=false}updateItems(container){}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"labelPath":this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});break;case"prompt":this.updateClasses();break}}preCreate(){super.preCreate();this.disableSearch=false;this.prompt="Select";this.popupSuggestions=true;this.bindEvent(this.element,"click",(e=>this.openPopup(e)));this.valuePath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item};this.labelPath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item};this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});this.element.dataset.dropDown="drop-down";this.render(XNode.create("div",null,XNode.create("div",{"data-white-space":"nowrap",text:this.prompt}),XNode.create("i",{class:"fad fa-caret-circle-down"})))}openPopup(e){var _a,_b,_c,_d,_e;return __awaiter(this,void 0,void 0,(function*(){if(this.isPopupOpen){return}this.isPopupOpen=true;try{if(!this.popupSuggestions){const selected=yield askSuggestion(this.items,(_a=this.suggestionRenderer)!==null&&_a!==void 0?_a:this.itemRenderer,(_b=this.match)!==null&&_b!==void 0?_b:MatchAnyCaseInsensitive(this.labelPath),{title:(_c=this.suggestionPrompt)!==null&&_c!==void 0?_c:this.prompt});this.selectedItem=selected;return}const selectedItem=yield askSuggestionPopup(this,this.items,(_d=this.suggestionRenderer)!==null&&_d!==void 0?_d:this.itemRenderer,(_e=this.match)!==null&&_e!==void 0?_e:MatchAnyCaseInsensitive(this.labelPath),this.selectedItem);if(this.selectedItem!==selectedItem){this.selectedItem=selectedItem;this.element.dispatchEvent(new CustomEvent("selectionChanged",{bubbles:true,detail:selectedItem,cancelable:true}))}}finally{this.isPopupOpen=false}}))}updateClasses(){var _a;disposeChildren(this,this.element);const ir=this.itemRenderer;if(!ir){return}if(!this.selectedItem){this.render(XNode.create("div",null,XNode.create("div",{"data-white-space":"nowrap",text:this.prompt}),XNode.create("i",{class:"fad fa-caret-circle-down"})));return}const selectedItem=this.selectedItem;const index=this.items.indexOf(selectedItem);const node=ir(selectedItem,index,this);const na=(_a=node.attributes)!==null&&_a!==void 0?_a:node.attributes={};if(!na["data-white-space"]){na["data-white-space"]="nowrap"}this.render(XNode.create("div",null,node,XNode.create("i",{class:"fad fa-caret-circle-down"})))}});__decorate([BindableProperty,__metadata("design:type",Boolean)],DropDown.prototype,"popupSuggestions",void 0);__decorate([BindableProperty,__metadata("design:type",String)],DropDown.prototype,"search",void 0);__decorate([BindableProperty,__metadata("design:type",String)],DropDown.prototype,"prompt",void 0);__decorate([BindableProperty,__metadata("design:type",String)],DropDown.prototype,"suggestionPrompt",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DropDown.prototype,"labelPath",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DropDown.prototype,"match",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DropDown.prototype,"suggestionRenderer",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/DropDown");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/Sql");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql"],(function(_export,_context){"use strict";var __decorate,__metadata,DITransient,Inject,EntityService,User,Sql,AdminUserService;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){User=_modelModel.User},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){AdminUserService=class AdminUserService{list({search="",start=0,size=50,cancelToken}){let q=this.entityService.query(User);if(search){if(/\^d+$/.test(search)){q=q.where({search},(p=>x=>x.userID===Sql.cast.asBigInt(p.search)))}const startsWith=search+"%";q=q.where({startsWith},(p=>x=>Sql.text.iLike(x.userName,p.startsWith)||Sql.text.iLike(x.displayName,p.startsWith)))}return q.include((x=>x.domainUsers.forEach((d=>d.hostedDomain.domain)))).toPagedList({start,size,cancelToken})}save(user){const cloner=this.entityService.cloner(user).include((x=>x.domainUsers)).include((x=>x.userMailboxes)).thenInclude((x=>x.mailbox));return this.entityService.save(cloner.copy)}};__decorate([Inject,__metadata("design:type",EntityService)],AdminUserService.prototype,"entityService",void 0);AdminUserService=__decorate([DITransient()],AdminUserService);_export("default",AdminUserService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/DropDown","../../../../admin/pages/users/services/AdminUserService","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,DropDown,AdminUserService,XNode,Bind,UserDropDown;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicDropDown){DropDown=_webAtomsWebControlsDistBasicDropDown.default},function(_adminPagesUsersServicesAdminUserService){AdminUserService=_adminPagesUsersServicesAdminUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",UserDropDown=class UserDropDown extends DropDown{init(){return __awaiter(this,void 0,void 0,(function*(){this.search="";this.valuePath=user=>user.userID;this.itemRenderer=user=>XNode.create("div",null,user.displayName," (",user.userID,", ",user.userName,")");this.render(XNode.create("div",{items:Bind.oneWayAsync(((s,e,cancelToken)=>__awaiter(this,void 0,void 0,(function*(){return(yield this.userService.list({search:this.search,start:0,size:20,cancelToken})).items}))))}))}))}preCreate(){super.preCreate();this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],UserDropDown.prototype,"userService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/drop-downs/user/UserDropDown");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../../common/controls/drop-downs/user/UserDropDown","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Checkbox","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../../services/EntityService","@web-atoms/core/dist/core/InjectProperty"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,Form,FormField,UserDropDown,Bind,Checkbox,SaveIconTextButton,Action,EntityService,InjectProperty,DomainUserEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_commonControlsDropDownsUserUserDropDown){UserDropDown=_commonControlsDropDownsUserUserDropDown.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default}],execute:function(){_export("default",DomainUserEditor=class DomainUserEditor extends PopupWindowPage{init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.model=this.parameters;(_a=(_b=this.model).isAdmin)!==null&&_a!==void 0?_a:_b.isAdmin=false;this.renderer=XNode.create("div",null,XNode.create(Form,{"data-submit-event":"save-domain-user"},XNode.create(FormField,{label:"User"},XNode.create(UserDropDown,{value:Bind.twoWaysImmediate((()=>this.model.userID))})),XNode.create(FormField,{label:"Admin"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isAdmin)),text:"Is Administrator (Can Create and View all mailboxes)"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!this.model.isAdmin)),label:"Can Create Mailboxes"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.allowCreateMailbox)),text:"Can create Mailboxes"})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-type":"submit"}))))}))}saveDomainUser(){return __awaiter(this,void 0,void 0,(function*(){const cloner=this.entityService.cloner(this.model).copy;yield this.entityService.save(cloner);return this.model}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],DomainUserEditor.prototype,"entityService",void 0);__decorate([Action({onEvent:"save-domain-user",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DomainUserEditor.prototype,"saveDomainUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/domains/domain-user/DomainUserEditor");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../../common/controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../services/AdminDomainService","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/basic/Expander","../../../../common/controls/buttons/IconButton","../../../commands/AdminCommands","../../../../services/EntityService","@web-atoms/web-controls/dist/PageNavigator","./DomainKeySetupPage","../domain-user/DomainUserEditor"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,Domain,DomainKey,DomainUser,HostedDomain,XNode,Form,TextFormField,Bind,Action,InjectProperty,AdminDomainService,Checkbox,AtomRepeater,Expander,AddIconTextButton,DeleteIconButton,SetupFolderIconButton,AdminCommands,EntityService,PageNavigator,DomainKeySetupPage,DomainUserEditor,EditDomainPage,summary;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){Domain=_modelModel.Domain;DomainKey=_modelModel.DomainKey;DomainUser=_modelModel.DomainUser;HostedDomain=_modelModel.HostedDomain},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_commonControlsFormRequiredFormField){TextFormField=_commonControlsFormRequiredFormField.TextFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesAdminDomainService){AdminDomainService=_servicesAdminDomainService.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistBasicExpander){Expander=_webAtomsWebControlsDistBasicExpander.default},function(_commonControlsButtonsIconButton){AddIconTextButton=_commonControlsButtonsIconButton.AddIconTextButton;DeleteIconButton=_commonControlsButtonsIconButton.DeleteIconButton;SetupFolderIconButton=_commonControlsButtonsIconButton.SetupFolderIconButton},function(_commandsAdminCommands){AdminCommands=_commandsAdminCommands.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_DomainKeySetupPage){DomainKeySetupPage=_DomainKeySetupPage.default},function(_domainUserDomainUserEditor){DomainUserEditor=_domainUserDomainUserEditor.default}],execute:function(){summary=text=>{if(!text){return text}if(text.length>50){return text.substring(0,20)+"..."+text.substring(text.length-20)}return text};_export("default",EditDomainPage=class EditDomainPage extends ContentPage{init(){var _a,_b,_c;var _d,_e;return __awaiter(this,void 0,void 0,(function*(){this.model=(_a=this.parameters.model)!==null&&_a!==void 0?_a:this.parameters.domainID?yield this.domainService.get(this.parameters.domainID):HostedDomain.create({enableReceive:true,enableSend:true,useRelay:true,domain:Domain.create({name:""})});(_b=(_d=this.model).domainKeys)!==null&&_b!==void 0?_b:_d.domainKeys=[];(_c=(_e=this.model).relays)!==null&&_c!==void 0?_c:_e.relays=[];this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,this.model.domainID?XNode.create("span",{text:this.model.domain.name}):XNode.create(TextFormField,{required:true,label:"Domain",value:()=>this.model.domain.name}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.enableReceive)),text:"Receive Mails"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.enableSend)),text:"Send Mails"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.useRelay)),text:"Use Domain Relay"}),this.model.domainID&&XNode.create(Expander,{isExpanded:false},XNode.create("label",{text:"Relays"}),XNode.create(AtomRepeater,{items:this.model.relays,footer:true,footerRenderer:()=>XNode.create("div",{"data-layout":"row"},XNode.create(AddIconTextButton,{"data-click-event":AdminCommands.editRelay.eventName,text:"New Relay"}))})),this.model.domainID&&XNode.create(Expander,{isExpanded:true},XNode.create("label",{text:"Domain Keys"}),XNode.create(AtomRepeater,{items:this.model.domainKeys,footer:true,for:"table",itemRenderer:item=>XNode.create("tr",null,XNode.create("td",{text:item.name}),XNode.create("td",null,XNode.create("span",{text:summary(item.publicKey)})),XNode.create("td",null,XNode.create(SetupFolderIconButton,{"event-click":()=>PageNavigator.pushPage(DomainKeySetupPage,item)})),XNode.create("td",null,XNode.create(DeleteIconButton,{"data-click-event":"delete-domain-key"}))),footerRenderer:()=>XNode.create("div",{"data-layout":"row"},XNode.create(AddIconTextButton,{"data-click-event":"add-domain-key",text:"New Domain Key"}))})),this.model.domainID&&XNode.create(Expander,{isExpanded:true},XNode.create("label",{text:"Users"}),XNode.create(AtomRepeater,{items:this.model.domainUsers,footer:true,itemRenderer:du=>XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:`${du.user.displayName} (${du.userID}, ${du.user.userName})`}),du.isAdmin&&XNode.create("span",{text:"is admin"}),du.allowCreateMailbox&&XNode.create("span",{text:"can create mailbox"})),footerRenderer:()=>XNode.create("div",{"data-layout":"row"},XNode.create(AddIconTextButton,{"data-click-event":"add-domain-user",text:"Add User"}))})),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-layout":"accent-button","data-submit-event":"save-domain",text:"Save"}))))}))}saveDomain(){return __awaiter(this,void 0,void 0,(function*(){yield this.domainService.save(this.model);return this.model}))}deleteDomainKey(dk){return __awaiter(this,void 0,void 0,(function*(){dk.$deleted=true;yield this.domainService.save(this.model);this.model.domainKeys.remove(dk)}))}addDomainKey(){return __awaiter(this,void 0,void 0,(function*(){const entityService=this.resolve(EntityService);const dk=DomainKey.create({domainID:this.model.domainID});yield entityService.save(dk);this.model.domainKeys.add(dk)}))}addDomainUser(){return __awaiter(this,void 0,void 0,(function*(){const domainUser=yield PageNavigator.pushPageForResult(DomainUserEditor,DomainUser.create({domainID:this.model.domainID}));this.model.domainUsers.add(domainUser)}))}});__decorate([InjectProperty,__metadata("design:type",AdminDomainService)],EditDomainPage.prototype,"domainService",void 0);__decorate([Action({onEvent:"save-domain",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditDomainPage.prototype,"saveDomain",null);__decorate([Action({onEvent:"delete-domain-key",confirm:"Are you sure you want to delete this?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],EditDomainPage.prototype,"deleteDomainKey",null);__decorate([Action({onEvent:"add-domain-key"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditDomainPage.prototype,"addDomainKey",null);__decorate([Action({onEvent:"add-domain-user"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditDomainPage.prototype,"addDomainUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/domains/edit/EditDomainPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/InjectProperty","./services/AdminDomainService","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./edit/EditDomainPage","../../commands/AdminCommands"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,ContentPage,AtomRepeater,InjectProperty,AdminDomainService,Action,PageNavigator,EditDomainPage,AdminCommands,DomainListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesAdminDomainService){AdminDomainService=_servicesAdminDomainService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_editEditDomainPage){EditDomainPage=_editEditDomainPage.default},function(_commandsAdminCommands){AdminCommands=_commandsAdminCommands.default}],execute:function(){_export("default",DomainListPage=class DomainListPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Domains";this.domains=yield this.adminDomainService.list();this.actionRenderer=()=>XNode.create("i",{"data-click-event":"add-domain",class:"fas fa-plus"});this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,{items:this.domains,itemRenderer:domain=>XNode.create("div",null,XNode.create("a",{"data-click-event":"route",href:AdminCommands.openDomain.displayRoute(domain)},domain.domain.name))}))}))}addDomain(){return __awaiter(this,void 0,void 0,(function*(){const domain=yield PageNavigator.pushPageForResult(EditDomainPage,{});this.domains.add(domain)}))}});__decorate([InjectProperty,__metadata("design:type",AdminDomainService)],DomainListPage.prototype,"adminDomainService",void 0);__decorate([Action({onEvent:"add-domain"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],DomainListPage.prototype,"addDomain",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/domains/DomainListPage");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"],(function(_export,_context){"use strict";var __awaiter,Bind,CancelToken,XNode,AtomControl,InfiniteRepeater,_a,loadMoreSet,pagedItemsSetter,scrollToBottom;_export("default",void 0);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}],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-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}setTimeout((()=>{var _b;const ce=(_b=control.element)===null||_b===void 0?void 0:_b.firstElementChild;ce===null||ce===void 0?void 0:ce.scrollIntoView()}),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)};_export("default",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}}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater");System.register([],(function(_export,_context){"use strict";var Validators;return{setters:[],execute:function(){_export("Validators",Validators={checkPassword:password=>{const hasMinimumLength=password.length>=7;const hasNumber=/\d/.test(password);const hasSymbol=/[\@\#\$\%\^\&\*\!]/.test(password);return{hasMinimumLength,hasNumber,hasSymbol,isValid:hasMinimumLength&&hasNumber&&hasSymbol}},isValidPassword:password=>Validators.checkPassword(password).isValid})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/validators/Validators");System.register(["@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","../../validators/Validators"],(function(_export,_context){"use strict";var Bind,XNode,AtomControl,Validators,PasswordStrength;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_validatorsValidators){Validators=_validatorsValidators.Validators}],execute:function(){_export("default",PasswordStrength=class PasswordStrength extends AtomControl{constructor(){super(...arguments);this.password="";this.validation={hasMinimumLength:false,hasNumber:false,hasSymbol:false,isValid:false}}preCreate(){this.render(XNode.create("div",{"data-layout":"vertical-flex",validation:Bind.oneWay((()=>Validators.checkPassword(this.password)))},XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasMinimumLength?"green":"red")),class:Bind.oneWay((()=>this.validation.hasMinimumLength?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password is at least 7 characters long."})),XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasNumber?"green":"red")),class:Bind.oneWay((()=>this.validation.hasNumber?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password has a number."})),XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasSymbol?"green":"red")),class:Bind.oneWay((()=>this.validation.hasSymbol?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password has a symbol."}))))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/core/dist/core/Bind","../../../common/validators/Validators","../../../common/controls/password/PasswordStrength","@web-atoms/core/dist/view-model/Action","../../../services/EntityService","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,Form,FormField,PasswordBox,Bind,Validators,PasswordStrength,Action,EntityService,DateTime,Checkbox,EditUserPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonValidatorsValidators){Validators=_commonValidatorsValidators.Validators},function(_commonControlsPasswordPasswordStrength){PasswordStrength=_commonControlsPasswordPasswordStrength.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",EditUserPage=class EditUserPage extends PopupWindowPage{constructor(){super(...arguments);this.password=""}init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.model=this.parameters;(_a=(_b=this.model).changePassword)!==null&&_a!==void 0?_a:_b.changePassword={newPassword:"",forceChangePasswordOnLogin:true};this.title=this.model.userID?`Reset Password for ${this.model.displayName} (${this.model.userID}, ${this.model.userName})`:"Add New User";this.renderer=XNode.create("div",null,XNode.create(Form,null,!this.model.userID&&XNode.create(FormField,{label:"Display Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.displayName))})),!this.model.userID&&XNode.create(FormField,{label:"Username"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.userName))})),XNode.create(FormField,{label:"Password",required:true,error:Bind.oneWay((()=>Validators.isValidPassword(this.password)?"":"Password is invalid"))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.password))})),XNode.create(PasswordStrength,{password:Bind.oneWay((()=>this.password))}),XNode.create(FormField,{label:"Password again",required:true,error:Bind.oneWay((()=>this.password!==this.model.changePassword.newPassword?"Passwords do not match":""))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.changePassword.newPassword))})),XNode.create(FormField,{label:"Force Change Password"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.changePassword.forceChangePasswordOnLogin)),text:"Force user to change password on next login."})),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-submit-event":"reset-password",text:"Save"}))))}))}resetPassword(){return __awaiter(this,void 0,void 0,(function*(){const entityService=this.resolve(EntityService);this.model.dateUpdated=DateTime.utcNow;const clone=entityService.cloner(this.model).include((x=>x.changePassword)).copy;yield entityService.save(clone)}))}});__decorate([Action({onEvent:"reset-password",success:"Information saved successfully.",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditUserPage.prototype,"resetPassword",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/EditUserPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","./services/AdminUserService","@web-atoms/core/dist/core/InjectProperty","../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","./EditUserPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Action,PageNavigator,AtomRepeater,ContentPage,User,AdminUserService,InjectProperty,InfiniteRepeater,Bind,EditUserPage,UserListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){User=_modelModel.User},function(_servicesAdminUserService){AdminUserService=_servicesAdminUserService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_EditUserPage){EditUserPage=_EditUserPage.default}],execute:function(){_export("default",UserListPage=class UserListPage extends ContentPage{constructor(){super(...arguments);this.users=[];this.version=0}init(){return __awaiter(this,void 0,void 0,(function*(){this.actionRenderer=()=>XNode.create("i",{"data-click-event":"add-user",class:"fas fa-plus"});this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{placeholder:"Search Users",value:Bind.twoWaysImmediate((()=>this.search))}));this.search="";this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({for:"table",items:this.users},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.userService.list({start,search:this.search,cancelToken}))),{itemRenderer:user=>XNode.create("tr",null,XNode.create("td",null,user.userID),XNode.create("td",null,user.userName),XNode.create("td",null,user.displayName),XNode.create("td",null,XNode.create("i",{"data-cursor":"pointer",class:"fas fa-key",title:"Change Password","data-click-event":"user-change-password"})))})))}))}addDomain(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(EditUserPage,User.create({userName:"",displayName:"",changePassword:{forceChangePasswordOnLogin:true,newPassword:""}}));this.version++}))}userChangePassword(model){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(EditUserPage,model)}))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],UserListPage.prototype,"userService",void 0);__decorate([Action({onEvent:"add-user"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserListPage.prototype,"addDomain",null);__decorate([Action({onEvent:"user-change-password"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],UserListPage.prototype,"userChangePassword",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/UserListPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,Domain,Mailbox,Sql,MailboxService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Domain=_modelModel.Domain;Mailbox=_modelModel.Mailbox},function(_Sql){Sql=_Sql.Sql}],execute:function(){MailboxService=class MailboxService{domains(){return this.entityService.query(Domain).toArray()}list({search="",start=0,size=50,version=0,cancelToken}){let q=this.entityService.query(Mailbox);if(search){if(search.endsWith("@")){search=search+"%";q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}else if(search.startsWith("@")){search="%"+search;q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}else{q=q.where({search},(p=>x=>x.emailAddress.emailAddress===p.search))}}return q.include((x=>x.emailAddress)).toPagedList({start,size,cancelToken})}save(model){return __awaiter(this,void 0,void 0,(function*(){const cloner=this.entityService.cloner(model);yield this.entityService.save(cloner.copy);return model}))}};__decorate([Inject,__metadata("design:type",EntityService)],MailboxService.prototype,"entityService",void 0);MailboxService=__decorate([DITransient()],MailboxService);_export("default",MailboxService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","./AtomRepeater"],(function(_export,_context){"use strict";var __decorate,__metadata,BindableProperty,XNode,AtomRepeater,ComboBox;_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(_AtomRepeater){AtomRepeater=_AtomRepeater.default}],execute:function(){_export("default",ComboBox=class ComboBox extends AtomRepeater{constructor(app,e=document.createElement("select")){super(app,e);this.isChanging=false;this.selectedItems=[]}updateItems(container){var _a,_b;if(this.isChanging){return}super.updateItems(container);const selectedItems=this.selectedItems;if(!selectedItems){return}if(selectedItems.length===0){return}this.isChanging=true;const first=selectedItems[0];this.element.selectedIndex=(_b=(_a=this.items)===null||_a===void 0?void 0:_a.indexOf(first))!==null&&_b!==void 0?_b:-1;this.isChanging=false}updateClasses(){if(this.isChanging){return}super.updateClasses();this.updateItems()}preCreate(){super.preCreate();this.labelPath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item.toString()};this.valuePath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item.toString()};this.itemRenderer=item=>XNode.create("option",null,this.labelPath(item));this.bindEvent(this.element,"change",(()=>this.changeSelection()))}changeSelection(){if(this.isChanging){return}this.isChanging=true;const index=this.element.selectedIndex;if(index!==-1){const si=this.selectedItems;if(si){si.set(0,this.items[index])}}this.isChanging=false}});__decorate([BindableProperty,__metadata("design:type",Object)],ComboBox.prototype,"labelPath",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/ComboBox");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/ComboBox","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../../SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,EmailAddress,Mailbox,XNode,Form,TextFormField,FormField,ComboBox,MailboxService,InjectProperty,Bind,Action,SocialMailApp,MailboxEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){EmailAddress=_modelModel.EmailAddress;Mailbox=_modelModel.Mailbox},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){TextFormField=_controlsFormRequiredFormField.TextFormField},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){_export("default",MailboxEditorPage=class MailboxEditorPage extends PopupWindowPage{constructor(){super(...arguments);this.domain=null}init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.title="Add Mailbox";this.model=(_b=(_a=this.parameters)===null||_a===void 0?void 0:_a.model)!==null&&_b!==void 0?_b:Mailbox.create({emailAddress:EmailAddress.create({emailAddress:""}),maxStorage:10*1024*1024*1024});this.model.username="";const domains=yield this.mailboxService.domains();this.model.domain=domains[0];this.model.name=SocialMailApp.user.displayName;this.renderer=XNode.create("div",null,XNode.create(Form,{"data-submit-event":"save-mailbox"},XNode.create(TextFormField,{label:"Name",value:()=>this.model.name}),XNode.create(TextFormField,{label:"Email Prefix/Username",value:()=>this.model.username}),XNode.create(FormField,{label:"Domain"},XNode.create(ComboBox,{labelPath:item=>item===null||item===void 0?void 0:item.name,valuePath:item=>item===null||item===void 0?void 0:item.domainID,selectedItem:Bind.twoWaysImmediate((()=>this.model.domain)),items:domains})),XNode.create(FormField,{label:"Email Address"},XNode.create("span",{text:Bind.oneWay((()=>`${this.model.username}@${this.model.domain.domain}`))})),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-type":"submit","data-layout":"accept-button",text:"Add"}))))}))}saveMailbox(){return __awaiter(this,void 0,void 0,(function*(){this.model.domainID=this.model.domain.domainID;yield this.mailboxService.save(this.model);return this.model}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxEditorPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"save-mailbox",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxEditorPage.prototype,"saveMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage");System.register([],(function(_export,_context){"use strict";var k,m,b,kb,mb,gb,toCompactFixed,toKMBString,toFileSize,formatNumber;return{setters:[],execute:function(){k=1e3;m=k*k;b=m*k;kb=1024;mb=k*k;gb=m*k;_export("toCompactFixed",toCompactFixed=(n,decimals)=>{let text=n.toFixed(decimals);if(decimals>0){while(text.endsWith("0")){text=text.substring(0,text.length-1)}if(text.endsWith(".")){text=text.substring(0,text.length-1)}}return text});_export("toKMBString",toKMBString=(n,decimals=0,def="")=>{if(!n){return def+""}if(n>b){return toCompactFixed(n/b,decimals)+"B"}if(n>m){return toCompactFixed(n/m,decimals)+"M"}if(n>k){return toCompactFixed(n/k,decimals)+"K"}return toCompactFixed(n,0)});_export("toFileSize",toFileSize=(n,decimals=0,def="")=>{n=Number(n);if(n===0){return"0 B"}if(!n){return def+""}if(n>gb){return toCompactFixed(n/gb,decimals)+" GB"}if(n>mb){return toCompactFixed(n/mb,decimals)+" MB"}if(n>kb){return toCompactFixed(n/kb,decimals)+" KB"}return toCompactFixed(n,0)});_export("formatNumber",formatNumber=(n,{prefix="",suffix="",def="",numberToText=toKMBString}={})=>{if(!n){return def}const text=numberToText(n);return prefix+text+suffix})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/NumberFormats");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Mailbox,MailboxThread,Sql,MailService;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){Mailbox=_modelModel.Mailbox;MailboxThread=_modelModel.MailboxThread},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){MailService=class MailService{mailboxes(){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Mailbox).include((x=>x.emailAddress)).toArray()}))}list({search="",mailboxID,start=0,size=100,version=1,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxThread).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID)).orderByDescending((x=>x.lastEmailID));if(search){const likeSearch=`%${search}%`;q=q.where({search,likeSearch},(p=>x=>x.emailAddress.emailAddress===p.search||Sql.text.like(x.lastEmail.textBody,p.likeSearch)))}return q.include((x=>[x.emailAddress,x.lastEmail.recipients,x.lastEmail.attachments])).toPagedList({start,size,cancelToken})}))}send(email){return __awaiter(this,void 0,void 0,(function*(){const cloner=this.entityService.cloner(email).include((x=>x.recipients)).include((x=>x.attachments)).copy;yield this.entityService.save(cloner)}))}};__decorate([Inject,__metadata("design:type",EntityService)],MailService.prototype,"entityService",void 0);MailService=__decorate([DISingleton()],MailService);_export("default",MailService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/MailService");System.register(["@web-atoms/core/dist/style/styled","../PageNavigator","./MobileApp","@web-atoms/core/dist/web/core/AtomUI","../basic/AtomRepeater"],(function(_export,_context){"use strict";var styled,PageNavigator,ContentPage,isMobileView,descendentElementIterator,AtomRepeater,MasterDetailPage,findItem;_export("default",void 0);return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_PageNavigator){PageNavigator=_PageNavigator.default},function(_MobileApp){ContentPage=_MobileApp.ContentPage;isMobileView=_MobileApp.isMobileView},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_basicAtomRepeater){AtomRepeater=_basicAtomRepeater.default}],execute:function(){styled.css`
|
|
1140
|
+
& > [data-page-element=content] {
|
|
1141
|
+
display: grid;
|
|
1142
|
+
& > * {
|
|
1143
|
+
grid-row: 1;
|
|
1144
|
+
grid-column: 1;
|
|
1145
|
+
align-self: stretch;
|
|
1146
|
+
justify-self: stretch;
|
|
1147
|
+
}
|
|
1148
|
+
& > *[data-element=detail] {
|
|
1149
|
+
display: none;
|
|
1150
|
+
}
|
|
1151
|
+
&[data-mode=desktop] {
|
|
1152
|
+
display: grid;
|
|
1153
|
+
grid-template-columns: 5fr minmax(400px, 3fr) auto;
|
|
1154
|
+
grid-template-rows: auto 1fr;
|
|
1155
|
+
overflow: hidden;
|
|
1156
|
+
& > *{
|
|
1157
|
+
grid-row: 1 / span 2;
|
|
1158
|
+
grid-column: 1;
|
|
1159
|
+
overflow: auto;
|
|
1160
|
+
}
|
|
1161
|
+
& > *[data-element=close] {
|
|
1162
|
+
grid-row: 1;
|
|
1163
|
+
grid-column: 3;
|
|
1164
|
+
color: red;
|
|
1165
|
+
margin-top: 0.35em;
|
|
1166
|
+
padding: 5px;
|
|
1167
|
+
align-self: center;
|
|
1168
|
+
justify-self: center;
|
|
1169
|
+
font-size: 1.5em;
|
|
1170
|
+
z-index: 2;
|
|
1171
|
+
}
|
|
1172
|
+
& > *[data-element=detail] {
|
|
1173
|
+
grid-row: 1 / span 2;
|
|
1174
|
+
grid-column: 2 / span 2;
|
|
1175
|
+
align-self: stretch;
|
|
1176
|
+
justify-self: stretch;
|
|
1177
|
+
transform: none;
|
|
1178
|
+
transition: none;
|
|
1179
|
+
display: grid;
|
|
1180
|
+
position: relative;
|
|
1181
|
+
margin: 5px;
|
|
1182
|
+
border-radius: 9px;
|
|
1183
|
+
box-shadow: rgb(50 50 105 / 7%) 0px 2px 5px 0px, rgb(0 0 0 / 3%) 0px 1px 1px 0px;
|
|
1184
|
+
border: solid 1px rgb(217 217 217);
|
|
1185
|
+
padding: 0;
|
|
1186
|
+
& > [data-page-element=header] {
|
|
1187
|
+
grid-column: 1 / span 3;
|
|
1188
|
+
}
|
|
1189
|
+
& > [data-page-element=footer] {
|
|
1190
|
+
grid-column: 1 / span 3;
|
|
1191
|
+
}
|
|
1192
|
+
& > [data-page-element=content] {
|
|
1193
|
+
grid-column: 1 / span 3;
|
|
1194
|
+
}
|
|
1195
|
+
}
|
|
1196
|
+
}
|
|
1197
|
+
}
|
|
1198
|
+
`.installGlobal("[data-page-type=master-detail]");findItem=(content,item)=>{var _a,_b,_c;for(const iterator of descendentElementIterator(content)){const repeater=iterator===null||iterator===void 0?void 0:iterator.atomControl;if(!(repeater instanceof AtomRepeater)){continue}const index=(_b=(_a=repeater.items)===null||_a===void 0?void 0:_a.indexOf(item))!==null&&_b!==void 0?_b:-1;if(index===-1){continue}const element=(_c=repeater.element)===null||_c===void 0?void 0:_c.querySelector(`[data-item-index="${index}"]`);if(element){return element}}};_export("default",MasterDetailPage=class MasterDetailPage extends ContentPage{constructor(){super(...arguments);this.showClose=true;this.scrollEveryNewTarget=false;this.lookupItemForHighlight=true;this.highlightAttributeValue=["data-filter","drop-shadow-accent"]}get highlightAttribute(){return this.highlightAttributeValue}set highlightAttribute(value){var _a;if(!value){this.highlightAttributeValue=["data-filter","drop-shadow-accent"];return}if(typeof value==="string"){const tokens=value.split("=");let key=tokens[0];let v=(_a=tokens[1])!==null&&_a!==void 0?_a:"true";if(v.endsWith("]")){v=v.substring(0,v.length-1)}if(key.startsWith("[")){key=key.substring(1)}value=[key,v]}this.highlightAttributeValue=value}openDetail(page,parameters,highlightElementOrItem){if(isMobileView){PageNavigator.pushPage(page,parameters);return}const content=this.element.querySelector(`[data-page-element="content"]`);content.setAttribute("data-mode","desktop");let highlightElement;if(highlightElementOrItem instanceof HTMLElement){highlightElement=highlightElementOrItem}if(!highlightElement&&this.lookupItemForHighlight){highlightElement=findItem(content,highlightElementOrItem)}const lastTargetElement=this.lastTargetElement;if(lastTargetElement){const[key]=this.highlightAttributeValue;lastTargetElement.removeAttribute(key)}this.lastTargetElement=highlightElement;if(!this.closeButton&&this.showClose){const closeButton=document.createElement("i");closeButton.setAttribute("data-element","close");closeButton.className="fas fa-times-circle";this.closeButton=closeButton;content.appendChild(closeButton);closeButton.addEventListener("click",(()=>this.closeDetail()))}let lastDetail=this.lastDetail;if(lastDetail){const{element}=lastDetail;lastDetail.dispose();element.remove();if(this.scrollEveryNewTarget){this.scrollTargetIntoView()}}else{this.scrollTargetIntoView()}this.updateTargetSelector(highlightElement);const P=page;lastDetail=new P(this.app);content.appendChild(lastDetail.element);lastDetail.element.setAttribute("data-element","detail");this.lastDetail=lastDetail;lastDetail.parameters=parameters;const close=()=>this.closeDetail();lastDetail.cancel=close;lastDetail.close=close;this.app.runAsync((()=>{var _a,_b;return(_b=(_a=this.lastDetail)===null||_a===void 0?void 0:_a.init)===null||_b===void 0?void 0:_b.call(_a)}))}scrollTargetIntoView(dispose=false){const lastTargetElement=this.lastTargetElement;if(lastTargetElement){setTimeout((()=>{if(lastTargetElement.isConnected){lastTargetElement.scrollIntoView()}if(dispose){this.lastTargetElement=void 0;this.updateTargetSelector(lastTargetElement,true,dispose)}}),100)}}updateTargetSelector(lastTargetElement,remove=false,delay=false){if(!lastTargetElement){return}const[key,value]=this.highlightAttributeValue;if(remove){if(delay){setTimeout((()=>{lastTargetElement.removeAttribute(key)}),1e3)}else{lastTargetElement.removeAttribute(key)}return}lastTargetElement.setAttribute(key,value)}preCreate(){super.preCreate();this.element.setAttribute("data-page-type","master-detail")}closeDetail(){const lastDetail=this.lastDetail;if(lastDetail){const{element}=lastDetail;lastDetail.dispose();element.remove();this.lastDetail=void 0}const closeButton=this.closeButton;if(closeButton){closeButton.remove();this.closeButton=void 0}const content=this.element.querySelector(`[data-page-element="content"]`);content.removeAttribute("data-mode");this.scrollTargetIntoView(true)}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/mobile-app/MasterDetailPage");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,MailboxThreadEmail,Sql,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){MailboxThreadEmail=_modelModel.MailboxThreadEmail},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){ConversationService=class ConversationService{list({search="",mailboxID,emailAddressID,start=0,size=100,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxThreadEmail).where({mailboxID,emailAddressID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID));if(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)))}const emails=yield q.include((x=>[x.email.recipients.forEach((r=>r.emailAddress)),x.email.attachments.forEach((a=>a.appFile))])).orderByDescending((x=>x.emailID)).toPagedList({start,size,cancelToken});return{total:emails.total,items:emails.items.map((x=>x.email))}}))}renderText(html){const div=document.createElement("div");div.innerHTML=html;return div.textContent}};__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/web/page/mails/service/ConversationService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../common/controls/repeater/InfiniteRepeater","./service/ConversationService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,AtomRepeater,InfiniteRepeater,ConversationService,InjectProperty,styled,ConversationPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_serviceConversationService){ConversationService=_serviceConversationService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){css=styled.css`
|
|
1199
|
+
border: solid 1px lightgray;
|
|
1200
|
+
border-radius: 5px;
|
|
1201
|
+
padding: 5px;
|
|
1202
|
+
margin-right: 50px;
|
|
1203
|
+
&[data-sent=true] {
|
|
1204
|
+
margin-right: 0;
|
|
1205
|
+
margin-left: 50px;
|
|
1206
|
+
}
|
|
1207
|
+
`.installLocal();_export("default",ConversationPage=class ConversationPage extends ContentPage{constructor(){super(...arguments);this.mails=[];this.search=""}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const mb=this.parameters;this.title=mb.lastEmail.senderID===mb.mailboxID?(_a=mb.emailAddress)===null||_a===void 0?void 0:_a.emailAddress:mb.lastEmail.senderName;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"vertical-flex",items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.conversationService.list({start,size:200,search:this.search,mailboxID:mb.mailboxID,emailAddressID:mb.emailAddressID,cancelToken}))),{itemRenderer:item=>{var _a;return XNode.create("div",{class:css,"data-sent":!item.received},XNode.create("div",null,item.senderName,":"),XNode.create("div",{text:this.conversationService.renderText(item.htmlBody)||item.textBody}),((_a=item.attachments)===null||_a===void 0?void 0:_a.length)&&XNode.create("div",{"data-layout":"flex-wrap-padding"},...item.attachments.map((a=>XNode.create("div",null,XNode.create("i",{class:"fas fa-paperclip"}),XNode.create("a",{text:a.fileName,target:"_blank",href:`/api/files/${a.appFileID}/${a.appFile.fileContentID}/${a.fileName}`}))))))}})))}))}});__decorate([InjectProperty,__metadata("design:type",ConversationService)],ConversationPage.prototype,"conversationService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ConversationPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode;function notSet(text){return()=>{alert(`Command ${text} not set`)}}function insert(callback,command){return(s,e)=>__awaiter(this,void 0,void 0,(function*(){let r=callback(s,e);if(typeof r!=="string"){if(r===null||r===void 0?void 0:r.then){r=yield r}}if(r){if(command){command.execute(s,false,r)}else{s.executeCommand("insertHTML",false,r)}}}))}function CommandButton({icon,label,eventInsertHtml,insertCommand,title,disabled}){disabled!==null&&disabled!==void 0?disabled:disabled=Bind.oneWay((x=>x.version?!insertCommand.canExecute(x):false));if(label){return XNode.create("button",{class:"command","data-layout":"toolbar-button",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand)),title},XNode.create("label",{class:"label"},XNode.create("i",{class:icon}),XNode.create("span",{text:label})))}return XNode.create("button",{"data-layout":"toolbar-button",title,class:"command",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand))},XNode.create("i",{class:icon}))}_export({notSet,default:CommandButton});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/CommandButton");System.register([],(function(_export,_context){"use strict";var HtmlCommands;function query(name){return{canExecute(e){return e.queryCommandState(name)},execute(e,showUI,value){return e.executeCommand(name,showUI,value)}}}_export("default",void 0);return{setters:[],execute:function(){_export("default",HtmlCommands=class HtmlCommands{});HtmlCommands.backColor=query("backColor");HtmlCommands.bold=query("bold");HtmlCommands.contentReadOnly=query("contentReadOnly");HtmlCommands.copy=query("copy");HtmlCommands.createLink=query("createLink");HtmlCommands.cut=query("cut");HtmlCommands.decreaseFontSize=query("decreaseFontSize");HtmlCommands.defaultParagraphSeparator=query("defaultParagraphSeparator");HtmlCommands.enableAbsolutePositionEditor=query("enableAbsolutePositionEditor");HtmlCommands.enableInlineTableEditing=query("enableInlineTableEditing");HtmlCommands.enableObjectResizing=query("enableObjectResizing");HtmlCommands.fontName=query("fontName");HtmlCommands.fontSize=query("fontSize");HtmlCommands.foreColor=query("foreColor");HtmlCommands.formatBlock=query("formatBlock");HtmlCommands.forwardDelete=query("forwardDelete");HtmlCommands.heading=query("heading");HtmlCommands.hiliteColor=query("hiliteColor");HtmlCommands.increaseFontSize=query("increaseFontSize");HtmlCommands.indent=query("indent");HtmlCommands.insertBrOnReturn=query("insertBrOnReturn");HtmlCommands.insertHorizontalRule=query("insertHorizontalRule");HtmlCommands.insertHTML=query("insertHTML");HtmlCommands.insertImage=query("insertImage");HtmlCommands.insertOrderedList=query("insertOrderedList");HtmlCommands.insertUnorderedList=query("insertUnorderedList");HtmlCommands.insertParagraph=query("insertParagraph");HtmlCommands.insertText=query("insertText");HtmlCommands.italic=query("italic");HtmlCommands.justifyCenter=query("justifyCenter");HtmlCommands.justifyFull=query("justifyFull");HtmlCommands.justifyLeft=query("justifyLeft");HtmlCommands.justifyRight=query("justifyRight");HtmlCommands.outdent=query("outdent");HtmlCommands.paste=query("paste");HtmlCommands.redo=query("redo");HtmlCommands.removeFormat=query("removeFormat");HtmlCommands.selectAll=query("selectAll");HtmlCommands.strikeThrough=query("strikeThrough");HtmlCommands.subscript=query("subscript");HtmlCommands.superscript=query("superscript");HtmlCommands.underline=query("underline");HtmlCommands.undo=query("undo");HtmlCommands.unlink=query("unlink");HtmlCommands.useCSS=query("useCSS");HtmlCommands.styleWithCSS=query("styleWithCSS");HtmlCommands.AutoUrlDetect=query("AutoUrlDetect");HtmlCommands.enabled={canExecute(e){return true},execute(){throw new Error("not supported")}}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/services/PopupService","../../basic/FormField","./CommandButton","./HtmlCommands"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,PopupService,PopupWindow,FormField,CommandButton,HtmlCommands,ImageDialog;function showImageDialog(s,e){return PopupService.showWindow(e.currentTarget,ImageDialog,{title:"Add Image"})}function AddImage({eventInsertHtml=(s,e)=>s.insertImage(s,e),insertCommand=HtmlCommands.insertImage}){return CommandButton({icon:"ri-image-add-fill",insertCommand,disabled:false,title:"Insert Image",eventInsertHtml})}_export({showImageDialog,default:AddImage});return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default;PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_basicFormField){FormField=_basicFormField.default},function(_CommandButton){CommandButton=_CommandButton.default},function(_HtmlCommands){HtmlCommands=_HtmlCommands.default}],execute:function(){ImageDialog=class ImageDialog extends PopupWindow{create(){this.link="";this.alt="";this.render(XNode.create("div",null,XNode.create(FormField,{label:"Url"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.link))})),XNode.create(FormField,{label:"Alt"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.alt))})),XNode.create("div",{class:"command-bar"},XNode.create("button",{eventClick:()=>this.close(this.createImage()),text:"Add"}))))}createImage(){if(this.alt){return`<img src="${this.link}" alt="${this.alt}" />`}return`<img src="${this.link}"/>`}};__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"link",void 0);__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"alt",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/AddImage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/types","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/data-styles/data-styles","./commands/AddImage","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,XNode,sleep,CancelToken,AtomControl,ChildEnumerator,descendentElementIterator,showImageDialog,styled,InlineHtmlEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator;descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDataStylesDataStyles){},function(_commandsAddImage){showImageDialog=_commandsAddImage.showImageDialog},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
1208
|
+
|
|
1209
|
+
& > [data-element=editor] {
|
|
1210
|
+
|
|
1211
|
+
padding: var(--spacing, 5px);
|
|
1212
|
+
border: solid 1px lightgray;
|
|
1213
|
+
border-radius: var(--spacing, 5px);
|
|
1214
|
+
margin: var(--spacing, 5px);
|
|
1215
|
+
|
|
1216
|
+
& > * {
|
|
1217
|
+
outline: none;
|
|
1218
|
+
}
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1221
|
+
& > [data-element=toolbar] {
|
|
1222
|
+
flex-direction: column;
|
|
1223
|
+
align-items: center;
|
|
1224
|
+
justify-content: space-around;
|
|
1225
|
+
gap: 4px;
|
|
1226
|
+
display: flex;
|
|
1227
|
+
|
|
1228
|
+
& > .toolbar {
|
|
1229
|
+
flex-direction: row;
|
|
1230
|
+
align-items: center;
|
|
1231
|
+
justify-content: space-around;
|
|
1232
|
+
gap: 4px;
|
|
1233
|
+
display: flex;
|
|
1234
|
+
|
|
1235
|
+
& .command {
|
|
1236
|
+
|
|
1237
|
+
&.pressed {
|
|
1238
|
+
font-weight: bold;
|
|
1239
|
+
}
|
|
1240
|
+
}
|
|
1241
|
+
}
|
|
1242
|
+
}
|
|
1243
|
+
`.installGlobal("[data-inline-editor=inline-editor]");_export("default",InlineHtmlEditor=class InlineHtmlEditor extends AtomControl{constructor(){super(...arguments);this.undoLimit=100;this.editableSelector=".editable"}get htmlContent(){return this.htmlTextContent.html}set htmlContent(v){this.content=v}get htmlTextContent(){var _a;const copy=document.createElement("div");copy.innerHTML=this.editor.innerHTML;for(const node of descendentElementIterator(copy)){node.contentEditable="false"}(_a=this.sanitizeHtml)===null||_a===void 0?void 0:_a.call(this,copy);return{html:copy.innerHTML,text:copy.innerText}}get content(){return this.editor.innerHTML}set content(value){this.editor.innerHTML=value;setTimeout((()=>this.onContentSet()),100)}set toolbar(v){this.dispose(this.toolbarElement);this.toolbarElement.innerHTML="";this.render(v(),this.toolbarElement,this)}executeCommand(command,showUI,value){var _a;const selection=window.getSelection();selection.removeAllRanges();if(!this.selection){const range=document.createRange();const start=(_a=ChildEnumerator.find(this.editor,(x=>x.isContentEditable)))!==null&&_a!==void 0?_a:this.editor.firstElementChild;range.setEndAfter(start.lastChild);range.setStartAfter(start.lastChild);selection.addRange(range)}else{selection.addRange(this.selection)}return document.execCommand(command,showUI,value)}getStyle(name){const selection=this.selection;if(!selection){return void 0}const node=selection;const e=node.startContainer.parentElement;return window.getComputedStyle(e)[name]}queryCommandState(command){return document.queryCommandState(command)}onContentSet(){var _a;const start=(_a=Array.from(this.editor.querySelectorAll(this.editableSelector)))!==null&&_a!==void 0?_a:[this.editor.firstElementChild];if(start.length){for(const iterator of start){iterator.contentEditable="true"}}this.editor.dispatchEvent(new CustomEvent("contentReady",{detail:this.editor.innerHTML,bubbles:true}))}saveSelection(){const selection=window.getSelection();this.selection=selection.rangeCount===0?null:selection.getRangeAt(0)}insertImage(s,e){return showImageDialog(s,e)}preCreate(){this.version=1;this.element.setAttribute("data-inline-editor","inline-editor");this.render(XNode.create("div",null,XNode.create("div",{"data-element":"toolbar"}),XNode.create("div",{"data-element":"editor"})));this.editor=this.element.querySelector(`[data-element=editor]`);this.toolbarElement=this.element.querySelector(`[data-element=toolbar]`);this.bindEvent(this.editor,"blur",(()=>this.saveSelection()),void 0,true);this.bindEvent(this.editor,"input",(e=>this.onContentInput(e)));this.bindEvent(this.editor,"keydown",(e=>this.updateQueryCommand()));this.bindEvent(this.editor,"click",(e=>this.updateQueryCommand(e)));this.bindEvent(this.editor,"paste",(e=>this.onPasteEvent(e)));this.bindEvent(this.editor,"cut",(()=>this.onContentInput()));this.bindEvent(this.editor,"drop",(e=>this.onDrop(e)))}updateQueryCommand(e){if((e===null||e===void 0?void 0:e.type)==="click"){if(!this.editor.textContent){let first=this.editor.firstElementChild;if(!first){first=document.createElement("div");first.innerHTML="<p><br/></p>";this.editor.appendChild(first)}else{if(!first.lastChild){first.innerHTML="<p></br></b>"}}}}this.version++}onDrop(e){e.preventDefault();const text=e.dataTransfer.getData("text/plain");if(!text){return}let last=null;for(const node of descendentElementIterator(this.element)){if(node.isContentEditable){last=node;continue}}if(last){last.appendChild(document.createTextNode(text))}}onPasteEvent(e){if(!e.clipboardData.types.find((x=>x==="text/html"))){this.onContentInput();return}const d=e.clipboardData.getData("text/plain");if(d){const s=window.getSelection();const r=s.getRangeAt(0);let last;const tags=[];for(const iterator of d.split("\n")){const text=iterator.trim();if(!text){continue}last=document.createElement("p");last.innerText=iterator;tags.push(last)}while(tags.length){r.insertNode(tags.pop())}r.setStartAfter(last);this.onContentInput()}e.preventDefault()}contentModified(){this.element.dispatchEvent(new CustomEvent("contentChanged",{detail:this.editor.innerHTML,bubbles:true}))}onContentInput(e){var _a;(_a=this.token)===null||_a===void 0?void 0:_a.cancel();const token=this.token=new CancelToken;this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){yield sleep(500,token,false);if(token.cancelled){return}this.contentModified()}))))}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var XNode,styled;function Toolbar(a,...nodes){return XNode.create("div",Object.assign({"data-html-editor-element":"toolbar"},a),...nodes)}_export("default",Toolbar);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
1244
|
+
display: flex;
|
|
1245
|
+
flex-wrap: wrap;
|
|
1246
|
+
align-items: center;
|
|
1247
|
+
gap: var(--spacing, 5px);
|
|
1248
|
+
`.installGlobal("[data-html-editor-element=toolbar]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/Toolbar");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __rest,Bind,XNode;function Command(_a){var{icon,label,command,queryState="none",query}=_a,others=__rest(_a,["icon","label","command","queryState","query"]);if(label){return XNode.create("div",Object.assign({eventClick:Bind.event((e=>command(e))),styleClass:Bind.oneWay((e=>({command:e.version,pressed:!e.queryCommandState(queryState)})))},others),XNode.create("i",{class:icon}),XNode.create("label",{class:"label",text:label}))}return XNode.create("div",Object.assign({eventClick:Bind.event((e=>command(e))),styleClass:Bind.oneWay((e=>({command:e.version,pressed:e.queryCommandState(queryState)})))},others),XNode.create("i",{class:icon}))}_export("default",Command);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/Command");System.register(["./Command"],(function(_export,_context){"use strict";var Command;function Bold(cmd){return Command(Object.assign(Object.assign({icon:"ri-bold",queryState:"bold",title:"Bold"},cmd),{command(editor){editor.executeCommand("bold")}}))}_export("default",Bold);return{setters:[function(_Command){Command=_Command.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/Bold");System.register(["./Command"],(function(_export,_context){"use strict";var Command;function Italic(cmd){return Command(Object.assign(Object.assign({icon:"ri-italic",queryState:"italic",title:"Italic"},cmd),{command(editor){editor.executeCommand("italic")}}))}_export("default",Italic);return{setters:[function(_Command){Command=_Command.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/Italic");System.register(["./Command"],(function(_export,_context){"use strict";var Command;function Underline(cmd){return Command(Object.assign(Object.assign({icon:"ri-underline",queryState:"underline",title:"Underline"},cmd),{command(editor){editor.executeCommand("underline")}}))}_export("default",Underline);return{setters:[function(_Command){Command=_Command.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/Underline");System.register(["./Command"],(function(_export,_context){"use strict";var Command;function StrikeThrough(cmd){return Command(Object.assign(Object.assign({icon:"ri-strikethrough",queryState:"strikeThrough",title:"Strike Through"},cmd),{command(editor){editor.executeCommand("strikeThrough")}}))}_export("default",StrikeThrough);return{setters:[function(_Command){Command=_Command.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/StrikeThrough");System.register(["@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var styled;return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
1249
|
+
padding: 5px;
|
|
1250
|
+
border-radius: 5px;
|
|
1251
|
+
cursor: pointer;
|
|
1252
|
+
|
|
1253
|
+
display: flex;
|
|
1254
|
+
align-items: center;
|
|
1255
|
+
justify-content: flex-start;
|
|
1256
|
+
gap: 4px;
|
|
1257
|
+
flex-wrap: wrap;
|
|
1258
|
+
min-width: 20ch;
|
|
1259
|
+
&:hover {
|
|
1260
|
+
background-color: lightgreen;
|
|
1261
|
+
}
|
|
1262
|
+
|
|
1263
|
+
& > * {
|
|
1264
|
+
flex-shrink: 0;
|
|
1265
|
+
}
|
|
1266
|
+
|
|
1267
|
+
& > [data-element=icon] {
|
|
1268
|
+
width: 1.3em;
|
|
1269
|
+
text-align: center;
|
|
1270
|
+
}
|
|
1271
|
+
|
|
1272
|
+
`.installGlobal("*[data-menu-item=menu-item]");styled.css`
|
|
1273
|
+
display: flex;
|
|
1274
|
+
flex-direction: column;
|
|
1275
|
+
align-items: stretch;
|
|
1276
|
+
justify-content: stretch;
|
|
1277
|
+
gap: 4px;
|
|
1278
|
+
`.installGlobal("*[data-menu-items=menu-items]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/popup-button-style");System.register(["tslib","@web-atoms/core/dist/core/XNode","./InlinePopup","./styles/popup-button-style"],(function(_export,_context){"use strict";var __rest,XNode,InlinePopupButton;function MenuItem(_a){var{label,icon,eventClick,href,target}=_a,others=__rest(_a,["label","icon","eventClick","href","target"]);if(href){return XNode.create("a",Object.assign({"data-menu-item":"menu-item",href,target},others),icon&&XNode.create("i",{"data-element":"icon",class:icon}),label&&XNode.create("span",{"data-element":"label",text:label}))}return XNode.create("div",Object.assign({"data-menu-item":"menu-item",eventClick},others),icon&&XNode.create("i",{"data-element":"icon",class:icon}),label&&XNode.create("span",{"data-element":"label",text:label}))}function PopupActionButton(a,...nodes){var _a;a.anchorRight=true;(_a=a["data-alignment"])!==null&&_a!==void 0?_a:a["data-alignment"]="bottom-right";return InlinePopupButton(a,...nodes)}_export({MenuItem,PopupActionButton});return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_InlinePopup){InlinePopupButton=_InlinePopup.InlinePopupButton},function(_stylesPopupButtonStyle){}],execute:function(){_export("default",InlinePopupButton)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/PopupButton");System.register(["@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","../../basic/PopupButton"],(function(_export,_context){"use strict";var Bind,XNode,PopupButton,MenuItem;function Align(){return XNode.create(PopupButton,{class:"command","data-layout":"toolbar-button",icon:"ri-align-left",title:"Change Alignment"},XNode.create(MenuItem,{icon:"ri-align-left",title:"Align Left",eventClick:Bind.event((e=>e.executeCommand("justifyLeft")))}),XNode.create(MenuItem,{icon:"ri-align-center",title:"Align Center",eventClick:Bind.event((e=>e.executeCommand("justifyCenter")))}),XNode.create(MenuItem,{icon:"ri-align-right",title:"Align Right",eventClick:Bind.event((e=>e.executeCommand("justifyRight")))}),XNode.create(MenuItem,{icon:"ri-align-justify",title:"Justify",eventClick:Bind.event((e=>e.executeCommand("justifyFull")))}))}_export("default",Align);return{setters:[function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_basicPopupButton){PopupButton=_basicPopupButton.default;MenuItem=_basicPopupButton.MenuItem}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/Align");System.register(["./Command"],(function(_export,_context){"use strict";var Command;function HorizontalRule(cmd){return Command(Object.assign(Object.assign({icon:"ri-separator",title:"Insert Horizontal Line"},cmd),{command(editor){editor.executeCommand("insertHorizontalRule")}}))}_export("default",HorizontalRule);return{setters:[function(_Command){Command=_Command.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/HorizontalRule");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var XNode,styled,separatorCss;function Separator(){return XNode.create("div",{class:separatorCss})}_export("default",Separator);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){separatorCss=styled.css`
|
|
1279
|
+
background-color: #a9a9a9;
|
|
1280
|
+
margin-left: 4px;
|
|
1281
|
+
margin-right: 4px;
|
|
1282
|
+
display: inline-block;
|
|
1283
|
+
margin-top: 4px;
|
|
1284
|
+
height: 20px;
|
|
1285
|
+
width: 2px;
|
|
1286
|
+
`.installLocal()}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/Separator");System.register(["@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","../../basic/PopupButton"],(function(_export,_context){"use strict";var Bind,XNode,PopupButton,MenuItem;function Headings(){return XNode.create(PopupButton,{"data-layout":"toolbar-button",class:"command",icon:"ri-heading",title:"Apply Heading"},XNode.create(MenuItem,{icon:"ri-h-1",eventClick:Bind.event((e=>e.executeCommand("formatBlock",false,"H1")))}),XNode.create(MenuItem,{icon:"ri-h-2",eventClick:Bind.event((e=>e.executeCommand("formatBlock",false,"H2")))}),XNode.create(MenuItem,{icon:"ri-h-3",eventClick:Bind.event((e=>e.executeCommand("formatBlock",false,"H3")))}),XNode.create(MenuItem,{icon:"ri-h-4",eventClick:Bind.event((e=>e.executeCommand("formatBlock",false,"H4")))}),XNode.create(MenuItem,{icon:"ri-h-5",eventClick:Bind.event((e=>e.executeCommand("formatBlock",false,"H5")))}),XNode.create(MenuItem,{icon:"ri-h-6",eventClick:Bind.event((e=>e.executeCommand("formatBlock",false,"H6")))}))}_export("default",Headings);return{setters:[function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_basicPopupButton){PopupButton=_basicPopupButton.default;MenuItem=_basicPopupButton.MenuItem}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/Headings");System.register(["@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","../../basic/PopupButton","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var Bind,XNode,PopupButton,styled,gray,primary,all,colorSelectorCss;function TextColor(color){return XNode.create("div",{class:"color-button",eventClick:Bind.event((e=>e.executeCommand("foreColor",false,color))),styleBackgroundColor:color.toLowerCase(),title:color})}function BackgroundColor(color){return XNode.create("div",{class:"color-button",eventClick:Bind.event((e=>e.executeCommand("hiliteColor",false,color))),styleBackgroundColor:color.toLowerCase(),title:color})}function ChangeColor(){return XNode.create(PopupButton,{title:"Change Color",class:"command",icon:"ri-font-color","data-layout":"toolbar-button"},XNode.create("div",{class:colorSelectorCss},XNode.create("table",null,XNode.create("thead",null,XNode.create("tr",null,XNode.create("th",{colSpan:8},"Text Color"))),XNode.create("thead",null,XNode.create("tr",null,...gray.map(TextColor))),XNode.create("thead",null,XNode.create("tr",null,...primary.map(TextColor))),XNode.create("tbody",null,...all.map((row=>XNode.create("tr",null,...row.map(TextColor)))))),XNode.create("table",{class:"background-color"},XNode.create("thead",null,XNode.create("tr",null,XNode.create("th",{colSpan:8},"Background Color"))),XNode.create("thead",null,XNode.create("tr",null,...gray.map(BackgroundColor))),XNode.create("thead",null,XNode.create("tr",null,...primary.map(BackgroundColor))),XNode.create("tbody",null,...all.map((row=>XNode.create("tr",null,...row.map(BackgroundColor))))))))}_export("default",ChangeColor);return{setters:[function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_basicPopupButton){PopupButton=_basicPopupButton.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){gray=["rgb(0,0,0)","rgb(68,68,68)","rgb(102,102,102)","rgb(153,153,153)","rgb(204,204,204)","rgb(238,238,238)","rgb(243,243,243)","rgb(255,255,255)"];primary=["rgb(255,0,0)","rgb(255,153,0)","rgb(255,255,0)","rgb(0,255,0)","rgb(0,255,255)","rgb(0,0,255)","rgb(153,0,255)","rgb(255,0,255)"];all=[["rgb(244,204,204)","rgb(252,229,205)","rgb(255,242,204)","rgb(217,234,211)","rgb(208,224,227)","rgb(207,226,243)","rgb(217,210,233)","rgb(234,209,220)"],["rgb(234,153,153)","rgb(249,203,156)","rgb(255,229,153)","rgb(182,215,168)","rgb(162,196,201)","rgb(159,197,232)","rgb(180,167,214)","rgb(213,166,189)"],["rgb(224,102,102)","rgb(246,178,107)","rgb(255,217,102)","rgb(147,196,125)","rgb(118,165,175)","rgb(111,168,220)","rgb(142,124,195)","rgb(194,123,160)"],["rgb(204,0,0)","rgb(230,145,56)","rgb(241,194,50)","rgb(106,168,79)","rgb(69,129,142)","rgb(61,133,198)","rgb(103,78,167)","rgb(166,77,121)"],["rgb(153,0,0)","rgb(180,95,6)","rgb(191,144,0)","rgb(56,118,29)","rgb(19,79,92)","rgb(11,83,148)","rgb(53,28,117)","rgb(116,27,71)"],["rgb(102,0,0)","rgb(120,63,4)","rgb(127,96,0)","rgb(39,78,19)","rgb(12,52,61)","rgb(7,55,99)","rgb(32,18,77)","rgb(76,17,48)"]];colorSelectorCss=styled.css`
|
|
1287
|
+
|
|
1288
|
+
width: 400px;
|
|
1289
|
+
display: flex;
|
|
1290
|
+
justify-content: space-evenly;
|
|
1291
|
+
|
|
1292
|
+
& > table {
|
|
1293
|
+
display: inline-table;
|
|
1294
|
+
}
|
|
1295
|
+
|
|
1296
|
+
& .color-button {
|
|
1297
|
+
display: inline-block;
|
|
1298
|
+
width: 20px;
|
|
1299
|
+
height: 20px;
|
|
1300
|
+
border-width: 1px;
|
|
1301
|
+
margin: 1px;
|
|
1302
|
+
cursor: pointer;
|
|
1303
|
+
border-style: solid;
|
|
1304
|
+
border-color: transparent;
|
|
1305
|
+
&:hover {
|
|
1306
|
+
border-color: black;
|
|
1307
|
+
}
|
|
1308
|
+
}
|
|
1309
|
+
`.installLocal()}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/ChangeColor");System.register(["@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","../../basic/PopupButton","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var Bind,XNode,PopupButton,MenuItem,styled,fontMenuCSS,fonts;function FontMenu({name,value}){const cssName=value.join(" ");return XNode.create("div",{class:"menu",eventClick:Bind.event((e=>e.executeCommand("fontName",false,cssName)))},XNode.create("i",{class:Bind.oneWay((e=>({"ri-check-line":1,selected:e.getStyle("fontFamily",e.version).toLowerCase().indexOf(value[0].toLowerCase())!==-1})))}),XNode.create("label",{styleFontFamily:name},name))}function selectFont(name){if(name===null||name===void 0){return"Font"}for(const[display,value]of fonts){for(const iterator of value){if(name.indexOf(iterator)!==-1){return display}}}return"Font"}function ChangeFont(){return XNode.create(PopupButton,{class:"command","data-layout":"toolbar-button",text:Bind.oneWay((e=>selectFont(e.getStyle("fontFamily",e.version)))),title:"Change Font"},XNode.create("div",{class:fontMenuCSS},...fonts.map((([name,value])=>XNode.create(MenuItem,{"style-font-family":name,icon:Bind.oneWay((e=>selectFont(e.getStyle("fontFamily",e.version)).toLowerCase().indexOf(value[0].toLowerCase())!==-1?"ri-check-line selected":"")),label:name,eventClick:Bind.event((e=>e.executeCommand("fontName",false,value.join(" "))))})))))}_export({FontMenu,default:ChangeFont});return{setters:[function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_basicPopupButton){PopupButton=_basicPopupButton.default;MenuItem=_basicPopupButton.MenuItem},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){fontMenuCSS=styled.css`
|
|
1310
|
+
padding: 5px;
|
|
1311
|
+
width: 170px;
|
|
1312
|
+
`.installLocal();fonts=[["Sans Serif",["arial","sans-serif"]],["Serif",[`"times new roman"`,"serif"]],["Fixed Width",["monospace"]],["Wide",[`"arial black"`,"sans-serif"]],["Narrow",[`"arial narrow"`,"sans-serif"]],["Comic Sans MS",[`"comic sans ms"`,"sans-serif"]],["Garamond",["garamond",`"times new roman"`,"serif"]],["Georgia",["georgia"]],["Tahoma",["tahoma"]],["Trebuchet MS",[`"trebuchet ms"`]],["Verdana",["verdana"]]]}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/ChangeFont");System.register(["@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","../../basic/PopupButton"],(function(_export,_context){"use strict";var Bind,XNode,PopupButton,MenuItem;function ChangeFontSize(cmd){return XNode.create(PopupButton,{class:"command","data-layout":"toolbar-button",icon:"ri-font-size-2",title:"Change Font Size"},XNode.create(MenuItem,{icon:"ri-add-line",label:"Increase",eventClick:Bind.event((e=>e.executeCommand("increaseFontSize")))}),XNode.create(MenuItem,{icon:"ri-subtract-line",label:"Decrease",eventClick:Bind.event((e=>e.executeCommand("decreaseFontSize")))}))}_export("default",ChangeFontSize);return{setters:[function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_basicPopupButton){PopupButton=_basicPopupButton.default;MenuItem=_basicPopupButton.MenuItem}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/ChangeFontSize");System.register(["./Command"],(function(_export,_context){"use strict";var Command;function NumberedList(cmd){return Command(Object.assign(Object.assign({icon:"ri-list-ordered",queryState:"insertOrderedList",title:"Create Numbered List"},cmd),{command(editor){editor.executeCommand("insertOrderedList")}}))}_export("default",NumberedList);return{setters:[function(_Command){Command=_Command.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/NumberedList");System.register(["./Command"],(function(_export,_context){"use strict";var Command;function UnorderedList(cmd){return Command(Object.assign(Object.assign({icon:"ri-list-unordered",queryState:"insertUnorderedList",title:"Create List"},cmd),{command(editor){editor.executeCommand("insertUnorderedList")}}))}_export("default",UnorderedList);return{setters:[function(_Command){Command=_Command.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/UnorderedList");System.register(["./Command"],(function(_export,_context){"use strict";var Command;function IndentLess(cmd){return Command(Object.assign(Object.assign({icon:"ri-indent-decrease",queryState:"outdent",title:"Indent Less"},cmd),{command(editor){editor.executeCommand("outdent")}}))}_export("default",IndentLess);return{setters:[function(_Command){Command=_Command.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/IndentLess");System.register(["./Command"],(function(_export,_context){"use strict";var Command;function IndentMore(cmd){return Command(Object.assign(Object.assign({icon:"ri-indent-increase",queryState:"indent",title:"Indent More"},cmd),{command(editor){editor.executeCommand("indent")}}))}_export("default",IndentMore);return{setters:[function(_Command){Command=_Command.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/IndentMore");System.register(["./AtomStyle"],(function(_export,_context){"use strict";var AtomStyle,AtomListBoxStyle;_export("AtomListBoxStyle",void 0);return{setters:[function(_AtomStyle){AtomStyle=_AtomStyle.AtomStyle}],execute:function(){_export("AtomListBoxStyle",AtomListBoxStyle=class AtomListBoxStyle extends AtomStyle{get root(){return{subclasses:{" .item":this.item," .selected-item":this.selectedItem}}}get theme(){return this.styleSheet}get item(){return{backgroundColor:this.theme.bgColor,color:this.theme.color,padding:(this.padding||this.theme.padding)+"px",borderRadius:(this.padding||this.theme.padding)+"px",cursor:"pointer"}}get selectedItem(){return Object.assign(Object.assign({},this.item),{backgroundColor:this.theme.selectedBgColor,color:this.theme.selectedColor,cursor:"pointer"})}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomListBoxStyle");System.register(["./AtomListBoxStyle"],(function(_export,_context){"use strict";var AtomListBoxStyle,AtomToggleButtonBarStyle;_export("AtomToggleButtonBarStyle",void 0);return{setters:[function(_AtomListBoxStyle){AtomListBoxStyle=_AtomListBoxStyle.AtomListBoxStyle}],execute:function(){_export("AtomToggleButtonBarStyle",AtomToggleButtonBarStyle=class AtomToggleButtonBarStyle extends AtomListBoxStyle{constructor(){super(...arguments);this.toggleColor="blue"}get root(){return Object.assign(Object.assign({},this.getBaseProperty(AtomToggleButtonBarStyle,"root")),{display:"inline-block",paddingInlineStart:0,margin:0})}get item(){return Object.assign(Object.assign({},this.getBaseProperty(AtomToggleButtonBarStyle,"item")),{borderRadius:0,display:"inline-block",border:"1px solid",borderLeft:"none",color:this.toggleColor,borderColor:this.toggleColor,cursor:"pointer",subclasses:{":first-child":{borderTopLeftRadius:`${this.padding||this.theme.padding}px`,borderBottomLeftRadius:`${this.padding||this.theme.padding}px`,borderTopRightRadius:0,borderBottomRightRadius:0,borderLeft:"1px solid"},":last-child":{borderTopLeftRadius:0,borderBottomLeftRadius:0,borderTopRightRadius:`${this.padding||this.theme.padding}px`,borderBottomRightRadius:`${this.padding||this.theme.padding}px`}}})}get selectedItem(){return Object.assign(Object.assign({},this.getBaseProperty(AtomToggleButtonBarStyle,"selectedItem")),{borderRadius:0,display:"inline-block",border:"1px solid",borderLeft:"none",borderColor:this.toggleColor,cursor:"pointer",subclasses:{":first-child":{borderTopLeftRadius:`${this.padding||this.theme.padding}px`,borderBottomLeftRadius:`${this.padding||this.theme.padding}px`,borderTopRightRadius:0,borderBottomRightRadius:0},":last-child":{borderTopLeftRadius:0,borderBottomLeftRadius:0,borderTopRightRadius:`${this.padding||this.theme.padding}px`,borderBottomRightRadius:`${this.padding||this.theme.padding}px`}}})}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomToggleButtonBarStyle");System.register([],(function(_export,_context){"use strict";var AtomEnumerator;_export("default",void 0);return{setters:[],execute:function(){_export("default",AtomEnumerator=class AtomEnumerator{constructor(items){this.items=items;this.index=-1}next(){this.index++;return this.index<this.items.length}get current(){return this.items[this.index]}get currentIndex(){return this.index}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomEnumerator");System.register(["../../core/AtomBinder","../../core/AtomEnumerator","../../core/AtomList","../../core/XNode","../../web/core/AtomUI","./AtomControl"],(function(_export,_context){"use strict";var AtomBinder,AtomEnumerator,XNode,AtomUI,ChildEnumerator,AtomControl,AtomItemsControl,AtomItemsControlItemTemplate;_export("AtomItemsControl",void 0);return{setters:[function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomEnumerator){AtomEnumerator=_coreAtomEnumerator.default},function(_coreAtomList){},function(_coreXNode){XNode=_coreXNode.default},function(_webCoreAtomUI){AtomUI=_webCoreAtomUI.AtomUI;ChildEnumerator=_webCoreAtomUI.ChildEnumerator},function(_AtomControl){AtomControl=_AtomControl.AtomControl}],execute:function(){_export("AtomItemsControl",AtomItemsControl=class AtomItemsControl extends AtomControl{constructor(){super(...arguments);this.mValue=undefined;this.mFilter=undefined;this.mFirstChild=null;this.mLastChild=null;this.mScrollerSetup=false;this.mScopes=null;this.mItemsDisposable=null;this.isUpdating=false}get itemsPresenter(){return this.mItemsPresenter||(this.mItemsPresenter=this.element)}set itemsPresenter(v){this.mItemsPresenter=v;AtomBinder.refreshValue(this,"itemsPresenter")}get value(){if(this.allowMultipleSelection){let items=this.mSelectedItems;if(items.length===0){if(this.mValue!==undefined){return this.mValue}return null}items=items.map((m=>m[this.valuePath]));if(this.valueSeparator){items=items.join(this.valueSeparator)}return items}let s=this.selectedItem;if(!s){if(this.mValue!==undefined){return this.mValue}return null}if(this.valuePath){s=s[this.valuePath]}return s}set value(v){this.mValue=v;const dataItems=this.items;if(!dataItems){return}const sItems=this.selectedItems;if(v===undefined||v===null){AtomBinder.clear(sItems);return}if(this.allowMultipleSelection&&this.valueSeparator){if(typeof v!=="string"){v=""+v}v=v.split(this.valueSeparator)}else{v=[v]}sItems.length=0;const vp=this.valuePath;for(const item of v){const dataItem=dataItems.find((i=>i[vp]==v));if(dataItem){sItems.push(dataItem)}}AtomBinder.refreshItems(sItems)}get items(){return this.mItems}set items(v){if(this.mItemsDisposable){this.mItemsDisposable.dispose();this.mItemsDisposable=null}this.mItems=v;if(v!=null){this.mItemsDisposable=this.registerDisposable(AtomBinder.add_CollectionChanged(v,((target,key,index,item)=>{this.onCollectionChangedInternal(key,index,item)})))}AtomBinder.refreshValue(this,"items")}get selectedItem(){if(this.selectedItems.length>0){return this.selectedItems[0]}return null}set selectedItem(value){if(value!==undefined&&value!==null){this.mSelectedItems.length=1;this.mSelectedItems[0]=value}else{this.mSelectedItems.length=0}AtomBinder.refreshItems(this.mSelectedItems)}get selectedItems(){return this.mSelectedItems||(this.selectedItems=[])}set selectedItems(v){if(this.mSelectedItemsWatcher){this.mSelectedItemsWatcher.dispose();this.mSelectedItemsWatcher=null}this.mSelectedItems=v;if(v){this.mSelectedItemsWatcher=this.registerDisposable(AtomBinder.add_CollectionChanged(v,((t,k,i,item)=>{this.onSelectedItemsChanged(k,i,item)})))}}get selectedIndex(){if(!this.mItems){return-1}const item=this.selectedItem;return this.mItems.indexOf(item)}set selectedIndex(n){if(!this.mItems){return}if(n<=-1||n>=this.mItems.length){this.selectedItem=null;return}this.selectedItem=this.mItems[n]}hasProperty(name){if(/^(items|itemsPresenter|value|valuePath|valueSeparator|label|labelPath|selectedItems|selectedItem|selectedIndex|uiVirtualize|viewModel|localViewModel|data)$/.test(name)){return true}return super.hasProperty(name)}dispose(e){this.items=null;this.selectedItems=null;super.dispose(e)}onPropertyChanged(name){switch(name){case"itemsPresenter":case"itemTemplate":case"labelPath":case"valuePath":case"items":case"filter":case"sort":if(this.mItems){this.invalidateItems()}break}}set selectAll(v){if(v===undefined||v===null){return}this.mSelectedItems.length=0;const items=this.mItems;if(v&&items){for(const itm of items){this.mSelectedItems.push(itm)}}this.mSelectAll=true;AtomBinder.refreshItems(this.mSelectedItems)}resetVirtualContainer(){const ip=this.itemsPresenter;if(ip){this.disposeChildren(ip)}this.mFirstChild=null;this.mLastChild=null;this.mScrollerSetup=false;this.mScopes=null;this.unbindEvent(this.mVirtualContainer,"scroll")}postVirtualCollectionChanged(){this.app.callLater((()=>{this.onVirtualCollectionChanged()}))}onVirtualCollectionChanged(){const ip=this.itemsPresenter;const items=this.items;if(!items.length){this.resetVirtualContainer();return}this.validateScroller();const fc=this.mFirstChild;const lc=this.mLastChild;const vc=this.mVirtualContainer;const vcHeight=AtomUI.innerHeight(vc);const vcScrollHeight=vc.scrollHeight;if(isNaN(vcHeight)||vcHeight<=0||vcScrollHeight<=0){setTimeout((()=>{this.onVirtualCollectionChanged()}),1e3);return}const vcWidth=AtomUI.innerWidth(vc);let avgHeight=this.mAvgHeight;let avgWidth=this.mAvgWidth;const itemsHeight=vc.scrollHeight-AtomUI.outerHeight(fc)-AtomUI.outerHeight(lc);const itemsWidth=AtomUI.innerWidth(ip);const element=this.element;let ce;let ae=new AtomEnumerator(items);if(this.mTraining){if(vcHeight>=itemsHeight){ce=lc.previousElementSibling;if(ce!==fc){const data=ce.atomControl.data;while(ae.next()){if(ae.current===data){break}}}if(ae.next()){const data=ae.current;const elementChild=this.createChild(null,data);ip.insertBefore(elementChild.element,lc);this.postVirtualCollectionChanged()}}else{let totalVisibleItems=0;ce=fc.nextElementSibling;let allHeight=0;let allWidth=0;while(ce!==lc){totalVisibleItems++;allHeight+=AtomUI.outerHeight(ce);allWidth+=AtomUI.outerWidth(ce);ce=ce.nextElementSibling}avgHeight=allHeight/totalVisibleItems;avgWidth=allWidth/totalVisibleItems;totalVisibleItems--;this.mAvgHeight=avgHeight;this.mAvgWidth=avgWidth;const columns=Math.floor(vcWidth/avgWidth);const allRows=Math.ceil(items.length/columns);const visibleRows=Math.ceil(totalVisibleItems/columns);console.log({avgWidth,avgHeight,totalVisibleItems,allRows,columns});this.mAllRows=allRows;this.mColumns=columns;this.mVisibleRows=visibleRows;this.mVisibleHeight=visibleRows*avgHeight;lc.style.height=(allRows-visibleRows+1)*avgHeight+"px";this.mTraining=false;this.mReady=true;this.postVirtualCollectionChanged()}return}const self=this;this.lastScrollTop=vc.scrollTop;if(this.mIsChanging){return}this.mIsChanging=true;const block=Math.floor(this.mVisibleHeight/avgHeight);const itemsInBlock=this.mVisibleRows*this.mColumns;const index=Math.floor(vc.scrollTop/this.mVisibleHeight);const itemIndex=index*itemsInBlock;if(itemIndex>=items.length){this.mIsChanging=false;return}const lastIndex=Math.min((Math.max(index,0)+3)*itemsInBlock-1,items.length-1);const firstIndex=Math.max(0,index*itemsInBlock);ce=fc.nextElementSibling;const firstItem=fc.nextElementSibling;const lastItem=lc.previousElementSibling;if(firstItem!==lastItem){const firstVisibleIndex=items.indexOf(firstItem.atomControl.data);const lastVisibleIndex=items.indexOf(lastItem.atomControl.data);console.log({firstVisibleIndex,firstIndex,lastVisibleIndex,lastIndex});if(firstIndex>=firstVisibleIndex&&lastIndex<=lastVisibleIndex){console.log("All items are visible...");this.mIsChanging=false;return}}const remove=[];const cache={};while(ce!==lc){const c=ce;ce=ce.nextElementSibling;const s=items.indexOf(c.atomControl.data);cache[s]=c;remove.push(c)}this.app.dispatcher.pause();ae=new AtomEnumerator(items);for(let i=0;i<firstIndex;i++){ae.next()}let after=fc;let last=null;const add=[];for(let i=firstIndex;i<=lastIndex;i++){if(!ae.next()){break}const index2=ae.currentIndex;const data=ae.current;let elementChild=cache[index2];if(elementChild&&element.atomControl.data===data){cache[index2]=null}else{elementChild=this.createChild(null,data).element}elementChild.before=after;add.push(elementChild);after=elementChild;last=index2}const h=(this.mAllRows-block*3)*avgHeight-index*this.mVisibleHeight;console.log("last child height = "+h);this.app.callLater((()=>{const oldHeight=AtomUI.outerHeight(fc);const newHeight=index*this.mVisibleHeight;const diff=newHeight-oldHeight;const oldScrollTop=vc.scrollTop;const a=new AtomEnumerator(add);while(a.next()){const ec=a.current;ip.insertBefore(ec,ec.before.nextElementSibling);ec.before=null}fc.style.height=newHeight+"px";for(const iterator of remove){if(!iterator.before){iterator.atomControl.dispose()}iterator.remove()}lc.style.height=h+"px";console.log(`Old: ${oldScrollTop} Diff: ${diff} Old Height: ${oldHeight} Height: ${newHeight}`);this.mIsChanging=false}));this.app.dispatcher.start();AtomBinder.refreshValue(this,"childAtomControls")}isSelected(item){let selectedItem=null;for(const iterator of this.mSelectedItems){selectedItem=iterator;if(selectedItem===item){return true}}return false}bringIntoView(data){this.app.callLater((()=>{for(let item of ChildEnumerator.enumerate(this.itemsPresenter||this.element)){const dataItem=item.atomControl?item.atomControl.data:item;if(dataItem===data){item.scrollIntoView();return}}}))}bringSelectionIntoView(){if(this.uiVirtualize){const index=this.selectedIndex;if(!this.mReady){setTimeout((()=>{this.bringSelectionIntoView()}),1e3);return}const avgHeight=this.mAvgHeight;const vcHeight=AtomUI.innerHeight(this.mVirtualContainer);const block=Math.ceil(vcHeight/avgHeight);const itemsInBlock=block*this.mColumns;const scrollTop=Math.floor(index/itemsInBlock);AtomUI.scrollTop(this.mVirtualContainer,scrollTop*vcHeight);return}for(let item of ChildEnumerator.enumerate(this.itemsPresenter||this.element)){const dataItem=item.atomControl?item.atomControl.data:item;if(this.isSelected(dataItem)){setTimeout((()=>{item.scrollIntoView()}),1e3);return}}}updateSelectionBindings(){this.version=this.version+1;if(this.mSelectedItems&&this.mSelectedItems.length){this.mValue=undefined}AtomBinder.refreshValue(this,"value");AtomBinder.refreshValue(this,"selectedItem");AtomBinder.refreshValue(this,"selectedItems");AtomBinder.refreshValue(this,"selectedIndex");if(!this.mSelectedItems.length){if(this.mSelectAll===true){this.mSelectAll=false;AtomBinder.refreshValue(this,"selectAll")}}}onSelectedItemsChanged(type,index,item){if(!this.mOnUIChanged){if(this.autoScrollToSelection){this.bringSelectionIntoView()}}this.updateSelectionBindings()}hasItems(){return this.mItems!==undefined&&this.mItems!==null}invalidateItems(){if(this.pendingInits||this.isUpdating){setTimeout((()=>{this.invalidateItems()}),5);return}if(this.itemsInvalidated){clearTimeout(this.itemsInvalidated);this.itemsInvalidated=0}this.itemsInvalidated=setTimeout((()=>{this.itemsInvalidated=0;this.onCollectionChangedInternal("refresh",-1,null)}),5)}onCollectionChanged(key,index,item){if(!this.mItems){return}if(!this.itemTemplate){return}if(!this.itemsPresenter){this.itemsPresenter=this.element}this.version=this.version+1;if(/reset|refresh/i.test(key)){this.resetVirtualContainer()}if(/remove/gi.test(key)){const ip=this.itemsPresenter||this.element;for(let ce of ChildEnumerator.enumerate(ip)){const c=ce;if(c.atomControl&&c.atomControl.data===item){c.atomControl.dispose();ce.remove();break}}return}if(this.uiVirtualize){this.onVirtualCollectionChanged();return}const parentScope=undefined;let items=this.mFilter?this.mItems.filter(this.mFilter):this.mItems;let s=this.sort;if(s){if(typeof s==="string"){const sp=s;s=(l,r)=>{const lv=(l[sp]||"").toString();const rv=(r[sp]||"").toString();return lv.toLowerCase().localeCompare(rv.toLowerCase())}}items=items.sort(s)}if(/add/gi.test(key)){const lastItem=items[index];let last=this.itemsPresenter.children.item(index);const df2=document.createDocumentFragment();this.createChild(df2,lastItem);if(last){this.itemsPresenter.insertBefore(df2,last)}else{this.itemsPresenter.appendChild(df2)}return}const element=this.itemsPresenter;this.disposeChildren(this.itemsPresenter);const added=[];const ip=this.itemsPresenter||this.element;for(const mItem of items){const data=mItem;const ac=this.createChild(null,data);ip.appendChild(ac.element)}}preCreate(){this.mAllowSelectFirst=false;this.allowMultipleSelection=false;this.valuePath="value";this.labelPath="label";this.version=1;this.autoScrollToSelection=false;this.sort=null;this.valueSeparator=", ";this.uiVirtualize=false;this.mSelectAll=false;this.mItems=null;this.selectedItems=[];this.itemTemplate=AtomItemsControlItemTemplate;super.preCreate()}onCollectionChangedInternal(key,index,item){const value=this.value;try{this.isUpdating=true;this.onCollectionChanged(key,index,item);if(value){if(!(value||this.mAllowSelectFirst)){AtomBinder.clear(this.mSelectedItems)}}if(value!=null){this.value=value;if(this.selectedIndex!==-1){return}else{this.mValue=undefined}}}finally{this.app.callLater((()=>{this.isUpdating=false}))}}set allowSelectFirst(b){b=b?b!=="false":b;this.mAllowSelectFirst=b}set filter(f){if(f===this.mFilter){return}this.mFilter=f;AtomBinder.refreshValue(this,"filter")}onScroll(){if(this.scrollTimeout){clearTimeout(this.scrollTimeout)}this.scrollTimeout=setTimeout((()=>{this.scrollTimeout=0;this.onVirtualCollectionChanged()}),10)}toggleSelection(data){this.mOnUIChanged=true;this.mValue=undefined;if(this.allowMultipleSelection){if(this.mSelectedItems.indexOf(data)!==-1){AtomBinder.removeItem(this.mSelectedItems,data)}else{AtomBinder.addItem(this.mSelectedItems,data)}}else{this.mSelectedItems.length=1;this.mSelectedItems[0]=data;AtomBinder.refreshItems(this.mSelectedItems)}this.mOnUIChanged=false}validateScroller(){if(this.mScrollerSetup){return}const ip=this.itemsPresenter;const e=this.element;let vc=this.mVirtualContainer;if(!vc){if(ip===e&&!/table/i.test(e.nodeName)){throw new Error("virtualContainer presenter not found,"+"you must put itemsPresenter inside a virtualContainer in order for Virtualization to work")}else{vc=this.mVirtualContainer=this.element}}vc.style.overflow="auto";this.bindEvent(vc,"scroll",(()=>{this.onScroll()}));ip.style.overflow="hidden";const isTable=/tbody/i.test(ip.nodeName);let fc;let lc;if(isTable){fc=document.createElement("TR");lc=document.createElement("TR")}else{fc=document.createElement("DIV");lc=document.createElement("DIV")}fc.classList.add("sticky");fc.classList.add("first-child");lc.classList.add("sticky");lc.classList.add("last-child");fc.style.position="relative";fc.style.height="0";fc.style.width="100%";fc.style.clear="both";lc.style.position="relative";lc.style.height="0";lc.style.width="100%";lc.style.clear="both";this.mFirstChild=fc;this.mLastChild=lc;ip.appendChild(fc);ip.appendChild(lc);this.mTraining=true;this.mScrollerSetup=true}createChild(df,data){const t=this.itemTemplate;const ac=this.app.resolve(t,true);const e=ac.element;e._logicalParent=this.element;e._templateParent=this;if(df){df.appendChild(ac.element)}ac.data=data;this.element.dispatchEvent(new CustomEvent("item-created",{bubbles:false,cancelable:false,detail:data}));return ac}disposeChildren(e){for(let iterator of ChildEnumerator.enumerate(e)){const ac=iterator.atomControl;if(ac){ac.dispose()}}e.innerHTML=""}});AtomItemsControl.itemTemplate=XNode.prepare("itemTemplate",true,true);AtomItemsControlItemTemplate=class AtomItemsControlItemTemplate extends AtomControl{create(){this.runAfterInit((()=>{const tp=this.element._templateParent;this.element.textContent=this.data[tp.valuePath]}))}}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomItemsControl");System.register(["../styles/AtomListBoxStyle","./AtomItemsControl"],(function(_export,_context){"use strict";var AtomListBoxStyle,AtomItemsControl,AtomListBox;_export("AtomListBox",void 0);return{setters:[function(_stylesAtomListBoxStyle){AtomListBoxStyle=_stylesAtomListBoxStyle.AtomListBoxStyle},function(_AtomItemsControl){AtomItemsControl=_AtomItemsControl.AtomItemsControl}],execute:function(){_export("AtomListBox",AtomListBox=class AtomListBox extends AtomItemsControl{preCreate(){this.selectItemOnClick=true;super.preCreate();this.defaultControlStyle=AtomListBoxStyle;this.registerItemClick();this.runAfterInit((()=>this.setElementClass(this.element,{[this.controlStyle.name]:1,"atom-list-box":1})))}registerItemClick(){this.bindEvent(this.element,"click",(e=>{const p=this.atomParent(e.target);if(p===this){return}if(p.element._logicalParent===this.element){const data=p.data;if(!data){return}if(this.selectItemOnClick){this.toggleSelection(data);const ce=new CustomEvent("selectionChanged",{bubbles:false,cancelable:false,detail:data});this.element.dispatchEvent(ce)}}}))}createChild(df,data){const child=super.createChild(df,data);child.bind(child.element,"styleClass",[["this","version"],["data"],["this","selectedItems"]],false,((version,itemData,selectedItems)=>({"list-item":true,item:true,"selected-item":selectedItems&&selectedItems.find((x=>x===itemData)),"selected-list-item":selectedItems&&selectedItems.find((x=>x===itemData))})),this);return child}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomListBox");System.register(["../styles/AtomToggleButtonBarStyle","./AtomControl","./AtomListBox"],(function(_export,_context){"use strict";var AtomToggleButtonBarStyle,AtomControl,AtomListBox,AtomToggleButtonBar,AtomToggleButtonBarItemTemplate;_export("AtomToggleButtonBar",void 0);return{setters:[function(_stylesAtomToggleButtonBarStyle){AtomToggleButtonBarStyle=_stylesAtomToggleButtonBarStyle.AtomToggleButtonBarStyle},function(_AtomControl){AtomControl=_AtomControl.AtomControl},function(_AtomListBox){AtomListBox=_AtomListBox.AtomListBox}],execute:function(){_export("AtomToggleButtonBar",AtomToggleButtonBar=class AtomToggleButtonBar extends AtomListBox{constructor(app,e){super(app,e||document.createElement("ul"))}preCreate(){super.preCreate();this.allowMultipleSelection=false;this.allowSelectFirst=true;this.itemTemplate=AtomToggleButtonBarItemTemplate;this.defaultControlStyle=AtomToggleButtonBarStyle;this.registerItemClick();this.runAfterInit((()=>this.setElementClass(this.element,{[this.controlStyle.name]:1,"atom-toggle-button-bar":1},true)))}});AtomToggleButtonBarItemTemplate=class AtomToggleButtonBarItemTemplate extends AtomControl{constructor(app,e){super(app,e||document.createElement("li"))}create(){this.bind(this.element,"text",[["data"]],false,(v=>{const p=this.parent;return v[p.labelPath]}))}}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomToggleButtonBar");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomToggleButtonBar","@web-atoms/core/dist/web/services/PopupService","../../basic/FormField","./CommandButton","./HtmlCommands","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomToggleButtonBar,PopupService,PopupWindow,FormField,CommandButton,HtmlCommands,styled,LinkDialog,linkTypes,linkDialogCss;function showDialog(s,e){return PopupService.showWindow(s.element,LinkDialog)}function AddLink({insertCommand=HtmlCommands.createLink}){return CommandButton({icon:"ri-link-m",insertCommand,disabled:false,eventInsertHtml:showDialog,title:"Create Hyper Link"})}_export("default",AddLink);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomToggleButtonBar){AtomToggleButtonBar=_webAtomsCoreDistWebControlsAtomToggleButtonBar.AtomToggleButtonBar},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default;PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_basicFormField){FormField=_basicFormField.default},function(_CommandButton){CommandButton=_CommandButton.default},function(_HtmlCommands){HtmlCommands=_HtmlCommands.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){linkTypes=[{label:"Web Page",value:"web-page"},{label:"Email",value:"email"},{label:"Anchor",value:"anchor"},{label:"Phone",value:"phone"}];linkDialogCss=styled.css`
|
|
1313
|
+
display: flex;
|
|
1314
|
+
flex-direction: column;
|
|
1315
|
+
gap: 5px;
|
|
1316
|
+
`.installLocal();LinkDialog=class LinkDialog extends PopupWindow{create(){this.type="web-page";this.title="Create Link";this.render(XNode.create("div",{class:linkDialogCss},XNode.create(FormField,{label:"Type"},XNode.create(AtomToggleButtonBar,{items:linkTypes,value:Bind.twoWays((()=>this.type))})),XNode.create(FormField,{label:"Link",required:true},XNode.create("input",{placeholder:"https://...",value:Bind.twoWaysImmediate((()=>this.link))})),XNode.create("div",{class:"command-bar"},XNode.create("button",{text:"Add",eventClick:Bind.event((()=>this.close(this.toLink(this.link))))}))))}toLink(link){switch(this.type){case"web-page":return/^(http|https)\:\/\//.test(link)?link:`http://${link}`}}};__decorate([BindableProperty,__metadata("design:type",String)],LinkDialog.prototype,"link",void 0);__decorate([BindableProperty,__metadata("design:type",String)],LinkDialog.prototype,"type",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/AddLink");System.register(["./CommandButton","./HtmlCommands"],(function(_export,_context){"use strict";var CommandButton,HtmlCommands;function Unlink({insertCommand=HtmlCommands.unlink}){return CommandButton({icon:"ri-link-unlink-m",insertCommand,eventInsertHtml:()=>"",title:"Remove Hyperlink"})}_export("default",Unlink);return{setters:[function(_CommandButton){CommandButton=_CommandButton.default},function(_HtmlCommands){HtmlCommands=_HtmlCommands.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/Unlink");System.register(["./Command"],(function(_export,_context){"use strict";var Command;function RemoveFormat(cmd){return Command(Object.assign(Object.assign({icon:"ri-format-clear",queryState:"removeFormat",title:"Clear Formatting"},cmd),{command(editor){editor.executeCommand("removeFormat")}}))}_export("default",RemoveFormat);return{setters:[function(_Command){Command=_Command.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/RemoveFormat");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/services/PopupService","./CommandButton","./HtmlCommands","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,BindableProperty,XNode,PopupService,PopupWindow,CommandButton,HtmlCommands,styled,css;function showDialog(s,e){return __awaiter(this,void 0,void 0,(function*(){class SourceDialog extends PopupWindow{create(){this.source=s.htmlContent;this.render(XNode.create("div",{class:css},XNode.create("textarea",{value:Bind.twoWaysImmediate((()=>this.source))}),XNode.create("div",{class:"command-bar"},XNode.create("button",{eventClick:Bind.event((()=>this.close(this.source))),text:"Save"}))))}}__decorate([BindableProperty,__metadata("design:type",String)],SourceDialog.prototype,"source",void 0);const result=yield PopupService.showWindow(s.element,SourceDialog);s.htmlContent=result;return null}))}function Source({insertCommand=HtmlCommands.enabled}){return CommandButton({icon:"ri-edit-box-fill",insertCommand,eventInsertHtml:showDialog,title:"Edit Source Code"})}_export("default",Source);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default;PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_CommandButton){CommandButton=_CommandButton.default},function(_HtmlCommands){HtmlCommands=_HtmlCommands.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){css=styled.css`
|
|
1317
|
+
& > textarea {
|
|
1318
|
+
min-height: 500px;
|
|
1319
|
+
min-width: 700px;
|
|
1320
|
+
}
|
|
1321
|
+
`.installLocal()}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/Source");System.register(["tslib","@web-atoms/core/dist/App","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/services/PopupService"],(function(_export,_context){"use strict";var __rest,App,Command,StringHelper,AtomControl,PopupService,UploadEvent,acceptCache,isFileType,previousFile,uploadCommand,id;_export("default",void 0);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistApp){App=_webAtomsCoreDistApp.App},function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default}],execute:function(){acceptCache={};_export("isFileType",isFileType=acceptType=>{var _a;function isFileTypeFactory(accept){if(!accept||accept==="*/*"){return()=>true}const types=accept.split(/\,/g).map((x=>{x=x.trim();if(x.startsWith(".")){return file=>file.name.endsWith(x)}if(x.endsWith("/*")){const prefix=x.substring(0,x.length-1);return file=>file.type.startsWith(prefix)}return file=>file.type===x}));return file=>{for(const iterator of types){if(iterator(file)){return true}}return false}}return(_a=acceptCache[acceptType])!==null&&_a!==void 0?_a:acceptCache[acceptType]=isFileTypeFactory(acceptType)});uploadCommand=Command.create({name:"upload-command"});window.addEventListener(uploadCommand.eventName,(ce=>{if(ce.defaultPrevented){return}const element=ce.target;const authorize=element.getAttribute("data-authorize");if(authorize==="true"){if(!App.authorize()){return}}const multiple=element.getAttribute("data-multiple")==="true";const extra=element.extra;const upload=element.getAttribute("data-upload")==="true";const uploadEvent=StringHelper.fromHyphenToCamel(element.getAttribute("data-upload-event"));const chain=[];let start=element;while(start){chain.push(start);start=start.parentElement}previousFile===null||previousFile===void 0?void 0:previousFile.remove();const file=document.createElement("input");file.type="file";file.multiple=multiple;const accept=element.getAttribute("data-accept")||"*/*";file.accept=accept;const capture=element.getAttribute("data-capture");if(capture){file.capture=capture}file.style.position="absolute";file.style.left="-1000px";file.style.top="-1000px";document.body.append(file);previousFile=file;const maxSize=parseInt(element.getAttribute("data-max-size")||"0",10);const forceType=element.getAttribute("data-force-type")==="true";file.addEventListener("change",(()=>{let files=Array.from(file.files);let msg="";if(forceType||maxSize){const validated=[];const checkFileType=isFileType(accept);for(const iterator of files){if(maxSize&&iterator.size>maxSize){msg+=`Size of ${iterator.name} is more than ${maxSize}`;continue}if(forceType){if(!checkFileType(iterator)){msg+=`${iterator.name} is invalid file.`;continue}}validated.push(iterator)}files=validated}file.remove();previousFile=null;chain.reverse();while(chain.length){const root=chain.pop();if(root.isConnected){const control=AtomControl.from(root);if(msg){control.app.runAsync((()=>PopupService.alert({message:msg})));if(files.length===0){return}}if(upload){const doUploadEvent=new CustomEvent("uploadRequested",{detail:{files,extra,uploadEvent},bubbles:true,cancelable:true});root.dispatchEvent(doUploadEvent);if(doUploadEvent.defaultPrevented){return}}root.dispatchEvent(new CustomEvent(uploadEvent,{detail:{files,extra},bubbles:true}));break}}}));setTimeout((()=>{file.dispatchEvent(new MouseEvent("click"))}))}));id=1;_export("default",UploadEvent=class UploadEvent{static AttachUploadAction(_a){var{uploadEvent="filesAvailable",accept="*/*",capture,multiple=false,forceType=true,maxSize=524288e3,extra,upload=true,authorize=true,ariaLabel="Upload"}=_a,others=__rest(_a,["uploadEvent","accept","capture","multiple","forceType","maxSize","extra","upload","authorize","ariaLabel"]);return Object.assign(Object.assign({},others),{"data-click-command":uploadCommand.name,"data-upload-event":uploadEvent,"data-accept":accept,"data-multiple":multiple?"true":"false","data-capture":capture,"data-upload":upload?"true":"false","data-force-type":forceType?"true":"false","data-max-size":maxSize?maxSize.toString():undefined,"data-authorize":authorize.toString(),"aria-label":ariaLabel,extra})}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/UploadEvent");System.register(["tslib","@web-atoms/core/dist/App","@web-atoms/core/dist/core/types","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/web/services/PopupService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,App,CancelToken,DISingleton,Inject,styled,PopupWindow,InjectProperty,XNode,AtomRepeater,Bind,PopupService,FileUploadWindow,acceptDocumentAndMedia,LocalFileService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistApp){App=_webAtomsCoreDistApp.App},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebServicesPopupWindow){PopupWindow=_webAtomsCoreDistWebServicesPopupWindow.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default}],execute:function(){_export("acceptDocumentAndMedia",acceptDocumentAndMedia=".doc, .docx, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, video/*, application/pdf, .pdf, .txt, audio/*, image/*, .csv, text/csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, text/plain, text/html");styled.css`
|
|
1142
1322
|
display: inline-grid;
|
|
1143
1323
|
grid-template-rows: auto auto;
|
|
1144
1324
|
grid-template-columns: auto 1fr auto;
|
|
@@ -1166,7 +1346,154 @@ body {
|
|
|
1166
1346
|
grid-row: 1;
|
|
1167
1347
|
grid-column: 3;
|
|
1168
1348
|
}
|
|
1169
|
-
`.installGlobal("[data-attachment-file]");LocalFileService=class LocalFileService{constructor(){document.body.addEventListener("uploadRequested",(ce=>{const{target,detail:{files,extra,uploadEvent}}=ce;ce.preventDefault();this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const detail=yield FileUploadWindow.showModal({parameters:{files,extra}});target.dispatchEvent(new CustomEvent(uploadEvent,{detail,bubbles:true}))}))))}))}uploadWithProgress(files){return __awaiter(this,void 0,void 0,(function*(){const detail=yield FileUploadWindow.showModal({parameters:{files,extra:""}});return detail.files}))}upload(files){return __awaiter(this,void 0,void 0,(function*(){return files.map((file=>{const uploadFile={name:file.name};uploadFile.promise=new Promise(((resolve,reject)=>{const body=new FormData;body.append(file.name,file,file.name);const xhr=new XMLHttpRequest;const onError=()=>{reject(new Error(xhr.responseText||"Error"))};xhr.upload.addEventListener("progress",(event=>{if(event.lengthComputable){uploadFile.progress=event.loaded/event.total}}));xhr.upload.addEventListener("timeout",onError);xhr.upload.addEventListener("error",onError);xhr.upload.addEventListener("abort",onError);xhr.addEventListener("timeout",onError);xhr.addEventListener("abort",onError);xhr.addEventListener("error",onError);xhr.upload.addEventListener("progress",(event=>{if(event.lengthComputable){uploadFile.progress=event.loaded/event.total}}));xhr.addEventListener("load",(()=>{if(xhr.status<=300){const r=Object.assign(Object.assign({},JSON.parse(xhr.responseText)),{file});resolve(r)}}));xhr.open("POST","/api/upload",true);xhr.send(body)}));return uploadFile}))}))}};__decorate([Inject,__metadata("design:type",App)],LocalFileService.prototype,"app",void 0);LocalFileService=__decorate([DISingleton(),__metadata("design:paramtypes",[])],LocalFileService);_export("default",LocalFileService);FileUploadWindow=class FileUploadWindow extends PopupWindow{constructor(){super(...arguments);this.parameters={}}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Uploading...";this.closeWarning="Are you sure you want to cancel the upload?";this.bindEvent(window,"backButton",(e=>__awaiter(this,void 0,void 0,(function*(){var _a;e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e);e.stopPropagation();yield this.requestCancel()}))),null,{capture:true});this.files=yield this.localFileService.upload(this.parameters.files);this.render(XNode.create("div",null,XNode.create(AtomRepeater,{items:this.files,itemRenderer:file=>XNode.create("div",{"data-attachment-file":"file"},XNode.create("div",{"data-element":"file-name",text:file.name}),XNode.create("progress",{min:0,max:100,value:Bind.source(file,(x=>x.source.progress))}))})));try{const ct=new CancelToken;this.registerDisposable({dispose:()=>{ct.cancel()}});const tasks=this.files.map((x=>x.promise));const files=yield Promise.all(tasks);const extra=this.parameters.extra;this.close({files,extra})}catch(error){if(CancelToken.isCancelled(error)){this.cancel(error);return}yield PopupService.alert({message:error});this.cancel(error)}}))}};__decorate([InjectProperty,__metadata("design:type",LocalFileService)],FileUploadWindow.prototype,"localFileService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/files/LocalFileService");System.register(["@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var XNode,ModuleInfo;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){_export("ModuleInfo",ModuleInfo=typeof moduleInfo==="undefined"?[]:[XNode.create("div",{title:`${moduleInfo.server.package}@${moduleInfo.server.version}`},moduleInfo.server.version),XNode.create("div",{title:`${moduleInfo.ui.package}@${moduleInfo.ui.version}`},moduleInfo.ui.version)])}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/ModuleInfo");System.register(["tslib","@web-atoms/core/dist/Pack","@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp","../style/GlobalStyle","../services/UserService","@web-atoms/core/dist/core/InjectProperty","./commands/AdminCommands","@web-atoms/web-controls/dist/PageNavigator","../common/pages/user/LoginPage","./drawer/AdminDrawer","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/Route","../services/files/LocalFileService","@web-atoms/core/dist/core/XNode","../common/controls/ModuleInfo"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Pack,MobileDesktopApp,UserService,InjectProperty,AdminCommands,PageNavigator,LoginPage,AdminDrawer,Command,Route,LocalFileService,XNode,ModuleInfo,AdminAppIndex;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistPack){Pack=_webAtomsCoreDistPack.default},function(_webAtomsWebControlsDistDesktopAppMobileDesktopApp){MobileDesktopApp=_webAtomsWebControlsDistDesktopAppMobileDesktopApp.default},function(_styleGlobalStyle){},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_commandsAdminCommands){AdminCommands=_commandsAdminCommands.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_commonPagesUserLoginPage){LoginPage=_commonPagesUserLoginPage.default},function(_drawerAdminDrawer){AdminDrawer=_drawerAdminDrawer.default},function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default},function(_webAtomsCoreDistCoreRoute){Route=_webAtomsCoreDistCoreRoute.default},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonControlsModuleInfo){ModuleInfo=_commonControlsModuleInfo.ModuleInfo}],execute:function(){AdminAppIndex=class AdminAppIndex extends MobileDesktopApp{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){AdminCommands.install(this);this.resolve(LocalFileService);const user=yield this.userService.getUser();if(!user||!((_a=user.roles)===null||_a===void 0?void 0:_a.some((r=>r.roleName==="Administrator")))){PageNavigator.openPage(LoginPage);return}this.drawerMenu=AdminDrawer;if(!Command.invokeRoute()){AdminCommands.openHome.dispatch()}if(this.desktopApp){this.desktopApp.statusBarRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{"data-flex":"stretch-full"}),...ModuleInfo)}}))}};__decorate([InjectProperty,__metadata("design:type",UserService)],AdminAppIndex.prototype,"userService",void 0);AdminAppIndex=__decorate([Pack],AdminAppIndex);_export("default",AdminAppIndex);Route.encodeUrl=url=>{if(url.startsWith("#")){return url}if(/\d+\./.test(location.hostname)){return"#!"+url}return url}}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/AdminAppIndex");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/core/AtomOnce");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/styles/StyleBuilder");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 popup}});__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/web/services/WebBusyIndicatorService");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/Atom");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/core/FormattedError");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/baseTypes");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/AtomViewModel");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/view-model/AtomWindowViewModel");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/AtomWindowStyle");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/styles/AtomAlertWindowStyle");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/AtomTemplate");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/AtomWindow");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/controls/AtomAlertWindow");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/styles/AtomNotificationStyle");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/controls/AtomNotification");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/styles/AtomPopupStyle");System.register(["../../core/XNode","../../style/styled","./PopupService"],(function(_export,_context){"use strict";var XNode,styled,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(_styleStyled){styled=_styleStyled.default},function(_PopupService){PopupWindow=_PopupService.PopupWindow}],execute:function(){css=styled.css`
|
|
1349
|
+
`.installGlobal("[data-attachment-file]");LocalFileService=class LocalFileService{constructor(){document.body.addEventListener("uploadRequested",(ce=>{const{target,detail:{files,extra,uploadEvent}}=ce;ce.preventDefault();this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const detail=yield FileUploadWindow.showModal({parameters:{files,extra}});target.dispatchEvent(new CustomEvent(uploadEvent,{detail,bubbles:true}))}))))}))}uploadWithProgress(files){return __awaiter(this,void 0,void 0,(function*(){const detail=yield FileUploadWindow.showModal({parameters:{files,extra:""}});return detail.files}))}upload(files){return __awaiter(this,void 0,void 0,(function*(){return files.map((file=>{const uploadFile={name:file.name};uploadFile.promise=new Promise(((resolve,reject)=>{const body=new FormData;body.append(file.name,file,file.name);const xhr=new XMLHttpRequest;const onError=()=>{reject(new Error(xhr.responseText||"Error"))};xhr.upload.addEventListener("progress",(event=>{if(event.lengthComputable){uploadFile.progress=event.loaded/event.total}}));xhr.upload.addEventListener("timeout",onError);xhr.upload.addEventListener("error",onError);xhr.upload.addEventListener("abort",onError);xhr.addEventListener("timeout",onError);xhr.addEventListener("abort",onError);xhr.addEventListener("error",onError);xhr.upload.addEventListener("progress",(event=>{if(event.lengthComputable){uploadFile.progress=event.loaded/event.total}}));xhr.addEventListener("load",(()=>{if(xhr.status<=300){const r=Object.assign(Object.assign({},JSON.parse(xhr.responseText)),{file});resolve(r)}}));xhr.open("POST","/api/upload",true);xhr.send(body)}));return uploadFile}))}))}};__decorate([Inject,__metadata("design:type",App)],LocalFileService.prototype,"app",void 0);LocalFileService=__decorate([DISingleton(),__metadata("design:paramtypes",[])],LocalFileService);_export("default",LocalFileService);FileUploadWindow=class FileUploadWindow extends PopupWindow{constructor(){super(...arguments);this.parameters={}}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Uploading...";this.closeWarning="Are you sure you want to cancel the upload?";this.bindEvent(window,"backButton",(e=>__awaiter(this,void 0,void 0,(function*(){var _a;e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e);e.stopPropagation();yield this.requestCancel()}))),null,{capture:true});this.files=yield this.localFileService.upload(this.parameters.files);this.render(XNode.create("div",null,XNode.create(AtomRepeater,{items:this.files,itemRenderer:file=>XNode.create("div",{"data-attachment-file":"file"},XNode.create("div",{"data-element":"file-name",text:file.name}),XNode.create("progress",{min:0,max:100,value:Bind.source(file,(x=>x.source.progress))}))})));try{const ct=new CancelToken;this.registerDisposable({dispose:()=>{ct.cancel()}});const tasks=this.files.map((x=>x.promise));const files=yield Promise.all(tasks);const extra=this.parameters.extra;this.close({files,extra})}catch(error){if(CancelToken.isCancelled(error)){this.cancel(error);return}yield PopupService.alert({message:error});this.cancel(error)}}))}};__decorate([InjectProperty,__metadata("design:type",LocalFileService)],FileUploadWindow.prototype,"localFileService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/files/LocalFileService");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor","@web-atoms/web-controls/dist/html-editor/commands/Toolbar","@web-atoms/web-controls/dist/html-editor/commands/Bold","@web-atoms/web-controls/dist/html-editor/commands/Italic","@web-atoms/web-controls/dist/html-editor/commands/Underline","@web-atoms/web-controls/dist/html-editor/commands/StrikeThrough","@web-atoms/web-controls/dist/html-editor/commands/Align","@web-atoms/web-controls/dist/html-editor/commands/HorizontalRule","@web-atoms/web-controls/dist/html-editor/commands/Separator","@web-atoms/web-controls/dist/html-editor/commands/Headings","@web-atoms/web-controls/dist/html-editor/commands/ChangeColor","@web-atoms/web-controls/dist/html-editor/commands/ChangeFont","@web-atoms/web-controls/dist/html-editor/commands/ChangeFontSize","@web-atoms/web-controls/dist/html-editor/commands/NumberedList","@web-atoms/web-controls/dist/html-editor/commands/UnorderedList","@web-atoms/web-controls/dist/html-editor/commands/IndentLess","@web-atoms/web-controls/dist/html-editor/commands/IndentMore","@web-atoms/web-controls/dist/html-editor/commands/AddLink","@web-atoms/web-controls/dist/html-editor/commands/Unlink","@web-atoms/web-controls/dist/html-editor/commands/RemoveFormat","@web-atoms/web-controls/dist/html-editor/commands/Source","@web-atoms/web-controls/dist/basic/UploadEvent","../../../services/files/LocalFileService","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/InjectProperty"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,InlineHtmlEditor,Toolbar,Bold,Italic,Underline,StrikeThrough,Align,HorizontalRule,Separator,Headings,ChangeColor,ChangeFont,ChangeFontSize,NumberedList,UnorderedList,IndentLess,IndentMore,AddLink,Unlink,RemoveFormat,Source,UploadEvent,LocalFileService,acceptDocumentAndMedia,AtomControl,InjectProperty,MailHtmlEditor,link,onAttachImage;function AttachFile({accept=acceptDocumentAndMedia,maxSize=1024*1024*10,authorize=true,capture=null,ariaLabel="upload"}){return XNode.create("button",Object.assign({title:"Insert Image",class:"command"},UploadEvent.AttachUploadAction({accept,forceType:true,maxSize,authorize,capture,multiple:false,ariaLabel})),XNode.create("i",{class:"ri-attachment-2"}))}function AttachImage({accept="image/*",maxSize=1024*1024*5,authorize=true,capture=null,ariaLabel="upload"}){return XNode.create("button",Object.assign({title:"Insert Image",class:"command"},UploadEvent.AttachUploadAction({accept,forceType:true,maxSize,authorize,capture,multiple:false,ariaLabel,"event-files-available":onAttachImage})),XNode.create("i",{class:"ri-image-add-fill"}))}function InlineHtmlEditorWithToolbar(a){const toolbar=()=>XNode.create("div",null,XNode.create(Toolbar,null,XNode.create(Bold,null),XNode.create(Italic,null),XNode.create(Underline,null),XNode.create(StrikeThrough,null),XNode.create(Align,null),XNode.create(Separator,null),XNode.create(Headings,null),XNode.create(ChangeColor,null),XNode.create(HorizontalRule,null),XNode.create(Separator,null),XNode.create(ChangeFont,null),XNode.create(ChangeFontSize,null),XNode.create(Separator,null),XNode.create(NumberedList,null),XNode.create(UnorderedList,null),XNode.create(IndentLess,null),XNode.create(IndentMore,null),XNode.create(Separator,null)),XNode.create(Toolbar,null,XNode.create(AttachImage,null),XNode.create(AttachFile,null),XNode.create(Separator,null),XNode.create(AddLink,null),XNode.create(Unlink,null),XNode.create(RemoveFormat,null),XNode.create(Separator,null),XNode.create(Source,null)));return XNode.create(MailHtmlEditor,Object.assign({},a,{toolbar}))}_export({MailHtmlEditor:void 0,default:InlineHtmlEditorWithToolbar});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistHtmlEditorInlineHtmlEditor){InlineHtmlEditor=_webAtomsWebControlsDistHtmlEditorInlineHtmlEditor.default},function(_webAtomsWebControlsDistHtmlEditorCommandsToolbar){Toolbar=_webAtomsWebControlsDistHtmlEditorCommandsToolbar.default},function(_webAtomsWebControlsDistHtmlEditorCommandsBold){Bold=_webAtomsWebControlsDistHtmlEditorCommandsBold.default},function(_webAtomsWebControlsDistHtmlEditorCommandsItalic){Italic=_webAtomsWebControlsDistHtmlEditorCommandsItalic.default},function(_webAtomsWebControlsDistHtmlEditorCommandsUnderline){Underline=_webAtomsWebControlsDistHtmlEditorCommandsUnderline.default},function(_webAtomsWebControlsDistHtmlEditorCommandsStrikeThrough){StrikeThrough=_webAtomsWebControlsDistHtmlEditorCommandsStrikeThrough.default},function(_webAtomsWebControlsDistHtmlEditorCommandsAlign){Align=_webAtomsWebControlsDistHtmlEditorCommandsAlign.default},function(_webAtomsWebControlsDistHtmlEditorCommandsHorizontalRule){HorizontalRule=_webAtomsWebControlsDistHtmlEditorCommandsHorizontalRule.default},function(_webAtomsWebControlsDistHtmlEditorCommandsSeparator){Separator=_webAtomsWebControlsDistHtmlEditorCommandsSeparator.default},function(_webAtomsWebControlsDistHtmlEditorCommandsHeadings){Headings=_webAtomsWebControlsDistHtmlEditorCommandsHeadings.default},function(_webAtomsWebControlsDistHtmlEditorCommandsChangeColor){ChangeColor=_webAtomsWebControlsDistHtmlEditorCommandsChangeColor.default},function(_webAtomsWebControlsDistHtmlEditorCommandsChangeFont){ChangeFont=_webAtomsWebControlsDistHtmlEditorCommandsChangeFont.default},function(_webAtomsWebControlsDistHtmlEditorCommandsChangeFontSize){ChangeFontSize=_webAtomsWebControlsDistHtmlEditorCommandsChangeFontSize.default},function(_webAtomsWebControlsDistHtmlEditorCommandsNumberedList){NumberedList=_webAtomsWebControlsDistHtmlEditorCommandsNumberedList.default},function(_webAtomsWebControlsDistHtmlEditorCommandsUnorderedList){UnorderedList=_webAtomsWebControlsDistHtmlEditorCommandsUnorderedList.default},function(_webAtomsWebControlsDistHtmlEditorCommandsIndentLess){IndentLess=_webAtomsWebControlsDistHtmlEditorCommandsIndentLess.default},function(_webAtomsWebControlsDistHtmlEditorCommandsIndentMore){IndentMore=_webAtomsWebControlsDistHtmlEditorCommandsIndentMore.default},function(_webAtomsWebControlsDistHtmlEditorCommandsAddLink){AddLink=_webAtomsWebControlsDistHtmlEditorCommandsAddLink.default},function(_webAtomsWebControlsDistHtmlEditorCommandsUnlink){Unlink=_webAtomsWebControlsDistHtmlEditorCommandsUnlink.default},function(_webAtomsWebControlsDistHtmlEditorCommandsRemoveFormat){RemoveFormat=_webAtomsWebControlsDistHtmlEditorCommandsRemoveFormat.default},function(_webAtomsWebControlsDistHtmlEditorCommandsSource){Source=_webAtomsWebControlsDistHtmlEditorCommandsSource.default},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default;acceptDocumentAndMedia=_servicesFilesLocalFileService.acceptDocumentAndMedia},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default}],execute:function(){link=document.createElement("link");link.href="https://cdn.jsdelivr.net/npm/remixicon@2.5.0/fonts/remixicon.css";link.rel="preload";link.as="style";link.onload=()=>{link.onload=null;link.rel="stylesheet"};document.head.appendChild(link);onAttachImage=ce=>__awaiter(void 0,void 0,void 0,(function*(){var _a,_b;const c=AtomControl.from(ce.target);if(!((_b=(_a=ce.detail)===null||_a===void 0?void 0:_a.files)===null||_b===void 0?void 0:_b.length)){return}const file=ce.detail.files[0];c.executeCommand("insertHTML",void 0,`<div><img data-content="data-url" data-content-id=${file.appFileID} src="${file.url}" style='max-height: 700px;'/></div>`)}));_export("MailHtmlEditor",MailHtmlEditor=class MailHtmlEditor extends InlineHtmlEditor{onPasteEvent(e){if(e.clipboardData.files.length){e.preventDefault();e.stopPropagation();this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const files=yield this.localFileService.uploadWithProgress(Array.from(e.clipboardData.files));for(const file of files){this.executeCommand("insertHTML",void 0,`<div><img data-content="data-url" data-content-id=${file.appFileID} src="${file.url}" style='max-height: 700px;'/></div>`)}this.element.dispatchEvent(new CustomEvent("filesAvailable",{detail:{files,extra:"none"},bubbles:true}))}))));return}super.onPasteEvent(e)}preCreate(){super.preCreate();this.sanitizeHtml=node=>{const images=Array.from(node.querySelectorAll(`img[data-content-id]`));for(const image of images){image.setAttribute("src",`cid:${image.getAttribute("data-content-id")}`)}}}});__decorate([InjectProperty,__metadata("design:type",LocalFileService)],MailHtmlEditor.prototype,"localFileService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/html/InlineHtmlEditorWithToolbar");System.register(["@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var styled;return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
1350
|
+
padding: 2px;
|
|
1351
|
+
padding-left: 10px;
|
|
1352
|
+
padding-right: 10px;
|
|
1353
|
+
border-radius: 9999px;
|
|
1354
|
+
display: grid;
|
|
1355
|
+
align-items: center;
|
|
1356
|
+
grid-template-rows: auto 1fr;
|
|
1357
|
+
grid-template-columns: auto 1fr auto;
|
|
1358
|
+
|
|
1359
|
+
& > [data-content] {
|
|
1360
|
+
grid-row-start: 2;
|
|
1361
|
+
grid-column-start: 2;
|
|
1362
|
+
}
|
|
1363
|
+
|
|
1364
|
+
& > .icon {
|
|
1365
|
+
grid-column-start: 1;
|
|
1366
|
+
grid-row-start: 1;
|
|
1367
|
+
grid-row-end: span 2;
|
|
1368
|
+
padding: 2px;
|
|
1369
|
+
padding-right: 4px;
|
|
1370
|
+
align-self: center;
|
|
1371
|
+
}
|
|
1372
|
+
|
|
1373
|
+
& > .delete {
|
|
1374
|
+
grid-column-start: 3;
|
|
1375
|
+
grid-row-start: 1;
|
|
1376
|
+
grid-row-end: span 2;
|
|
1377
|
+
align-self: center;
|
|
1378
|
+
font-size: small;
|
|
1379
|
+
background-color: transparent;
|
|
1380
|
+
border-radius: 4px;
|
|
1381
|
+
padding: 2px;
|
|
1382
|
+
padding-left: 4px;
|
|
1383
|
+
color: gray;
|
|
1384
|
+
&:hover {
|
|
1385
|
+
background-color: lightgray;
|
|
1386
|
+
color: red;
|
|
1387
|
+
}
|
|
1388
|
+
}
|
|
1389
|
+
|
|
1390
|
+
& > .header {
|
|
1391
|
+
font-size: x-small;
|
|
1392
|
+
grid-row-start: 1;
|
|
1393
|
+
grid-column-start: 2;
|
|
1394
|
+
text-align: center;
|
|
1395
|
+
}
|
|
1396
|
+
|
|
1397
|
+
& > .label {
|
|
1398
|
+
grid-row-start: 2;
|
|
1399
|
+
grid-column-start: 2;
|
|
1400
|
+
}
|
|
1401
|
+
|
|
1402
|
+
& > .delete-strike {
|
|
1403
|
+
grid-row: 1 / span 2;
|
|
1404
|
+
grid-column: 1 / span 2;
|
|
1405
|
+
height: 2px;
|
|
1406
|
+
background-color: red;
|
|
1407
|
+
align-self: center;
|
|
1408
|
+
}
|
|
1409
|
+
|
|
1410
|
+
&[data-deleted=false] {
|
|
1411
|
+
& > .delete-strike {
|
|
1412
|
+
display: none;
|
|
1413
|
+
}
|
|
1414
|
+
}
|
|
1415
|
+
|
|
1416
|
+
&[data-deleted=true] {
|
|
1417
|
+
border: solid 1px red;
|
|
1418
|
+
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' preserveAspectRatio='none' viewBox='0 0 100 100'><path d='M100 0 L0 100 ' stroke='red' stroke-width='1'/><path d='M0 0 L100 100 ' stroke='red' stroke-width='1'/></svg>");
|
|
1419
|
+
}
|
|
1420
|
+
`.installGlobal("*[data-item-chip]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/chip-style");System.register(["tslib","@web-atoms/core/dist/core/XNode","./styles/chip-style"],(function(_export,_context){"use strict";var __rest,XNode;function Chip(_a,...nodes){var{icon,label,header,deleteIcon="fa-solid fa-xmark",undoDeleteIcon="fa-solid fa-undo",draggable,recreate=true,deleted}=_a,a=__rest(_a,["icon","label","header","deleteIcon","undoDeleteIcon","draggable","recreate","deleted"]);return XNode.create("div",Object.assign({},a,{"data-recreate":recreate,"data-deleted":!!deleted,"data-item-chip":"chip",draggable}),icon&&XNode.create("i",{class:"icon "+icon}),header&&XNode.create("label",{class:"header",text:header}),label&&XNode.create("label",{class:"label",text:label}),...nodes,deleted&&XNode.create("div",{class:"delete-strike"}),undoDeleteIcon&&deleted&&XNode.create("i",{class:"undo delete "+undoDeleteIcon,"data-click-event":"undo-remove-chip"}),deleteIcon&&!deleted&&XNode.create("i",{class:"delete "+deleteIcon,"data-click-event":"remove-chip"}))}_export("default",Chip);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_stylesChipStyle){}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/Chip");System.register(["@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var styled;return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
1421
|
+
flex-direction: row;
|
|
1422
|
+
align-items: center;
|
|
1423
|
+
justify-content: stretch;
|
|
1424
|
+
gap: 4px;
|
|
1425
|
+
display: flex;
|
|
1426
|
+
flex-flow: wrap;
|
|
1427
|
+
padding: 5px;
|
|
1428
|
+
|
|
1429
|
+
& > .search {
|
|
1430
|
+
border: none;
|
|
1431
|
+
outline: none;
|
|
1432
|
+
flex: 1 1;
|
|
1433
|
+
}
|
|
1434
|
+
|
|
1435
|
+
& > .footer {
|
|
1436
|
+
margin-left: auto;
|
|
1437
|
+
}
|
|
1438
|
+
|
|
1439
|
+
& > .presenter {
|
|
1440
|
+
flex-direction: row;
|
|
1441
|
+
align-items: center;
|
|
1442
|
+
justify-content: flex-start;
|
|
1443
|
+
gap: 4px;
|
|
1444
|
+
display: inline-flex;
|
|
1445
|
+
flex-flow: wrap;
|
|
1446
|
+
& > * {
|
|
1447
|
+
background-color: rgba(211,211,211,0.3);
|
|
1448
|
+
}
|
|
1449
|
+
}
|
|
1450
|
+
|
|
1451
|
+
&[data-mode=search] {
|
|
1452
|
+
& > .search {
|
|
1453
|
+
padding-left: 20px;
|
|
1454
|
+
background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' class='bi bi-search' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'%3E%3C/path%3E%3C/svg%3E") no-repeat 1px center;
|
|
1455
|
+
}
|
|
1456
|
+
}
|
|
1457
|
+
`.installGlobal("div[data-atom-chips]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/chips-style");System.register(["@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var styled;return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
1458
|
+
padding: 1px;
|
|
1459
|
+
padding-left: 5px;
|
|
1460
|
+
padding-right: 5px;
|
|
1461
|
+
border-radius: 10px;
|
|
1462
|
+
display: grid;
|
|
1463
|
+
align-items: center;
|
|
1464
|
+
grid-template-rows: auto 1fr;
|
|
1465
|
+
grid-template-columns: auto 1fr auto;
|
|
1466
|
+
|
|
1467
|
+
& > [data-content] {
|
|
1468
|
+
grid-row-start: 2;
|
|
1469
|
+
grid-column-start: 2;
|
|
1470
|
+
}
|
|
1471
|
+
& > .icon {
|
|
1472
|
+
grid-column-start: 1;
|
|
1473
|
+
grid-row-start: 1;
|
|
1474
|
+
grid-row-end: span 2;
|
|
1475
|
+
align-self: center;
|
|
1476
|
+
margin-right: 5px;
|
|
1477
|
+
}
|
|
1478
|
+
& > .delete {
|
|
1479
|
+
grid-column-start: 3;
|
|
1480
|
+
grid-row-start: 1;
|
|
1481
|
+
grid-row-end: span 2;
|
|
1482
|
+
align-self: center;
|
|
1483
|
+
color: #ff0000;
|
|
1484
|
+
}
|
|
1485
|
+
& > .header {
|
|
1486
|
+
font-size: x-small;
|
|
1487
|
+
grid-row-start: 1;
|
|
1488
|
+
grid-column-start: 2;
|
|
1489
|
+
}
|
|
1490
|
+
& > .label {
|
|
1491
|
+
grid-row-start: 2;
|
|
1492
|
+
grid-column-start: 2;
|
|
1493
|
+
}
|
|
1494
|
+
`.installGlobal("*[data-item-suggestion]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/item-suggestion-style");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/types","@web-atoms/core/dist/core/XNode","./AtomRepeater","./Chip","./InlinePopup","./styles/chips-style","./styles/item-suggestion-style"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomBinder,Bind,BindableProperty,CancelToken,XNode,AtomRepeater,MatchTrue,InlinePopup,AtomChips;function getChips(target){let start=target;while(start){const chips=start.atomControl;if(chips&&chips instanceof AtomChips){return chips}start=start.parentElement}}function askSuggestionPopup(host,opener,itemRenderer,suggestionFilter,cancelToken){class Suggestions extends InlinePopup{create(){this.opener=opener;this.render(XNode.create("div",{"data-suggestion-popup":"suggestion-popup"},XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",selectedItem:Bind.oneWay((()=>this.opener.anchorItem)),itemRenderer,eventDeleteSuggestion:e=>opener.element.dispatchEvent(e),visibilityFilter:suggestionFilter!==null&&suggestionFilter!==void 0?suggestionFilter:MatchTrue,"event-item-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.close(e.detail)},items:Bind.oneWay((()=>this.opener.suggestions))}))))}}return Suggestions.showControl(host,{cancelToken,alignment:"auto"})}function Suggestion({icon,label,header,deleteIcon},...nodes){return XNode.create("div",{"data-item-suggestion":"suggestion"},icon&&XNode.create("i",{class:"icon "+icon}),header&&XNode.create("label",{class:"header",text:header}),label&&XNode.create("label",{class:"label",text:label}),...nodes,deleteIcon&&XNode.create("i",{class:"delete "+deleteIcon,"data-click-event":"remove-suggestion"}))}_export({Suggestion,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default;MatchTrue=_AtomRepeater.MatchTrue},function(_Chip){_export("Chip",_Chip.default)},function(_InlinePopup){InlinePopup=_InlinePopup.default},function(_stylesChipsStyle){},function(_stylesItemSuggestionStyle){}],execute:function(){document.body.addEventListener("focusin",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.setFocus(true)}));document.body.addEventListener("focusout",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.setFocus(false)}));document.body.addEventListener("keydown",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.onKey(e)}));_export("default",AtomChips=class AtomChips extends AtomRepeater{get searchType(){return this.searchInput.type}set searchType(v){this.searchInput.type=v}get enterKeyHint(){return this.searchInput.enterKeyHint}set enterKeyHint(v){this.searchInput.enterKeyHint=v}onPropertyChanged(name){var _a;super.onPropertyChanged(name);switch(name){case"labelPath":this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});break;case"prompt":this.updateClasses();break;case"focused":this.updatePopup();break;case"suggestions":(_a=this.suggestionsWatcher)===null||_a===void 0?void 0:_a.dispose();this.suggestionsWatcher=undefined;const suggestions=this.suggestions;if(suggestions){this.suggestionsWatcher=this.registerDisposable(suggestions.watch((()=>{this.updatePopup()})))}this.updatePopup();break}}preCreate(){super.preCreate();this.preventDuplicates=true;this.softDeleteProperty=null;this.prompt="Search";this.element.setAttribute("data-atom-chips","atom-chips");this.element.setAttribute("data-mode","search");this.suggestionFilter=MatchTrue;this.valuePath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item};this.labelPath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item};this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});this.element.dataset.dropDown="drop-down";this.render(XNode.create("div",null,XNode.create("div",{class:"presenter"}),XNode.create("input",{class:"search",placeholder:Bind.oneWay((()=>this.prompt)),value:Bind.twoWaysImmediate((()=>this.search)),type:"search"}),XNode.create("div",{class:"footer"})));this.itemsPresenter=this.element.children[0];this.searchInput=this.element.children[1];this.footerPresenter=this.element.children[2];this.bindEvent(this.element,"removeChip",(e=>e.defaultPrevented||this.removeItem(e.detail)));this.bindEvent(this.element,"undoRemoveChip",(e=>e.defaultPrevented||this.undoRemoveItem(e.detail)));this.bindEvent(this.searchInput,"blur",(()=>{if(this.onBlurItemToChip&&this.search){const item=this.onBlurItemToChip(this.search);if(item){this.items.add(item);this.searchInput.value=""}}}))}setFocus(hasFocus){if(hasFocus){if(this.focusTimeout){clearTimeout(this.focusTimeout);this.focusTimeout=void 0}this.focused=true;return}this.focusTimeout=setTimeout((()=>{this.focusTimeout=void 0;this.focused=false}),1500)}updatePopup(){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const suggestions=this.suggestions;if(!this.focused){(_a=this.popupCancelToken)===null||_a===void 0?void 0:_a.cancel();this.popupCancelToken=null;return}const detail=this.suggestions;const ce=new CustomEvent("suggestions-requested",{detail});this.element.dispatchEvent(ce);if(ce.defaultPrevented){return}const{promise}=ce;if(promise){yield promise}if(ce.detail!==this.suggestions){this.suggestions=ce.detail}if(!(suggestions===null||suggestions===void 0?void 0:suggestions.length)){(_b=this.popupCancelToken)===null||_b===void 0?void 0:_b.cancel();this.popupCancelToken=null;return}if(this.popupCancelToken){return}const cancelToken=this.popupCancelToken=new CancelToken;try{let selectedItem=yield askSuggestionPopup(this.element,this,(_c=this.suggestionRenderer)!==null&&_c!==void 0?_c:this.itemRenderer,this.suggestionFilter,cancelToken);const itemToChip=this.itemToChip;if(itemToChip){selectedItem=itemToChip(selectedItem,this.search)}this.addItem(selectedItem);this.search="";this.popupCancelToken=null}catch(e){this.popupCancelToken=null;if(CancelToken.isCancelled(e)){return}console.warn(e)}}))}addItem(selectedItem){var _a;const ce=new CustomEvent("suggestionChosen",{detail:selectedItem,cancelable:true,bubbles:true});this.element.dispatchEvent(ce);if(!ce.defaultPrevented){const item=ce.detail;const vp=(_a=this.valuePath)!==null&&_a!==void 0?_a:x=>x;const v=vp(item);for(const iterator of this.items){if(v===vp(iterator)){return}}this.items.add(ce.detail)}}undoRemoveItem(item){let{softDeleteProperty}=this;softDeleteProperty=typeof softDeleteProperty!=="string"?"$deleted":softDeleteProperty;item[softDeleteProperty]=false;AtomBinder.refreshValue(this.items,"length");this.refreshItem(item)}removeItem(item){let{softDeleteProperty}=this;if(softDeleteProperty){softDeleteProperty=typeof softDeleteProperty!=="string"?"$deleted":softDeleteProperty;item[softDeleteProperty]=true;AtomBinder.refreshValue(this.items,"length");this.refreshItem(item)}else{this.items.remove(item)}}onKey(e){var _a,_b;const suggested=this.suggestions;const onKeyPressedItemToChip=this.onKeyPressedItemToChip;if(onKeyPressedItemToChip&&this.search){const item=onKeyPressedItemToChip(e.key,this.search);if(item){this.addItem(item);this.searchInput.value="";return}}switch(e.key){case"Enter":(_a=e.preventDefault)===null||_a===void 0?void 0:_a.call(e);(_b=e.stopImmediatePropagation)===null||_b===void 0?void 0:_b.call(e);setTimeout((()=>{let anchorItem=this.anchorItem;const itemToChip=this.itemToChip;if(itemToChip){anchorItem=itemToChip(anchorItem,this.search)}if(!anchorItem){return}this.addItem(anchorItem);this.anchorIndex=0;this.anchorItem=null;this.search=""}),1);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}}});__decorate([BindableProperty,__metadata("design:type",Array)],AtomChips.prototype,"suggestions",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"search",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"prompt",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"suggestionPrompt",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"softDeleteProperty",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"labelPath",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"match",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"suggestionRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"suggestionFilter",void 0);__decorate([BindableProperty,__metadata("design:type",Boolean)],AtomChips.prototype,"focused",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"onKeyPressedItemToChip",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"onBlurItemToChip",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/AtomChips");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../common/controls/html/InlineHtmlEditorWithToolbar","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../model/model","@web-atoms/web-controls/dist/basic/AtomChips","@web-atoms/core/dist/view-model/Action","./service/MailService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/basic/AtomRepeater"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InlineHtmlEditorWithToolbar,XNode,Bind,Form,FormField,HorizontalFormField,Email,EmailAttachment,EmailRecipient,AtomChips,Chip,Action,MailService,InjectProperty,DateTime,AtomRepeater,ComposeMailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonControlsHtmlInlineHtmlEditorWithToolbar){InlineHtmlEditorWithToolbar=_commonControlsHtmlInlineHtmlEditorWithToolbar.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default;HorizontalFormField=_webAtomsWebControlsDistBasicFormField.HorizontalFormField},function(_modelModel){Email=_modelModel.Email;EmailAttachment=_modelModel.EmailAttachment;EmailRecipient=_modelModel.EmailRecipient},function(_webAtomsWebControlsDistBasicAtomChips){AtomChips=_webAtomsWebControlsDistBasicAtomChips.default;Chip=_webAtomsWebControlsDistBasicAtomChips.Chip},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_serviceMailService){MailService=_serviceMailService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default}],execute:function(){_export("default",ComposeMailPage=class ComposeMailPage extends PopupWindowPage{init(){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){if(this.parameters.subject){this.title="Reply: "+this.parameters.subject}else{this.title="Compose New"}this.model=(_a=this.parameters.model)!==null&&_a!==void 0?_a:Email.create({subject:(_b=this.parameters.subject)!==null&&_b!==void 0?_b:"",textBody:"",htmlBody:`<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`,recipients:[],attachments:[]});if(this.parameters.emailAddress){this.model.recipients.add(EmailRecipient.create({emailAddressText:this.parameters.emailAddress,emailAddressID:(_c=this.parameters.emailAddressID)!==null&&_c!==void 0?_c:void 0}))}this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(HorizontalFormField,{label:"To:"},XNode.create(AtomChips,{itemToChip:text=>EmailRecipient.create({emailAddressText:text}),items:this.model.recipients,itemRenderer:item=>XNode.create(Chip,{label:item.name?item.emailAddressText:void 0,text:item.name||item.emailAddressText}),onKeyPressedItemToChip:(key,search)=>key==="Enter"||key==="Comma"?EmailRecipient.create({emailAddressText:search}):void 0,onBlurItemToChip:search=>EmailRecipient.create({emailAddressText:search})})),XNode.create(FormField,{label:""},XNode.create("input",{placeholder:"Subject",value:Bind.twoWaysImmediate((()=>this.model.subject))})),XNode.create(InlineHtmlEditorWithToolbar,{presenter:Bind.presenter((c=>this.editor=c)),content:this.model.htmlBody,"style-min-height":"200px"}),XNode.create(AtomRepeater,{items:this.model.attachments,itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:item.fileName}))}),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create("button",{"data-click-event":"send-email",text:"Send"}),XNode.create("button",{"data-click-event":"save-email",text:"Save"}))))}))}filesAvailable({files,extra}){return __awaiter(this,void 0,void 0,(function*(){for(const iterator of files){this.model.attachments.add(EmailAttachment.create({appFileID:iterator.appFileID,fileName:iterator.file.name,contentType:iterator.file.type}))}}))}sendEmail(){return __awaiter(this,void 0,void 0,(function*(){if(!this.model.recipients.length){throw new Error("No recipients specified")}if(!this.model.subject){throw new Error("No subject specified")}const{html,text}=this.editor.htmlTextContent;this.model.htmlBody=html;this.model.textBody=text;if(!this.model.textBody){throw new Error("Email is empty")}this.model.senderID=this.parameters.mailboxID;this.model.status="scheduled";this.model.dateSent=DateTime.utcNow;yield this.mailService.send(this.model)}))}saveEmail(){return __awaiter(this,void 0,void 0,(function*(){yield this.mailService.send(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",MailService)],ComposeMailPage.prototype,"mailService",void 0);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ComposeMailPage.prototype,"filesAvailable",null);__decorate([Action({onEvent:"send-email",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ComposeMailPage.prototype,"sendEmail",null);__decorate([Action({onEvent:"save-email",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ComposeMailPage.prototype,"saveEmail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ComposeMailPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/DropDown","./service/MailService","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@web-atoms/core/dist/view-model/Action","./ConversationPage","@web-atoms/web-controls/dist/PageNavigator","./ComposeMailPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,DropDown,MailService,AtomRepeater,InfiniteRepeater,Bind,MasterDetailPage,Action,ConversationPage,PageNavigator,ComposeMailPage,MailsPage;_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(_webAtomsWebControlsDistBasicDropDown){DropDown=_webAtomsWebControlsDistBasicDropDown.default},function(_serviceMailService){MailService=_serviceMailService.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_ConversationPage){ConversationPage=_ConversationPage.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_ComposeMailPage){ComposeMailPage=_ComposeMailPage.default}],execute:function(){_export("default",MailsPage=class MailsPage extends MasterDetailPage{constructor(){super(...arguments);this.mails=[];this.search="";this.selectedThread=null;this.version=1}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const mailboxes=yield this.mailService.mailboxes();this.actionRenderer=()=>XNode.create("i",{class:"fas fa-plus","data-click-event":"compose-email"});const first=mailboxes[(_a=this.parameters.id)!==null&&_a!==void 0?_a:0];this.currentMailboxID=first.mailboxID;document.title=first.name;this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create(DropDown,{items:mailboxes,labelPath:item=>item.emailAddress.emailAddress,valuePath:item=>item.mailboxID,value:Bind.twoWaysImmediate((()=>this.currentMailboxID))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-list-selection":"default","data-items-updated-event":"mails-available","data-selection-updated-event":"mail-selected",selectedItem:Bind.twoWays((()=>this.selectedThread)),selectOnClick:true,items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailService.list({start,size:200,search:this.search,mailboxID:this.currentMailboxID,version:this.version,cancelToken}))),{itemRenderer:item=>{var _a,_b;return item.lastEmail.senderID!==item.mailboxID?XNode.create("div",null,XNode.create("div",{text:item.lastEmail.senderName}),XNode.create("div",{text:(_a=item.emailAddress)===null||_a===void 0?void 0:_a.emailAddress})):XNode.create("div",{text:(_b=item.emailAddress)===null||_b===void 0?void 0:_b.emailAddress})}})))}))}mailsAvailable(){return __awaiter(this,void 0,void 0,(function*(){if(!this.selectedThread){this.selectedThread=this.mails[0]}}))}mailSelected(){return __awaiter(this,void 0,void 0,(function*(){if(!this.selectedThread){return}this.openDetail(ConversationPage,this.selectedThread)}))}composeEmail(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ComposeMailPage,{mailboxID:this.currentMailboxID});this.version++}))}});__decorate([InjectProperty,__metadata("design:type",MailService)],MailsPage.prototype,"mailService",void 0);__decorate([Action({onEvent:"mails-available",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"mailsAvailable",null);__decorate([Action({onEvent:"mail-selected",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"mailSelected",null);__decorate([Action({onEvent:"compose-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeEmail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/MailsPage");System.register(["@web-atoms/core/dist/core/Command"],(function(_export,_context){"use strict";var Command,Commands,CommonCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default;Commands=_webAtomsCoreDistCoreCommand.Commands}],execute:function(){_export("default",CommonCommands=class CommonCommands extends Commands{});CommonCommands.openMailbox=Command.create({route:"/mailbox/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/mails/MailsPage")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/commands/CommonCommands");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../controls/repeater/InfiniteRepeater","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./MailboxEditorPage","../../NumberFormats","../../commands/CommonCommands"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,AtomRepeater,ContentPage,InfiniteRepeater,MailboxService,InjectProperty,Action,PageNavigator,MailboxEditorPage,toFileSize,CommonCommands,MailboxListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_MailboxEditorPage){MailboxEditorPage=_MailboxEditorPage.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_commandsCommonCommands){CommonCommands=_commandsCommonCommands.default}],execute:function(){_export("default",MailboxListPage=class MailboxListPage extends ContentPage{constructor(){super(...arguments);this.search="";this.mailboxes=[];this.version=0}init(){return __awaiter(this,void 0,void 0,(function*(){this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create("i",{class:"fas fa-plus","data-click-event":"add-mailbox"}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({items:this.mailboxes},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailboxService.list({start,cancelToken,search:this.search,version:this.version}))),{itemRenderer:item=>XNode.create("tr",null,XNode.create("td",null,XNode.create("a",{href:CommonCommands.openMailbox.displayRoute({id:item.mailboxID}),target:"_blank","data-click-event":"route"},item.emailAddress.emailAddress)),XNode.create("td",null,toFileSize(item.storage)),XNode.create("td",null,toFileSize(item.maxStorage)))})))}))}addMailbox(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(MailboxEditorPage);this.version++}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxListPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"add-mailbox"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxListPage.prototype,"addMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../../common/controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/ComboBox","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,PopupWindowPage,DomainRelay,DomainRelayTypeArray,XNode,Form,TextFormField,FormField,ComboBox,Bind,EditRelayPage;function prepare({host,username,password},{from,recipients,content}){return __awaiter(this,void 0,void 0,(function*(){const body=new FormData;body.append("from",from);body.append("recipients",recipients.join(","));body.append("content",content);const r=yield fetch(`${host}/api/queue/raw`,{headers:{"x-id":username,"x-auth":password},body});if(r.status>=300){throw new Error(yield r.text())}const{id}=yield r.json();return{id,status:()=>__awaiter(this,void 0,void 0,(function*(){var _a;const{error}=(_a=yield fetch(`${host}/api/queue/status/${id}`).then((x=>x.json())))!==null&&_a!==void 0?_a:{};return{error}}))}}))}_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){DomainRelay=_modelModel.DomainRelay;DomainRelayTypeArray=_modelModel.DomainRelayTypeArray},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_commonControlsFormRequiredFormField){TextFormField=_commonControlsFormRequiredFormField.TextFormField},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",EditRelayPage=class EditRelayPage extends PopupWindowPage{init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.model=(_a=this.parameters.model)!==null&&_a!==void 0?_a:DomainRelay.create({type:"smtp"});(_b=this.model).script||(_b.script=prepare.toString());this.renderer=XNode.create("div",{"data-width":"screen-medium"},XNode.create(Form,null,XNode.create(FormField,{label:"Type"},XNode.create(ComboBox,{items:DomainRelayTypeArray,value:Bind.twoWaysImmediate((()=>this.model.type))})),XNode.create(TextFormField,{label:"Host/Server",value:()=>this.model.host}),XNode.create(TextFormField,{label:"Username",value:()=>this.model.username}),XNode.create(TextFormField,{label:"Password",value:()=>this.model.password}),XNode.create(FormField,{label:"Script",required:Bind.oneWay((()=>this.model.type==="https")),"style-display":Bind.oneWay((()=>this.model.type==="https"))},XNode.create("textarea",{rows:20,value:Bind.twoWaysImmediate((()=>this.model.script))}))))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/relays/edit/EditRelayPage");System.register(["@web-atoms/core/dist/core/Command","../../common/commands/CommonCommands"],(function(_export,_context){"use strict";var Command,CommonCommands,AdminCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default},function(_commonCommandsCommonCommands){CommonCommands=_commonCommandsCommonCommands.default}],execute:function(){_export("default",AdminCommands=class AdminCommands extends CommonCommands{});AdminCommands.openHome=Command.create({route:"/admin",routeOrder:1e3,openPage:()=>_context.import("../pages/home/AdminHome")});AdminCommands.openDomainList=Command.create({route:"/admin/domains",routeOrder:100,openPage:()=>_context.import("../pages/domains/DomainListPage")});AdminCommands.openDomain=Command.create({route:"/admin/domains/{domainID}",openPage:()=>_context.import("../pages/domains/edit/EditDomainPage")});AdminCommands.openUserList=Command.create({route:"/admin/users",routeOrder:100,openPage:()=>_context.import("../pages/users/UserListPage")});AdminCommands.openMailboxList=Command.create({route:"/admin/mailboxes",routeOrder:100,openPage:()=>_context.import("../../common/pages/mailboxes/MailboxListPage")});AdminCommands.editRelay=Command.create({openPage:()=>_context.import("../pages/relays/edit/EditRelayPage")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/commands/AdminCommands");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../model/model","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../services/UserService","../../controls/password/PasswordStrength","../../validators/Validators"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,ContentPage,Form,FormField,LoginSession,Bind,PasswordBox,Action,InjectProperty,UserService,PasswordStrength,Validators,LoginPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_modelModel){LoginSession=_modelModel.LoginSession},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_controlsPasswordPasswordStrength){PasswordStrength=_controlsPasswordPasswordStrength.default},function(_validatorsValidators){Validators=_validatorsValidators.Validators}],execute:function(){_export("default",LoginPage=class LoginPage extends ContentPage{constructor(){super(...arguments);this.password=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=LoginSession.create({});this.model.userName="";this.model.checkPassword="";this.render(XNode.create("div",null,XNode.create("div",{"data-layout":"center-all"},XNode.create(Form,null,XNode.create(FormField,{label:"Username"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.userName))})),XNode.create(FormField,{label:"Username"},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.checkPassword))})),XNode.create("div",null,XNode.create("button",{"data-layout":"accent-button","data-submit-event":"login",text:"Login"}))))))}))}login(){var _a;return __awaiter(this,void 0,void 0,(function*(){try{yield this.userService.login(this.model);return}catch(error){if(!/change the password/i.test((_a=error.stack)!==null&&_a!==void 0?_a:error)){throw error}}this.model.newPassword="";this.renderer=XNode.create("div",null,XNode.create("div",{"data-layout":"center-all"},XNode.create(Form,null,XNode.create("div",null,"Update your password, your one time password is expired."),XNode.create(FormField,{label:"Password",required:true,error:Bind.oneWay((()=>Validators.isValidPassword(this.password)?"":"Password must contain one symbol, one number and should be minimum 7 characters"))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.password))})),XNode.create(PasswordStrength,{password:Bind.oneWay((()=>this.password))}),XNode.create(FormField,{label:"Password Again",required:true,error:Bind.oneWay((()=>this.model.newPassword!==this.password?"Passwords do not match":""))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.newPassword))})),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-submit-event":"login",text:"Change Password & Login"})))))}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],LoginPage.prototype,"userService",void 0);__decorate([Action({onEvent:"login"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],LoginPage.prototype,"login",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/LoginPage");System.register(["@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var XNode;function MenuItem({label,icon,click=undefined,href="",commandLink="",target=undefined}){return href||commandLink?XNode.create("a",{"data-layout":"menu-item","data-click-event":commandLink?"route":void 0,href:href||commandLink,target,"event-click":click},XNode.create("i",{class:icon}),XNode.create("span",{text:label})):XNode.create("div",{"data-layout":"menu-item","event-click":click},XNode.create("i",{class:icon}),XNode.create("span",{text:label}))}_export("default",MenuItem);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/menu/MenuItem");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../common/SocialMailApp","../commands/AdminCommands","../../common/controls/menu/MenuItem"],(function(_export,_context){"use strict";var __awaiter,XNode,styled,Drawer,SocialMailApp,AdminCommands,MenuItem,AdminDrawer,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsWebControlsDistMobileAppMobileApp){Drawer=_webAtomsWebControlsDistMobileAppMobileApp.Drawer},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default},function(_commandsAdminCommands){AdminCommands=_commandsAdminCommands.default},function(_commonControlsMenuMenuItem){MenuItem=_commonControlsMenuMenuItem.default}],execute:function(){css=styled.css`
|
|
1495
|
+
min-width: 200px;
|
|
1496
|
+
`.installLocal();_export("default",AdminDrawer=class AdminDrawer extends Drawer{init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;this.user=SocialMailApp.user;this.renderer=XNode.create("div",null,XNode.create("div",{"data-background-color":"accent"},XNode.create("div",{"data-padding":"large","data-font-size":"large","data-color":"white",text:"Social Mail Admin"})),XNode.create(MenuItem,{icon:"fas fa-home",label:"Home",commandLink:AdminCommands.openHome.displayRoute({})}),XNode.create(MenuItem,{icon:"fas fa-folder",label:"Domains",commandLink:AdminCommands.openDomainList.displayRoute({})}),XNode.create(MenuItem,{icon:"fas fa-user",label:"Users",commandLink:AdminCommands.openUserList.displayRoute({})}),XNode.create(MenuItem,{icon:"fas fa-envelope",label:"Mailboxes",commandLink:AdminCommands.openMailboxList.displayRoute({})}))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/drawer/AdminDrawer");System.register(["@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var XNode,ModuleInfo;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){_export("ModuleInfo",ModuleInfo=typeof moduleInfo==="undefined"?[]:[XNode.create("div",{title:`${moduleInfo.server.package}@${moduleInfo.server.version}`},moduleInfo.server.version),XNode.create("div",{title:`${moduleInfo.ui.package}@${moduleInfo.ui.version}`},moduleInfo.ui.version)])}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/ModuleInfo");System.register(["tslib","@web-atoms/core/dist/Pack","@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp","../style/GlobalStyle","../services/UserService","@web-atoms/core/dist/core/InjectProperty","./commands/AdminCommands","@web-atoms/web-controls/dist/PageNavigator","../common/pages/user/LoginPage","./drawer/AdminDrawer","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/Route","../services/files/LocalFileService","@web-atoms/core/dist/core/XNode","../common/controls/ModuleInfo"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Pack,MobileDesktopApp,UserService,InjectProperty,AdminCommands,PageNavigator,LoginPage,AdminDrawer,Command,Route,LocalFileService,XNode,ModuleInfo,AdminAppIndex;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistPack){Pack=_webAtomsCoreDistPack.default},function(_webAtomsWebControlsDistDesktopAppMobileDesktopApp){MobileDesktopApp=_webAtomsWebControlsDistDesktopAppMobileDesktopApp.default},function(_styleGlobalStyle){},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_commandsAdminCommands){AdminCommands=_commandsAdminCommands.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_commonPagesUserLoginPage){LoginPage=_commonPagesUserLoginPage.default},function(_drawerAdminDrawer){AdminDrawer=_drawerAdminDrawer.default},function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default},function(_webAtomsCoreDistCoreRoute){Route=_webAtomsCoreDistCoreRoute.default},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonControlsModuleInfo){ModuleInfo=_commonControlsModuleInfo.ModuleInfo}],execute:function(){AdminAppIndex=class AdminAppIndex extends MobileDesktopApp{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){AdminCommands.install(this);this.resolve(LocalFileService);const user=yield this.userService.getUser();if(!user||!((_a=user.roles)===null||_a===void 0?void 0:_a.some((r=>r.roleName==="Administrator")))){PageNavigator.openPage(LoginPage);return}this.drawerMenu=AdminDrawer;if(!Command.invokeRoute()){AdminCommands.openHome.dispatch()}if(this.desktopApp){this.desktopApp.statusBarRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{"data-flex":"stretch-full"}),...ModuleInfo)}}))}};__decorate([InjectProperty,__metadata("design:type",UserService)],AdminAppIndex.prototype,"userService",void 0);AdminAppIndex=__decorate([Pack],AdminAppIndex);_export("default",AdminAppIndex);Route.encodeUrl=url=>{if(url.startsWith("#")){return url}if(/\d+\./.test(location.hostname)){return"#!"+url}return url}}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/AdminAppIndex");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/core/AtomOnce");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/styles/StyleBuilder");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 popup}});__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/web/services/WebBusyIndicatorService");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/Atom");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/core/FormattedError");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/baseTypes");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/AtomViewModel");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/view-model/AtomWindowViewModel");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/AtomWindowStyle");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/styles/AtomAlertWindowStyle");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/AtomTemplate");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/AtomWindow");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/controls/AtomAlertWindow");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/styles/AtomNotificationStyle");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/controls/AtomNotification");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/styles/AtomPopupStyle");System.register(["../../core/XNode","../../style/styled","./PopupService"],(function(_export,_context){"use strict";var XNode,styled,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(_styleStyled){styled=_styleStyled.default},function(_PopupService){PopupWindow=_PopupService.PopupWindow}],execute:function(){css=styled.css`
|
|
1170
1497
|
padding: 5px;
|
|
1171
1498
|
font-size: larger;
|
|
1172
1499
|
& .error {
|