@social-mail/social-mail-client 1.2.366 → 1.2.368

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.
Files changed (106) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +127 -471
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +115 -452
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/public/channel/ChannelView.pack.js +12 -9
  6. package/dist/public/channel/ChannelView.pack.js.map +1 -1
  7. package/dist/public/channel/ChannelView.pack.min.js +1 -1
  8. package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
  9. package/dist/public/store/Store.pack.js +9 -6
  10. package/dist/public/store/Store.pack.js.map +1 -1
  11. package/dist/public/store/Store.pack.min.js +1 -1
  12. package/dist/public/store/Store.pack.min.js.map +1 -1
  13. package/dist/site-editor/blocks/Billboard.d.ts.map +1 -1
  14. package/dist/site-editor/blocks/Billboard.js +0 -37
  15. package/dist/site-editor/blocks/Billboard.js.map +1 -1
  16. package/dist/site-editor/blocks/Block.js +81 -0
  17. package/dist/site-editor/blocks/Block.js.map +1 -1
  18. package/dist/site-editor/blocks/Card.d.ts.map +1 -1
  19. package/dist/site-editor/blocks/Card.js +0 -37
  20. package/dist/site-editor/blocks/Card.js.map +1 -1
  21. package/dist/site-editor/blocks/Carousel.d.ts.map +1 -1
  22. package/dist/site-editor/blocks/Carousel.js +0 -20
  23. package/dist/site-editor/blocks/Carousel.js.map +1 -1
  24. package/dist/site-editor/blocks/ColumnBox.d.ts.map +1 -1
  25. package/dist/site-editor/blocks/ColumnBox.js +0 -18
  26. package/dist/site-editor/blocks/ColumnBox.js.map +1 -1
  27. package/dist/site-editor/blocks/Columns2.d.ts.map +1 -1
  28. package/dist/site-editor/blocks/Columns2.js +0 -19
  29. package/dist/site-editor/blocks/Columns2.js.map +1 -1
  30. package/dist/site-editor/blocks/Columns3.d.ts.map +1 -1
  31. package/dist/site-editor/blocks/Columns3.js +0 -19
  32. package/dist/site-editor/blocks/Columns3.js.map +1 -1
  33. package/dist/site-editor/blocks/ImageBox.d.ts.map +1 -1
  34. package/dist/site-editor/blocks/ImageBox.js +15 -28
  35. package/dist/site-editor/blocks/ImageBox.js.map +1 -1
  36. package/dist/site-editor/blocks/ImageCard.d.ts.map +1 -1
  37. package/dist/site-editor/blocks/ImageCard.js +0 -37
  38. package/dist/site-editor/blocks/ImageCard.js.map +1 -1
  39. package/dist/site-editor/blocks/ImageGallery.d.ts.map +1 -1
  40. package/dist/site-editor/blocks/ImageGallery.js +0 -20
  41. package/dist/site-editor/blocks/ImageGallery.js.map +1 -1
  42. package/dist/site-editor/blocks/InjectBox.d.ts.map +1 -1
  43. package/dist/site-editor/blocks/InjectBox.js +0 -20
  44. package/dist/site-editor/blocks/InjectBox.js.map +1 -1
  45. package/dist/site-editor/blocks/MarqueeText.d.ts.map +1 -1
  46. package/dist/site-editor/blocks/MarqueeText.js +2 -29
  47. package/dist/site-editor/blocks/MarqueeText.js.map +1 -1
  48. package/dist/site-editor/blocks/PDFFlipBook.d.ts.map +1 -1
  49. package/dist/site-editor/blocks/PDFFlipBook.js +2 -33
  50. package/dist/site-editor/blocks/PDFFlipBook.js.map +1 -1
  51. package/dist/site-editor/blocks/RightImageBox.d.ts.map +1 -1
  52. package/dist/site-editor/blocks/RightImageBox.js +15 -29
  53. package/dist/site-editor/blocks/RightImageBox.js.map +1 -1
  54. package/dist/site-editor/blocks/RowBox.d.ts.map +1 -1
  55. package/dist/site-editor/blocks/RowBox.js +0 -18
  56. package/dist/site-editor/blocks/RowBox.js.map +1 -1
  57. package/dist/site-editor/blocks/TextBox.d.ts.map +1 -1
  58. package/dist/site-editor/blocks/TextBox.js +0 -20
  59. package/dist/site-editor/blocks/TextBox.js.map +1 -1
  60. package/dist/site-editor/blocks/TextMask.d.ts.map +1 -1
  61. package/dist/site-editor/blocks/TextMask.js +0 -18
  62. package/dist/site-editor/blocks/TextMask.js.map +1 -1
  63. package/dist/site-editor/blocks/VerticalImageBox.d.ts.map +1 -1
  64. package/dist/site-editor/blocks/VerticalImageBox.js +0 -18
  65. package/dist/site-editor/blocks/VerticalImageBox.js.map +1 -1
  66. package/dist/site-editor/blocks/VideoPlayer.d.ts.map +1 -1
  67. package/dist/site-editor/blocks/VideoPlayer.js +0 -24
  68. package/dist/site-editor/blocks/VideoPlayer.js.map +1 -1
  69. package/dist/site-editor/blocks/WrapGrid.d.ts.map +1 -1
  70. package/dist/site-editor/blocks/WrapGrid.js +0 -18
  71. package/dist/site-editor/blocks/WrapGrid.js.map +1 -1
  72. package/dist/tsconfig.tsbuildinfo +1 -1
  73. package/dist/web/AppIndex.pack.js +127 -471
  74. package/dist/web/AppIndex.pack.js.map +1 -1
  75. package/dist/web/AppIndex.pack.min.js +115 -452
  76. package/dist/web/AppIndex.pack.min.js.map +1 -1
  77. package/dist/web/page/mails/service/ConversationService.js +3 -3
  78. package/dist/web/page/mails/service/ConversationService.js.map +1 -1
  79. package/node_modules/@web-atoms/web-controls/dist/basic/AtomRepeater.d.ts.map +1 -1
  80. package/node_modules/@web-atoms/web-controls/dist/basic/AtomRepeater.js +9 -6
  81. package/node_modules/@web-atoms/web-controls/dist/basic/AtomRepeater.js.map +1 -1
  82. package/node_modules/@web-atoms/web-controls/dist/tsconfig.tsbuildinfo +1 -1
  83. package/node_modules/@web-atoms/web-controls/package.json +1 -1
  84. package/node_modules/@web-atoms/web-controls/src/basic/AtomRepeater.tsx +9 -8
  85. package/package.json +2 -2
  86. package/src/site-editor/blocks/Billboard.tsx +0 -37
  87. package/src/site-editor/blocks/Block.tsx +82 -0
  88. package/src/site-editor/blocks/Card.tsx +0 -37
  89. package/src/site-editor/blocks/Carousel.tsx +0 -20
  90. package/src/site-editor/blocks/ColumnBox.tsx +0 -18
  91. package/src/site-editor/blocks/Columns2.tsx +0 -19
  92. package/src/site-editor/blocks/Columns3.tsx +0 -19
  93. package/src/site-editor/blocks/ImageBox.tsx +15 -28
  94. package/src/site-editor/blocks/ImageCard.tsx +0 -37
  95. package/src/site-editor/blocks/ImageGallery.tsx +0 -20
  96. package/src/site-editor/blocks/InjectBox.tsx +0 -20
  97. package/src/site-editor/blocks/MarqueeText.tsx +0 -26
  98. package/src/site-editor/blocks/PDFFlipBook.tsx +0 -28
  99. package/src/site-editor/blocks/RightImageBox.tsx +15 -29
  100. package/src/site-editor/blocks/RowBox.tsx +0 -18
  101. package/src/site-editor/blocks/TextBox.tsx +0 -20
  102. package/src/site-editor/blocks/TextMask.tsx +0 -18
  103. package/src/site-editor/blocks/VerticalImageBox.tsx +0 -18
  104. package/src/site-editor/blocks/VideoPlayer.tsx +0 -25
  105. package/src/site-editor/blocks/WrapGrid.tsx +0 -18
  106. package/src/web/page/mails/service/ConversationService.tsx +1 -1
@@ -582,7 +582,7 @@ gap: 5px;
582
582
  }
583
583
  }
584
584
  }
585
- `.withId("repeater-styles").installGlobal()}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/repeater-style");System.register([],(function(_export,_context){"use strict";var DataAttributes;_export("default",void 0);return{setters:[],execute:function(){_export("default",DataAttributes=class DataAttributes{static from(e,till){return new DataAttributes(e,till)}constructor(element,till){this.element=element;this.till=till}get(name){let start=this.element;const till=this.till;while(start&&start!==till){const a=start.getAttribute(name);if(a){return a}start=start.parentElement}}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/DataAttributes");System.register(["tslib","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/core/WatchProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/services/PopupService","./InlinePopup","./MergeNode","./ItemPath","./styles/ui-display-none-style","./styles/popup-style","./styles/suggestion-popup","./styles/repeater-style","@web-atoms/core/dist/web/core/AtomUI","../DataAttributes"],(function(_export,_context){"use strict";var __decorate,__metadata,__rest,AtomBinder,Bind,BindableProperty,Colors,StringHelper,WatchProperty,XNode,AtomControl,PopupWindow,InlinePopup,MergeNode,ItemPath,repeaterPopupCss,ChildEnumerator,DataAttributes,SelectAllControl,AtomRepeater,popupCSS,getParentRepeaterItem,MatchTrue,MatchFalse,ArrowToString,MatchCaseInsensitive,MatchAnyCaseInsensitive,SameObjectValue,getFirstChild,hoverItem,dragOver;function askSuggestion(items,itemRenderer,match,options){class Suggestions extends PopupWindow{create(){var _a;this.title=(_a=options===null||options===void 0?void 0:options.title)!==null&&_a!==void 0?_a:"Select";this.render(XNode.create("div",{class:popupCSS},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),autofocus:true}),XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",itemRenderer,visibilityFilter:Bind.oneWay((()=>match(this.search))),eventItemClick:e=>{this.close(e.detail)},items}))))}}__decorate([BindableProperty,__metadata("design:type",String)],Suggestions.prototype,"search",void 0);options!==null&&options!==void 0?options:options={};if(typeof options.maximize==="undefined"){if(typeof options.width==="undefined"){options.maxWidth="90%";options.minWidth="300px"}if(typeof options.height==="undefined"){options.height="80%"}}return Suggestions.showModal(options)}function askSuggestionPopup(opener,items,itemRenderer,match,selectedItem){const updateSearch="search"in opener;const itemsInOpener="items"in opener;class Suggestions extends InlinePopup{get items(){return itemsInOpener?this.opener.items:items}onPropertyChanged(name){if(updateSearch&&name==="search"){opener.search=this.search}super.onPropertyChanged(name)}create(){this.anchorItem=selectedItem;this.opener=opener;if(this.opener.search){this.search=this.opener.search}if(selectedItem){this.anchorIndex=items.indexOf(selectedItem)}const disableSearch=opener.disableSearch;if(itemsInOpener){this.render(XNode.create("div",{"data-suggestion-popup":"suggestion-popup"},!disableSearch&&XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),eventKeydown:e=>this.onKey(e),autofocus:true}),XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",selectedItem:Bind.oneWay((()=>this.anchorItem)),itemRenderer,visibilityFilter:Bind.oneWay((()=>match(this.search))),eventItemClick:e=>{this.anchorItem=e.detail;setTimeout((()=>this.close(e.detail)),100)},items:Bind.oneWay((()=>this.opener.items))}))));return}this.render(XNode.create("div",{"data-suggestion-popup":"suggestion-popup"},!disableSearch&&XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),eventKeydown:e=>this.onKey(e),autofocus:true}),XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",selectedItem:Bind.oneWay((()=>this.anchorItem)),itemRenderer,visibilityFilter:Bind.oneWay((()=>match(this.search))),scrollToSelection:true,eventItemClick:e=>{this.close(e.detail)},items}))))}onKey(e){var _a;const suggested=match?(_a=this.items)===null||_a===void 0?void 0:_a.filter(match(this.search)):this.items;switch(e.key){case"Enter":const anchorItem=this.anchorItem;if(!anchorItem){return}this.anchorIndex=0;this.close(anchorItem);this.anchorItem=null;this.search="";break;case"ArrowDown":if(suggested){if(!this.anchorItem){this.anchorIndex=0}else{if(this.anchorIndex<suggested.length-1){this.anchorIndex++}}this.anchorItem=suggested[this.anchorIndex]}break;case"ArrowUp":if(suggested){if(!this.anchorItem){return}if(this.anchorIndex){this.anchorIndex--}this.anchorItem=suggested[this.anchorIndex]}break}}}__decorate([BindableProperty,__metadata("design:type",String)],Suggestions.prototype,"search",void 0);return Suggestions.showControl(opener)}function SelectorCheckBox(_a,...nodes){var{text,icon="far fa-square",iconSelected="fas fa-check-square"}=_a,a=__rest(_a,["text","icon","iconSelected"]);if(text){return XNode.create("label",Object.assign({"data-selector":"check-box"},a),XNode.create("i",{class:icon,"data-click-event":"item-select"}),XNode.create("i",{class:iconSelected,"data-click-event":"item-deselect"}),XNode.create("span",{"data-no-wrap":"true",text}),...nodes)}return XNode.create("label",Object.assign({"data-selector":"check-box"},a),XNode.create("i",{class:icon,"data-click-event":"item-select"}),XNode.create("i",{class:iconSelected,"data-click-event":"item-deselect"}),...nodes)}function SelectAll(_a,...nodes){var{text="Select All",icon="far fa-square",iconSelected="fas fa-check-square"}=_a,a=__rest(_a,["text","icon","iconSelected"]);if(text){return XNode.create(SelectAllControl,Object.assign({for:"label"},a),XNode.create("i",{class:icon,"data-ui-type":"item-select"}),XNode.create("i",{class:iconSelected,"data-ui-type":"item-deselect"}),XNode.create("span",{"data-no-wrap":"true",text}))}return XNode.create(SelectAllControl,Object.assign({for:"label"},a),XNode.create("i",{class:icon,"data-ui-type":"item-select"}),XNode.create("i",{class:iconSelected,"data-ui-type":"item-deselect"}),...nodes)}function disposeChildren(owner,e){if(!e){return}let s=e.firstElementChild;while(s){const c=s;s=s.nextElementSibling;const ac=c.atomControl;if(ac){ac.dispose();continue}disposeChildren(owner,c);owner.unbind(c);owner.unbindEvent(c)}e.innerHTML=""}function disposeChild(owner,e){const ac=e.atomControl;if(ac){ac.dispose();return}disposeChildren(owner,e);owner.unbind(e);owner.unbindEvent(e);e.remove()}function defaultComparer(left,right){if(left&&right){if(left instanceof Date){if(right instanceof Date){return left.getTime()===right.getTime()}return false}}return left===right}function updateDragDrop(e,force=false){if(!e){return}if(force){e.draggable=false}else{force=e.draggable}e=e.firstElementChild;while(e){updateDragDrop(e,force);e=e.nextElementSibling}}_export({askSuggestion,askSuggestionPopup,SelectorCheckBox,SelectAll,disposeChildren,disposeChild,defaultComparer,default:void 0});return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__rest=_tslib.__rest},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreColors){Colors=_webAtomsCoreDistCoreColors.default},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper},function(_webAtomsCoreDistCoreWatchProperty){WatchProperty=_webAtomsCoreDistCoreWatchProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebServicesPopupService){PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_InlinePopup){InlinePopup=_InlinePopup.default},function(_MergeNode){MergeNode=_MergeNode.default},function(_ItemPath){ItemPath=_ItemPath.default},function(_stylesUiDisplayNoneStyle){},function(_stylesPopupStyle){repeaterPopupCss=_stylesPopupStyle.repeaterPopupCss},function(_stylesSuggestionPopup){},function(_stylesRepeaterStyle){},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator},function(_DataAttributes){DataAttributes=_DataAttributes.default}],execute:function(){popupCSS=repeaterPopupCss;_export("getParentRepeaterItem",getParentRepeaterItem=target=>{let eventName;let repeater;let index;let root;while(target){const a=target.atomControl;if(a!==undefined&&a instanceof AtomRepeater){repeater=a;break}if(index===undefined){const itemIndex=target.getAttribute("data-item-index");if(typeof itemIndex!=="undefined"){root=target;index=~~itemIndex}}if(eventName===undefined){const itemClickEvent=target.getAttribute("data-click-event");if(itemClickEvent){eventName=itemClickEvent.replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}}target=target.parentElement}if(index===void 0||repeater===void 0){return undefined}const item=repeater.items[~~index];return[eventName,repeater,item,index,root]});_export("MatchTrue",MatchTrue=(...a)=>true);_export("MatchFalse",MatchFalse=(...a)=>false);_export("ArrowToString",ArrowToString=item=>{var _a,_b;return(_b=(_a=item.label)===null||_a===void 0?void 0:_a.toString())!==null&&_b!==void 0?_b:item.toString()});_export("MatchCaseInsensitive",MatchCaseInsensitive=(textField=ArrowToString)=>s=>{if(!s){return MatchTrue}const r=StringHelper.createContainsRegExp(s);return item=>r.test(textField(item))});_export("MatchAnyCaseInsensitive",MatchAnyCaseInsensitive=(textField=ArrowToString)=>s=>{if(!s){return MatchTrue}const r=StringHelper.createContainsAnyWordRegExp(s);return item=>r.test(textField(item))});_export("SameObjectValue",SameObjectValue=item=>item);SelectAllControl=class SelectAllControl extends AtomControl{preCreate(){this.element.dataset.selectAll="select-all";this.items=[];this.selectedItems=[];this.render(XNode.create(SelectAllControl,{"data-is-selected":Bind.oneWay((()=>this.items.length>0&&this.items.length===this.selectedItems.length),false)}));this.bindEvent(this.element,"click",(()=>{const si=this.selectedItems;const items=this.items;if(!si){return}if(!items){return}if(items.length===0){return}if(items.length===si.length){si.clear()}else{si.length=0;si.push(...items);si.refresh()}}))}};__decorate([BindableProperty,__metadata("design:type",Array)],SelectAllControl.prototype,"items",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],SelectAllControl.prototype,"selectedItems",void 0);getFirstChild=container=>{let child=container.firstElementChild;while(child&&!child.hasAttribute("data-item-index")){child=child.nextElementSibling}return child};_export("default",AtomRepeater=class AtomRepeater extends AtomControl{constructor(){super(...arguments);this.bubbleEvents=true}static from(element){while(element){const{atomControl}=element;if(atomControl instanceof AtomRepeater){return atomControl}element=element.parentElement}}static itemFromElement(e,ar=this.from(e)){const da=new DataAttributes(e,ar);const recreate=da.get("data-recreate");const header=da.get("data-header");const footer=da.get("data-footer");const itemIndex=da.get("data-item-index");const itemPath=da.get("data-item-path");let clickEvent=da.get("data-click-event")||(header?"headerClick":footer?"footerClick":"itemClick");clickEvent=clickEvent.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));const index=~~itemIndex;const item=ar.items[index];let nestedItem=null;if(item){if(itemPath||false){nestedItem=ItemPath.get(item,itemPath.trim())}}return{recreate,header,footer,itemPath,itemIndex,item,nestedItem,clickEvent,target:e}}set refreshEventScope(v){this.registerDisposable(v.listen((ce=>{this.refreshItem(ce.detail)})))}get allSelected(){const selectedItems=this.selectedItems;const items=this.items;if(!(items&&selectedItems)){return false}return items.length&&items.length===selectedItems.length}get value(){var _a;if(this.initialValue!==undefined){return this.initialValue}const sp=this.selectedItem;if(sp===undefined){return sp}const vp=(_a=this.valuePath)!==null&&_a!==void 0?_a:SameObjectValue;return vp(sp)}set value(v){var _a,_b;this.initialValue=v;if(!this.items||!this.items.length){AtomBinder.refreshValue(this,"value");return}const vp=(_a=this.valuePath)!==null&&_a!==void 0?_a:SameObjectValue;const c=(_b=this.comparer)!==null&&_b!==void 0?_b:defaultComparer;const selectedItem=this.items.find((item=>c(vp(item),v)));this.selectedItem=selectedItem;delete this.initialValue}get selectedItem(){var _a;return(_a=this.selectedItems)===null||_a===void 0?void 0:_a[0]}set selectedItem(value){var _a;const si=(_a=this.selectedItems)!==null&&_a!==void 0?_a:this.selectedItems=[];const first=si[0];if(value===first){return}si.set(0,value)}onPropertyChanged(name){var _a,_b;switch(name){case"items":(_a=this.itemsDisposable)===null||_a===void 0?void 0:_a.dispose();const items=this.items;const d=items===null||items===void 0?void 0:items.watch(((target,type,index,item)=>{switch(type){case"add":case"remove":case"set":this.updatePartial(type,index,item);break;default:this.updateItems();break}this.dispatchCustomEvent("items-updated",{type,items,index});AtomBinder.refreshValue(this,"selectedItem");AtomBinder.refreshValue(this,"value")}));if(d){this.itemsDisposable=this.registerDisposable(d)}const iv=this.initialValue;if(iv){this.value=iv}this.updateItems();this.dispatchCustomEvent("items-updated",{type:"reset",items,index:0});if(this.scrollToSelection){this.bringSelectionIntoView()}break;case"selectedItems":(_b=this.selectedItemsDisposable)===null||_b===void 0?void 0:_b.dispose();const selectedItems=this.selectedItems;const sd=selectedItems===null||selectedItems===void 0?void 0:selectedItems.watch((()=>{this.updateClasses();if(this.scrollToSelection){this.bringSelectionIntoView()}if(this.selectedItem){delete this.initialValue}AtomBinder.refreshValue(this,"selectedItem");AtomBinder.refreshValue(this,"value");AtomBinder.refreshValue(this,"allSelected");this.dispatchCustomEvent("selection-updated",selectedItems)}));if(sd){this.selectedItemsDisposable=this.registerDisposable(sd)}this.updateClasses();this.dispatchCustomEvent("selection-updated",selectedItems);AtomBinder.refreshValue(this,"allSelected");break;case"itemRenderer":case"watch":this.updateItems();break;case"visibilityFilter":this.updateVisibility();break;case"header":case"headerRenderer":this.updateHeaderFooter("header",this.headerPresenter,this.header,this.headerRenderer,true);break;case"footer":case"footerRenderer":this.updateHeaderFooter("footer",this.footerPresenter,this.footer,this.footerRenderer);break}}bringSelectionIntoView(force){if(force){const selection=this.selectedItem;if(selection){const element=this.elementForItem(selection);element===null||element===void 0?void 0:element.scrollIntoView()}return}if(this.bringIntoViewId){clearTimeout(this.bringIntoViewId)}this.bringIntoViewId=setTimeout((()=>{clearTimeout(this.bringIntoViewId);this.bringIntoViewId=undefined;this.bringSelectionIntoView(true)}),100)}forEach(action,container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let start=getFirstChild(container);while(start){const index=start.dataset.itemIndex;const item=items[~~index];action(item,start);start=start.nextElementSibling}}*any(fx,itemSelector,container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let node=getFirstChild(container);while(node){const index=node.dataset.itemIndex;const item=items[~~index];let element=node;if(itemSelector){element=element.querySelector(itemSelector)}const ie={item,element};if(fx){if(fx(item)){yield ie}continue}yield ie;node=node.nextElementSibling}}*all(container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let element=getFirstChild(container);while(element){const index=element.dataset.itemIndex;const item=items[~~index];yield{item,element};element=element.nextElementSibling}}elementAt(index,container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const indexText=index.toString();const element=ChildEnumerator.find(container,(e=>e.getAttribute("data-item-index")===indexText));return element}elementForItem(itemToFind,container){const index=this.items.indexOf(itemToFind);return this.elementAt(index,container)}refreshItem(item,fx,index=-1){if(index===-1){index=this.items.indexOf(item)}if(fx===null||fx===void 0?void 0:fx.then){const finalize=v=>{this.refreshItem(item,v,index)};fx.then(finalize,finalize);return}if(fx instanceof MergeNode){this.mergeItem(index,fx);return}this.updatePartial("set",index,item)}mergeItem(index,m){var _a,_b,_c;const item=this.items[index];if(!item){return}if((_b=(_a=m.classes)===null||_a===void 0?void 0:_a[0])===null||_b===void 0?void 0:_b.remove){this.items.removeAt(index);return}const container=(_c=this.itemsPresenter)!==null&&_c!==void 0?_c:this.element;const node=this.itemRenderer(item,index,this);const sourceElement=document.createElement("div");sourceElement.style.display="none";container.appendChild(sourceElement);this.render(node,sourceElement);const targetElement=this.elementAt(index);for(const iterator of m.classes){if(typeof iterator==="string"){const source=sourceElement.querySelectorAll(iterator);const target=targetElement.querySelectorAll(iterator);for(let i=0;i<source.length&&i<target.length;i++){const element=source[i];const te=target[i];for(const name of te.getAttributeNames()){te.removeAttribute(name)}te.innerHTML=element.innerHTML;for(const name of element.getAttributeNames()){te.setAttribute(name,element.getAttribute(name))}}continue}if(iterator.parent){const targetParent=/self|\*/.test(iterator.parent)?targetElement:targetElement.querySelector(iterator.parent);if(!targetParent){continue}for(const i of Array.from(targetElement.querySelectorAll(iterator.replace))){i.remove()}for(const i of Array.from(sourceElement.querySelectorAll(iterator.replace))){targetParent.appendChild(i)}continue}let targetPrevious=targetElement.querySelector(iterator.after);for(const i of Array.from(targetElement.querySelectorAll(iterator.replace))){i.remove()}for(const i of Array.from(sourceElement.querySelectorAll(iterator.replace))){targetPrevious.insertAdjacentElement("afterend",i);targetPrevious=i}}this.dispose(sourceElement);sourceElement.remove()}updatePartial(key,index,item,container){var _a,_b,_c,_d,_e,_f,_g;const items=this.items;if(!items){return}const ir=this.itemRenderer;if(!ir){return}container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;let start=getFirstChild(container);let ei;while(start){ei=~~start.getAttribute("data-item-index");if(ei===index){break}start=start.nextElementSibling}if(key!=="add"&&!start){return}const vp=(_b=this.valuePath)!==null&&_b!==void 0?_b:it=>it;const si=((_c=this.selectedItems)!==null&&_c!==void 0?_c:[]).map(vp);const isRemove=key==="remove";if(isRemove||key==="set"){const current=start;start=start.nextElementSibling;const ac=current.atomControl;if(ac){ac.dispose()}else{this.unbind(current);this.unbindEvent(current)}current.remove()}const end=((_d=this.footerElement)===null||_d===void 0?void 0:_d.parentElement)===container?this.footerElement:null;if(!isRemove){const en=ir(item,index,this);const ea=(_e=en.attributes)!==null&&_e!==void 0?_e:en.attributes={};const v=vp(item);const e=document.createElement((_g=(_f=ea.for)!==null&&_f!==void 0?_f:en.name)!==null&&_g!==void 0?_g:"div");e.setAttribute("data-item-index",`${index++}`);if(si.indexOf(v)!==-1){e.setAttribute("data-selected-item","true")}else{e.removeAttribute("data-selected-item")}if(this.enableDragDrop){updateDragDrop(e)}if(start){container.insertBefore(e,start)}else if(end){container.insertBefore(e,end)}else{container.appendChild(e)}this.render(en,e,this.creator||this)}while(start){const ci=items[index];const cv=vp(ci);start.setAttribute("data-item-index",`${index++}`);if(si.indexOf(cv)!==-1){start.setAttribute("data-selected-item","true")}else{start.removeAttribute("data-selected-item")}start=start.nextElementSibling}}updateItems(container,force){var _a,_b,_c,_d,_e,_f;if(this.deferUpdates&&!force){if(this.deferredUpdateId){return}this.deferredUpdateId=setTimeout((()=>{this.deferredUpdateId=0;this.updateItems(container,true)}),1);return}container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;if(!container){return}disposeChildren(this,container);this.onPropertyChanged("header");const ir=this.itemRenderer;if(!ir){this.onPropertyChanged("footer");return}const items=this.items;if(!items){this.onPropertyChanged("footer");return}const vp=(_b=this.valuePath)!==null&&_b!==void 0?_b:it=>it;const si=((_c=this.selectedItems)!==null&&_c!==void 0?_c:[]).map(vp);let i=0;for(const iterator of items){const index=i++;const e=ir(iterator,index,this);const ea=(_d=e.attributes)!==null&&_d!==void 0?_d:e.attributes={};const v=vp(iterator);const element=document.createElement((_f=(_e=ea.for)!==null&&_e!==void 0?_e:e.name)!==null&&_f!==void 0?_f:"div");element.setAttribute("data-item-index",`${index}`);if(si.indexOf(v)!==-1){element.setAttribute("data-selected-item","true")}else{element.removeAttribute("data-selected-item")}this.render(e,element,this.creator||this);if(this.enableDragDrop){updateDragDrop(element)}container.appendChild(element)}this.onPropertyChanged("footer")}render(node,e,creator){if(!this.creator&&this!==creator){this.creator=creator}this.render=super.render;return super.render(node,e,creator)}preCreate(){this.mergeOnRefresh=false;this.selectOnClick=false;this.element.setAttribute("data-click-event","item-click")}dispatchCustomEvent(type,detail){if(!this.element){return}const eventName=this.element.getAttribute("data-"+type+"-event");type=StringHelper.fromHyphenToCamel(eventName!==null&&eventName!==void 0?eventName:type);this.element.dispatchEvent(new CustomEvent(type,{detail,bubbles:eventName!==null,cancelable:true}))}updateClasses(){var _a,_b,_c;const container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let element=getFirstChild(container);const vp=(_b=this.valuePath)!==null&&_b!==void 0?_b:i=>i;const si=((_c=this.selectedItems)!==null&&_c!==void 0?_c:[]).map(vp);while(element){const index=~~element.dataset.itemIndex;const item=items[index];const v=vp(item);if(si.indexOf(v)!==-1){element.setAttribute("data-selected-item","true")}else{element.removeAttribute("data-selected-item")}element=element.nextElementSibling}}updateVisibility(){var _a,_b;const container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let element=container.firstElementChild;const vf=(_b=this.visibilityFilter)!==null&&_b!==void 0?_b:MatchTrue;while(element){const index=~~element.dataset.itemIndex;const item=items[index];if(vf(item)){element.removeAttribute("data-ui-display")}else{element.setAttribute("data-ui-display","none")}element=element.nextElementSibling}}updateHeaderFooter(name,presenter,item,itemRenderer,insert){var _a,_b,_c,_d;presenter!==null&&presenter!==void 0?presenter:presenter=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.itemsPresenter=this.element;if(!presenter){this[name+"Element"]=null;return}let current;if(insert){current=presenter.firstElementChild;while(current&&current.dataset[name]!==name){current=current.nextElementSibling}}else{current=presenter.lastElementChild;while(current&&current.dataset[name]!==name){current=current.previousElementSibling}}if(current){disposeChild(this,current);this[name+"Element"]=null}if(!(item&&itemRenderer)){return}const node=itemRenderer(item);const element=document.createElement((_d=(_c=(_b=node.attributes)===null||_b===void 0?void 0:_b.for)!==null&&_c!==void 0?_c:node.name)!==null&&_d!==void 0?_d:"div");element.dataset[name]=name;this.render(node,element,this.creator||this);if(insert){presenter.insertBefore(element,presenter.firstElementChild)}else{presenter.appendChild(element)}this[name+"Element"]=element}dispatchHeaderFooterEvent(eventName,type,recreate,originalTarget){const detail=this[type];const ce=new CustomEvent(eventName!==null&&eventName!==void 0?eventName:`${type}Click`,{detail,bubbles:this.bubbleEvents,cancelable:true});originalTarget.dispatchEvent(ce);if(ce.defaultPrevented||!ce.executed){return}if(recreate){this.onPropertyChanged(type)}}dispatchItemEvent(eventName,item,recreate,originalTarget,nestedItem){var _a;const ce=new CustomEvent(eventName!==null&&eventName!==void 0?eventName:"itemClick",{detail:nestedItem!==null&&nestedItem!==void 0?nestedItem:item,bubbles:this.bubbleEvents,cancelable:true});originalTarget.dispatchEvent(ce);if(!ce.defaultPrevented){if(this.selectOnClick||eventName==="itemSelect"||eventName==="itemDeselect"){const si=(_a=this.selectedItems)!==null&&_a!==void 0?_a:this.selectedItems=[];if(si){const index=si.indexOf(item);if(index===-1){if(this.allowMultipleSelection){si.add(item)}else{si.set(0,item)}}else{si.removeAt(index)}}}}if(ce.defaultPrevented||!ce.executed){return}const promise=ce.promise;if(recreate){this.refreshItem(item,promise);return}if(promise){promise.then((r=>r instanceof MergeNode&&this.refreshItem(item,r)))}}dispatchClickEvent(e,data){const{recreate,header,footer,itemIndex,itemPath,clickEvent,item,nestedItem}=AtomRepeater.itemFromElement(e.target,this);if(itemIndex!==void 0){if(item){if(nestedItem){this.dispatchItemEvent(clickEvent,item,recreate,e.target,nestedItem);return}this.dispatchItemEvent(clickEvent,item,recreate,e.target)}return}if(header){this.dispatchHeaderFooterEvent(clickEvent,header,recreate,e.target)}if(footer){this.dispatchHeaderFooterEvent(clickEvent,footer,recreate,e.target)}}});__decorate([BindableProperty,__metadata("design:type",Boolean)],AtomRepeater.prototype,"allowMultipleSelection",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"selectOnClick",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],AtomRepeater.prototype,"selectedItems",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"itemsPresenter",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],AtomRepeater.prototype,"items",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"watch",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"visibilityFilter",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"enableFunc",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"itemRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"valuePath",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"comparer",void 0);__decorate([BindableProperty,__metadata("design:type",Boolean)],AtomRepeater.prototype,"deferUpdates",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"header",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"headerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"footer",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"footerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"enableDragDrop",void 0);__decorate([WatchProperty,__metadata("design:type",Object),__metadata("design:paramtypes",[])],AtomRepeater.prototype,"allSelected",null);hoverItem={repeater:null,target:null,item:null,placeholder:null};document.body.addEventListener("dragstart",(e=>{const{target}=e;if(target.draggable){const ri=getParentRepeaterItem(target);if(!ri){return}const[type,repeater,item,index]=ri;if(!repeater||!repeater.enableDragDrop){return}const placeholder=document.createElement("div");placeholder.style.width=target.offsetWidth+"px";placeholder.style.height=target.offsetHeight+"px";placeholder.style.backgroundColor=Colors.lightGray.toString();placeholder.style.border="solid 1px gray";placeholder.style.borderRadius="10px";hoverItem={repeater,target,item,placeholder};e.dataTransfer.dropEffect="move";setTimeout((()=>{target.style.display="none";target.parentElement.insertBefore(placeholder,target)}),0)}}));document.body.addEventListener("dragend",(e=>{var _a,_b;if(!(hoverItem===null||hoverItem===void 0?void 0:hoverItem.placeholder)){return}const{item,placeholder,repeater}=hoverItem;let start=placeholder;let index=-1;while(start){const itemIndex=(_b=(_a=start.previousElementSibling)===null||_a===void 0?void 0:_a.dataset)===null||_b===void 0?void 0:_b.itemIndex;if(itemIndex!==void 0){index=~~itemIndex}if(start.parentElement.atomControl){break}start=start.parentElement}const targetRepeater=start.parentElement.atomControl;placeholder.remove();hoverItem.placeholder=null;repeater.items.remove(item);index++;const ce=new CustomEvent("itemDropped",{detail:{item,index}});if(ce.defaultPrevented){return}const{detail}=ce;targetRepeater.items.insert(detail.index,detail.item)}));dragOver=e=>{if(!e.dataTransfer){return}if(hoverItem){const{placeholder}=hoverItem;if(!placeholder){return}if(e.target===placeholder){return}}const ri=getParentRepeaterItem(e.target);if(!ri){return}const[type,repeater,item,index,target]=ri;if(!repeater){return}if(hoverItem){const{placeholder}=hoverItem;e.preventDefault();const mp={x:e.clientX,y:e.clientY};const isBefore=(co,n)=>n.x<=co.x+co.width*.3||n.y<=co.y+co.height*.3;const isAfter=(co,n)=>n.x>=co.x+co.width*.7||n.y>=co.y+co.height*.7;const targetBounds=target.getBoundingClientRect();if(isAfter(targetBounds,mp)){const next=target.nextElementSibling;if(next===placeholder){return}placeholder.remove();target.insertAdjacentElement("afterend",placeholder);return}if(isBefore(targetBounds,mp)){const previous=target.previousElementSibling;if(previous===placeholder){return}placeholder.remove();target.insertAdjacentElement("beforebegin",placeholder)}return}};document.body.addEventListener("dragover",dragOver);document.body.addEventListener("dragenter",dragOver)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/AtomRepeater");System.register(["@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var DateTime,DIVISIONS,DateFormats;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){DIVISIONS=[{amount:60,name:"seconds"},{amount:60,name:"minutes"},{amount:24,name:"hours"},{amount:7,name:"days"},{amount:4.34524,name:"weeks"},{amount:12,name:"months"},{amount:Number.POSITIVE_INFINITY,name:"years"}];_export("DateFormats",DateFormats={diff(d){if(!d){return""}if(!(d instanceof DateTime)){d=typeof d==="string"?new DateTime(d):DateTime.from(d)}const today=DateTime.now;let diff=today.diff(d);if(diff.totalMilliseconds<0){diff=d.diff(today)}if(diff.totalHours<=24){if(diff.totalSeconds<=180){return"now"}if(diff.totalMinutes<60){return Math.round(diff.totalMinutes)+"m"}return Math.round(diff.totalHours)+"h"}if(diff.totalDays<=30){return Math.round(diff.totalDays)+"d"}if(diff.totalDays<=365){return Math.round(diff.totalDays/30)+"mo"}return Math.round(diff.totalDays/365)+"yr"},withWeekDayAndTime(d,def=""){var _a;if(!d){return def}d=DateTime.from(d);return(_a=d===null||d===void 0?void 0:d.toLocaleString(navigator.language,{year:"numeric",month:"short",day:"numeric",weekday:"short",hour12:true,minute:"numeric",hour:"numeric"}))!==null&&_a!==void 0?_a:def},relative:{short(d){if(!d){return""}d=DateTime.from(d);const now=DateTime.now;if(now<d){return"in "+DateFormats.diff(d)}return DateFormats.diff(d)+" ago"}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/date/DateFormats");System.register([],(function(_export,_context){"use strict";function newCSSStyleDeclaration(){const e=document.createElement("div");return e.style}function mergeStyle(...styles){var _a,_b;const s=newCSSStyleDeclaration();for(const iterator of styles){if(!iterator){continue}if(iterator instanceof CSSStyleDeclaration){for(let index=0;index<iterator.length;index++){const name=iterator[index];let value=(_a=iterator[name])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}s[name]=value}continue}for(const key in iterator){if(Object.prototype.hasOwnProperty.call(iterator,key)){const element=(_b=iterator[key])===null||_b===void 0?void 0:_b.toString();if(!element){continue}s[key]=element}}}return s}_export({newCSSStyleDeclaration,default:mergeStyle});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/style/mergeStyle");System.register(["../style/mergeStyle"],(function(_export,_context){"use strict";var newCSSStyleDeclaration,StyleHelper,toStyle;_export("default",void 0);return{setters:[function(_styleMergeStyle){newCSSStyleDeclaration=_styleMergeStyle.newCSSStyleDeclaration}],execute:function(){toStyle=style=>{var _a;if(typeof style==="string"){const css=style;const cs=newCSSStyleDeclaration();cs.cssText=css;return cs}const s=newCSSStyleDeclaration();if(style instanceof CSSStyleDeclaration){return style}for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=(_a=style[key])===null||_a===void 0?void 0:_a.toString();if(element===void 0||element===null||element===""){continue}s[key]=element}}return s};_export("default",StyleHelper=class StyleHelper{static styleToString(style,props){var _a;if(!style){return}const cs=toStyle(style);if(props){const ps=toStyle(props);for(let index=0;index<ps.length;index++){const key=ps[index];let value=(_a=ps[key])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}cs[key]=value}}const allKeys=[];for(let index=0;index<cs.length;index++){const key=cs[index];allKeys.push(key)}for(const key of allKeys){if(!cs[key]){cs.removeProperty(key)}}return cs.cssText}})}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/dom/StyleHelper");System.register(["@web-atoms/core/dist/core/XNode","./dom/StyleHelper"],(function(_export,_context){"use strict";var XNode,StyleHelper;function DomToString(node){const div=document.createElement("div");render(div,XNode.create("div",null,node));return div.innerHTML}function render(div,node){var _a;while(typeof node.name==="function"){node=node.name(node.attributes,...node.children)}const a=node.attributes;if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){let element=a[key];if(element===null||element===void 0){continue}if(typeof element==="object"&&key==="style"){element=StyleHelper.styleToString(element)}else{element=element.toString()}if(!element){continue}switch(key){case"text":div.textContent=element;continue;case"innerHTML":div.innerHTML=element;continue}if(key.startsWith("styler-")){div.setAttribute(key,element);continue}if(key.startsWith("style")&&key.length>5){div.style[key.substring(5)]=element;continue}if(key.startsWith("data")&&key.length>4){if(key.indexOf("-")!==-1){div.setAttribute(key,element);continue}div.dataset[key.substring(4)]=element;continue}div.setAttribute(key,element)}}}if(!((_a=node.children)===null||_a===void 0?void 0:_a.length)){return}for(let iterator of node.children){if(iterator===false||iterator===void 0||iterator===null){continue}if(typeof iterator!=="object"){div.appendChild(document.createTextNode(iterator.toString()));continue}while(typeof iterator.name==="function"){iterator=iterator.name(iterator.attributes,...iterator.children)}const child=document.createElement(iterator.name);div.appendChild(child);render(child,iterator)}}_export("default",DomToString);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_domStyleHelper){StyleHelper=_domStyleHelper.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/DomToString");System.register(["@web-atoms/core/dist/core/EventScope"],(function(_export,_context){"use strict";var EventScope,CommonEvents;return{setters:[function(_webAtomsCoreDistCoreEventScope){EventScope=_webAtomsCoreDistCoreEventScope.default}],execute:function(){_export("CommonEvents",CommonEvents={onThreadMarkedAsRead:EventScope.create(),onThreadMarkedAsBlocked:EventScope.create(),onDraftDeleted:EventScope.create(),onFileDeleted:EventScope.create(),onEmailScheduled:EventScope.create(),onEmailUnscheduled:EventScope.create(),onEmailForward:EventScope.create(),onEmailForwardAsAttachment:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/events/CommonEvents");System.register(["@web-atoms/core/dist/core/EventScope"],(function(_export,_context){"use strict";var EventScope,MailAppEvents;return{setters:[function(_webAtomsCoreDistCoreEventScope){EventScope=_webAtomsCoreDistCoreEventScope.default}],execute:function(){_export("MailAppEvents",MailAppEvents={mailboxContactUpdated:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/commands/MailAppEvents");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","@web-atoms/email-dom/dist/DomToString","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/date-time/dist/DateTime","../../../../common/events/CommonEvents","../../../../services/BusyProgress","../../../../services/email/EmailContentDownloader","./EngagementService","../../../../common/apiPath","../../../commands/MailAppEvents"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Email,EmailRecipient,MailboxContactEmail,MailboxEmail,Sql,DomToString,XNode,AtomControl,descendentElementIterator,DateTime,CommonEvents,BusyProgress,EmailContentDownloader,EngagementService,apiPath,MailAppEvents,renderMail,ConversationService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Email=_modelModel.Email;EmailRecipient=_modelModel.EmailRecipient;MailboxContactEmail=_modelModel.MailboxContactEmail;MailboxEmail=_modelModel.MailboxEmail},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_servicesBusyProgress){BusyProgress=_servicesBusyProgress.default},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_EngagementService){EngagementService=_EngagementService.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_commandsMailAppEvents){MailAppEvents=_commandsMailAppEvents.MailAppEvents}],execute:function(){_export("renderMail",renderMail=AtomControl.registerProperty("data-html","html",((c,e,value)=>{var _a;if(!value){e.innerHTML="";return}const thread=value;const mail=thread.email;const html=mail.htmlBody;const msg=document.createElement("div");if(!html){for(const iterator of html.split("\n")){const p=document.createElement("p");p.appendChild(document.createTextNode(iterator));msg.appendChild(p)}e.appendChild(msg);return}msg.innerHTML=html;for(const iterator of descendentElementIterator(msg)){let cid=iterator.getAttribute("data-content-id");if(cid){const a=mail.attachments.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",a.url);continue}}if(/^(IMG|VIDEO)$/.test(iterator.tagName)){const src=iterator.getAttribute("src");if(src){if(src.startsWith("cid:")){cid=src.substring(4);const a=mail.attachments.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",apiPath(`/api/files/${a.appFileID}/${a.fileContentID}/${a.name}`))}}if(/^http\:\/\//i.test(src)){iterator.setAttribute("src",src.substring(5))}}continue}if(iterator.tagName==="A"){iterator.target="_blank"}}const shadow=e.attachShadow({mode:"open"});shadow.appendChild(msg);if(!thread.timeRead&&thread.mailboxID&&thread.mailboxID!==((_a=thread.email)===null||_a===void 0?void 0:_a.senderID)){const timeRead=DateTime.now;thread.timeRead=timeRead;const control=AtomControl.from(e);const entityService=control.app.resolve(EntityService);entityService.save(MailboxContactEmail.patch(thread,{timeRead})).then((()=>{CommonEvents.onThreadMarkedAsRead.dispatchEvent(thread)}),console.error)}msg.style.overflow="visible";msg.style.display="flex";msg.style.flexDirection="column";msg.style.wordBreak="break-all";setTimeout((()=>{if(msg.scrollWidth>msg.offsetWidth){msg.style.scale=msg.offsetWidth/msg.scrollWidth+"";msg.style.transformOrigin="top left"}}),100);return})));ConversationService=class ConversationService{closeAllThreads(contact){return __awaiter(this,void 0,void 0,(function*(){contact.dateUpdated=DateTime.now;contact.closeAllConversations=true;yield this.entityService.save(contact,(c=>c));contact.openThreads=0;MailAppEvents.mailboxContactUpdated.dispatchEvent(contact)}))}closePermanently(contact){return __awaiter(this,void 0,void 0,(function*(){contact.autoClose=!contact.autoClose;contact.dateUpdated=DateTime.now;yield this.entityService.save(contact,(c=>c));MailAppEvents.mailboxContactUpdated.dispatchEvent(contact)}))}getDraft({mailboxID,emailAddressID,email}){return __awaiter(this,void 0,void 0,(function*(){const draft="draft";return yield this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID,draft},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.email.status===p.draft)).orderByDescending((x=>x.emailID)).include((x=>[x.email.recipients,x.email.attachments])).firstOrDefault()}))}draft({mailboxID,emailAddressID,email},create=false,saveAttachments=true,cancelToken){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){if(email===null||email===void 0?void 0:email.emailID){email.subject||(email.subject="");email.dateUpdated=DateTime.now;let cloner=this.entityService.cloner(Object.assign({},email));if(saveAttachments){cloner=cloner.include((x=>x.attachments))}yield this.entityService.save(cloner.copy);return email}if(create&&email){const recipients=(_a=email.recipients)!==null&&_a!==void 0?_a:email.recipients=[];const mailboxes=(_b=email.mailboxes)!==null&&_b!==void 0?_b:email.mailboxes=[];const threads=(_c=email.threadContacts)!==null&&_c!==void 0?_c:email.threadContacts=[];email.senderID=mailboxID;email.status="draft";if(!mailboxes.some((m=>m.mailboxID===mailboxID))){mailboxes.push(MailboxEmail.create({mailboxID}))}if(!recipients.some((r=>r.emailAddressID===emailAddressID))){recipients.push(EmailRecipient.create({emailAddressID}))}if(!threads.some((r=>r.mailboxID===mailboxID))){threads.push(MailboxContactEmail.create({mailboxID,emailAddressID}))}yield this.entityService.save(email)}return email}))}list({search="",mailboxID,emailAddressID,start=0,size=100,version=0,cancelToken}){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.engagement===null));if(search){if(!/\%/.test(search)){search=`%${search}%`}q=q.where({search},(p=>x=>Sql.text.iLike(x.email.subject,p.search)||Sql.text.iLike(x.email.textBody,p.search)||x.email.attachments.some((a=>Sql.text.iLike(a.fileContent.textDocument.searchable,p.search)))))}const emails=yield q.include((x=>[x.email.recipients.forEach((r=>r.emailAddress)),x.email.attachments,x.email.senderUser,x.email.senderEmail])).orderByDescending((x=>x.dateReceived)).toPagedList({start,size,cancelToken});const tasks=[];const d=BusyProgress.create();try{for(const mce of emails.items){const{email}=mce;(_a=email.htmlBody)!==null&&_a!==void 0?_a:email.htmlBody="";(_b=email.textBody)!==null&&_b!==void 0?_b:email.textBody="";tasks.push(this.downloadEmailContent(mce));tasks.push(this.engagementService.downloadEngagements(email))}yield Promise.all(tasks)}finally{(_c=d===null||d===void 0?void 0:d.dispose)===null||_c===void 0?void 0:_c.call(d)}return emails}))}stopEmail(mce){return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;email.status="draft";yield this.entityService.save(email,(c=>c));CommonEvents.onEmailUnscheduled.dispatchEvent(mce)}))}downloadEmailContent(mce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;if(email.replyCount){const children=yield this.entityService.query(Email).where({emailID:email.emailID},(p=>x=>x.emailID===p.emailID&&x.engagement!==null)).orderByDescending((x=>x.emailID)).toPagedList({start:0,size:4,cacheVersion:"a",cacheSeconds:900});email.children=(_a=children===null||children===void 0?void 0:children.items)!==null&&_a!==void 0?_a:[]}else{(_b=email.children)!==null&&_b!==void 0?_b:email.children=[]}yield this.emailContentDownloader.download(mce)}))}renderText(html){const div=document.createElement("div");div.innerHTML=html;return div.textContent}renderHtml(html){const div=document.createElement("div");div.innerHTML=html;return div.innerHTML}toHtml(textBody){return DomToString(XNode.create("div",null,...textBody.split("\n").map((p=>XNode.create("p",{text:p})))))}block(thread){return __awaiter(this,void 0,void 0,(function*(){thread.blocked=!thread.blocked;const cloner=this.entityService.cloner(thread).copy;yield this.entityService.save(cloner);CommonEvents.onThreadMarkedAsBlocked.dispatchEvent(thread)}))}delete(email){return __awaiter(this,void 0,void 0,(function*(){const{emailID,status}=email;yield this.entityService.delete(Email.create({emailID,status}));CommonEvents.onDraftDeleted.dispatchEvent(email)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ConversationService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],ConversationService.prototype,"emailContentDownloader",void 0);__decorate([Inject,__metadata("design:type",EngagementService)],ConversationService.prototype,"engagementService",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(["@web-atoms/core/dist/core/XNode","../../common/date/DateFormats","@web-atoms/core/dist/core/types","../../web/page/mails/service/ConversationService"],(function(_export,_context){"use strict";var XNode,DateFormats,UMD,renderMail,commentIcon;function PostView({email=void 0,itemPath=void 0}){var _a;const{engagements=[]}=email;const isComment=email.parentID!==null;return XNode.create("section",{"data-element":"blog-item","data-comment":isComment,"data-item-path":itemPath},XNode.create("h4",{"data-element":"title"},XNode.create("label",{text:isComment?email.senderName:email.subject})),XNode.create("h6",{"data-element":"date",text:DateFormats.relative.short(email.dateSent)}),!isComment&&XNode.create("h5",{text:email.senderName}),XNode.create("section",{"data-element":"content"},!email.parentID?XNode.create("section",Object.assign({},renderMail({email}))):XNode.create("section",{text:email.textBody})),XNode.create("footer",null,XNode.create("button",{"data-element":"engage","data-click-event":"react-email",style:"padding:0; margin:0; border: none; outline: none;"},XNode.create("img",{src:UMD.resolvePath("@social-mail/social-mail-client/content/images/icons/face-plus.svg"),"style-max-height":"15px",title:"React"})),XNode.create("button",{"data-element":"engage","data-click-event":"reply-email",style:"padding:0; margin:0; border: none; outline: none;"},XNode.create("img",{src:UMD.resolvePath("@social-mail/social-mail-client/content/images/icons/comment-plus.svg"),"style-max-height":"15px",title:"React"})),...engagements.map((x=>XNode.create("span",{"data-click-event":x.engagement===commentIcon?"view-comments":"none","data-element":"engagements",title:`View all ${x.engagement} ${x.count}`,text:`${x.engagement} ${x.count}`})))),XNode.create("section",{"data-element":"comments"},...((_a=email.children)!==null&&_a!==void 0?_a:[]).map(((c,i)=>XNode.create(PostView,{itemPath:`${itemPath?itemPath:"$"}.children.${i}`,email:c})))))}_export("default",PostView);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_webPageMailsServiceConversationService){renderMail=_webPageMailsServiceConversationService.renderMail}],execute:function(){commentIcon="💬"}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/PostView");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/web/controls/AtomControl","./BlogService","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","./emoji/EmojiPopup","./styles/channelViewStyle","@web-atoms/core/dist/web/services/PopupService","@web-atoms/web-controls/dist/basic/AtomRepeater","./PostView"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,AtomControl,BlogService,XNode,Action,EmojiPopup,channelViewStyle,PopupService,AtomRepeater,PostView,ChannelMessage,_a,url,channelID,emailID,commentIcon;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_BlogService){BlogService=_BlogService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_emojiEmojiPopup){EmojiPopup=_emojiEmojiPopup.default},function(_stylesChannelViewStyle){channelViewStyle=_stylesChannelViewStyle.channelViewStyle},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_PostView){PostView=_PostView.default}],execute:function(){url=window.pageUrl;({1:channelID="1",2:emailID="2a"}=(_a=/^\/channels\/([^\/]+)\/([^\/]+)\//.exec(url===null||url===void 0?void 0:url.pathname))!==null&&_a!==void 0?_a:{});channelID=parseInt(channelID,36);emailID=parseInt(emailID,36);commentIcon="💬";_export("default",ChannelMessage=class ChannelMessage extends AtomControl{constructor(app,e=document.createElement("section")){super(app,e);this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const channel=yield this.blogService.getChannel(void 0,channelID,void 0);this.channel=channel;const email=yield this.blogService.getEmail({emailID,channelID});this.email=email;const engagements=(_a=email.engagements)!==null&&_a!==void 0?_a:[];this.element.className=channelViewStyle;this.element.setAttribute("data-blog-list","blog-list");this.element.setAttribute("data-layout","flex-center");this.renderer=XNode.create("section",null,XNode.create("header",null,XNode.create("div",{"styler-display":"flex","styler-gap":"size-default"},XNode.create("span",{text:channel.emailAddress.name}),XNode.create("a",{href:`mailto:subscribe-${channel.emailAddress.emailAddress}?subject=subscribe`},XNode.create("button",null,"Follow")))),XNode.create("section",null,XNode.create(AtomRepeater,{items:[email],itemRenderer:x=>XNode.create(PostView,{email:x})})),XNode.create("aside",null),XNode.create("footer",null))}))}reactEmail(email,ce){return __awaiter(this,void 0,void 0,(function*(){const{headerMessageID}=email;const emoji=yield EmojiPopup.showControl(ce.target,{parentElement:ce.target});const{channel}=this;const subject=`${emoji}:${Number(email.emailID).toString(36)}:${headerMessageID}`;yield PopupService.alert({message:XNode.create("div",{"data-layout":"vertical-flex"},"To add your emoji to this post, email just the emoji ",emoji," with given subject to the channel email address.",XNode.create("div",null,"To: ",channel.emailAddress.emailAddress),XNode.create("div",null,"Subject: ",subject),XNode.create("div",null,"Body: ",emoji),XNode.create("div",null,XNode.create("a",{href:`mailto:${channel.emailAddress.emailAddress}?subject=${subject}&body=${emoji}&in-reply-to=${headerMessageID}`},"Email Now"))),title:"Send Email"})}))}replyEmail(email,ce){return __awaiter(this,void 0,void 0,(function*(){const emoji=commentIcon;const{headerMessageID}=email;const{channel}=this;const subject=`${emoji}:${Number(email.emailID).toString(36)}:${headerMessageID}`;yield PopupService.alert({message:XNode.create("div",{"data-layout":"vertical-flex"},"To send comment to this post, email us your comment with given subject to the channel email address.",XNode.create("div",null,"To: ",channel.emailAddress.emailAddress),XNode.create("div",null,"Subject: ",subject),XNode.create("div",null,XNode.create("a",{href:`mailto:${channel.emailAddress.emailAddress}?subject=${subject}&in-reply-to=${headerMessageID}`},"Email Now"))),title:"Send Email"})}))}});__decorate([InjectProperty,__metadata("design:type",BlogService)],ChannelMessage.prototype,"blogService",void 0);__decorate([Action({onEvent:"react-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ChannelMessage.prototype,"reactEmail",null);__decorate([Action({onEvent:"reply-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ChannelMessage.prototype,"replyEmail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/ChannelMessage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __rest,XNode,styled,toggleDetails,setEventHandler;function LimitedText(_a,...nodes){var{text="",height=100}=_a,a=__rest(_a,["text","height"]);setEventHandler===null||setEventHandler===void 0?void 0:setEventHandler();const h=typeof height==="number"?`${height}px`:height;return XNode.create("div",Object.assign({"data-mode":"collapsed","data-max-height":h,"style-max-height":h,"data-limited-text":"limited-text"},a),text&&XNode.create("p",{text}),...nodes,XNode.create("div",{"style-top":h,"data-element":"more"},XNode.create("button",{class:"fa-solid fa-angles-up"})))}_export("default",LimitedText);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
585
+ `.withId("repeater-styles").installGlobal()}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/repeater-style");System.register([],(function(_export,_context){"use strict";var DataAttributes;_export("default",void 0);return{setters:[],execute:function(){_export("default",DataAttributes=class DataAttributes{static from(e,till){return new DataAttributes(e,till)}constructor(element,till){this.element=element;this.till=till}get(name){let start=this.element;const till=this.till;while(start&&start!==till){const a=start.getAttribute(name);if(a){return a}start=start.parentElement}}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/DataAttributes");System.register(["tslib","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/core/WatchProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/services/PopupService","./InlinePopup","./MergeNode","./ItemPath","./styles/ui-display-none-style","./styles/popup-style","./styles/suggestion-popup","./styles/repeater-style","@web-atoms/core/dist/web/core/AtomUI","../DataAttributes"],(function(_export,_context){"use strict";var __decorate,__metadata,__rest,AtomBinder,Bind,BindableProperty,Colors,StringHelper,WatchProperty,XNode,AtomControl,PopupWindow,InlinePopup,MergeNode,ItemPath,repeaterPopupCss,ChildEnumerator,DataAttributes,SelectAllControl,AtomRepeater,popupCSS,getParentRepeaterItem,MatchTrue,MatchFalse,ArrowToString,MatchCaseInsensitive,MatchAnyCaseInsensitive,SameObjectValue,getFirstChild,hoverItem,dragOver;function askSuggestion(items,itemRenderer,match,options){class Suggestions extends PopupWindow{create(){var _a;this.title=(_a=options===null||options===void 0?void 0:options.title)!==null&&_a!==void 0?_a:"Select";this.render(XNode.create("div",{class:popupCSS},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),autofocus:true}),XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",itemRenderer,visibilityFilter:Bind.oneWay((()=>match(this.search))),eventItemClick:e=>{this.close(e.detail)},items}))))}}__decorate([BindableProperty,__metadata("design:type",String)],Suggestions.prototype,"search",void 0);options!==null&&options!==void 0?options:options={};if(typeof options.maximize==="undefined"){if(typeof options.width==="undefined"){options.maxWidth="90%";options.minWidth="300px"}if(typeof options.height==="undefined"){options.height="80%"}}return Suggestions.showModal(options)}function askSuggestionPopup(opener,items,itemRenderer,match,selectedItem){const updateSearch="search"in opener;const itemsInOpener="items"in opener;class Suggestions extends InlinePopup{get items(){return itemsInOpener?this.opener.items:items}onPropertyChanged(name){if(updateSearch&&name==="search"){opener.search=this.search}super.onPropertyChanged(name)}create(){this.anchorItem=selectedItem;this.opener=opener;if(this.opener.search){this.search=this.opener.search}if(selectedItem){this.anchorIndex=items.indexOf(selectedItem)}const disableSearch=opener.disableSearch;if(itemsInOpener){this.render(XNode.create("div",{"data-suggestion-popup":"suggestion-popup"},!disableSearch&&XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),eventKeydown:e=>this.onKey(e),autofocus:true}),XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",selectedItem:Bind.oneWay((()=>this.anchorItem)),itemRenderer,visibilityFilter:Bind.oneWay((()=>match(this.search))),eventItemClick:e=>{this.anchorItem=e.detail;setTimeout((()=>this.close(e.detail)),100)},items:Bind.oneWay((()=>this.opener.items))}))));return}this.render(XNode.create("div",{"data-suggestion-popup":"suggestion-popup"},!disableSearch&&XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),eventKeydown:e=>this.onKey(e),autofocus:true}),XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",selectedItem:Bind.oneWay((()=>this.anchorItem)),itemRenderer,visibilityFilter:Bind.oneWay((()=>match(this.search))),scrollToSelection:true,eventItemClick:e=>{this.close(e.detail)},items}))))}onKey(e){var _a;const suggested=match?(_a=this.items)===null||_a===void 0?void 0:_a.filter(match(this.search)):this.items;switch(e.key){case"Enter":const anchorItem=this.anchorItem;if(!anchorItem){return}this.anchorIndex=0;this.close(anchorItem);this.anchorItem=null;this.search="";break;case"ArrowDown":if(suggested){if(!this.anchorItem){this.anchorIndex=0}else{if(this.anchorIndex<suggested.length-1){this.anchorIndex++}}this.anchorItem=suggested[this.anchorIndex]}break;case"ArrowUp":if(suggested){if(!this.anchorItem){return}if(this.anchorIndex){this.anchorIndex--}this.anchorItem=suggested[this.anchorIndex]}break}}}__decorate([BindableProperty,__metadata("design:type",String)],Suggestions.prototype,"search",void 0);return Suggestions.showControl(opener)}function SelectorCheckBox(_a,...nodes){var{text,icon="far fa-square",iconSelected="fas fa-check-square"}=_a,a=__rest(_a,["text","icon","iconSelected"]);if(text){return XNode.create("label",Object.assign({"data-selector":"check-box"},a),XNode.create("i",{class:icon,"data-click-event":"item-select"}),XNode.create("i",{class:iconSelected,"data-click-event":"item-deselect"}),XNode.create("span",{"data-no-wrap":"true",text}),...nodes)}return XNode.create("label",Object.assign({"data-selector":"check-box"},a),XNode.create("i",{class:icon,"data-click-event":"item-select"}),XNode.create("i",{class:iconSelected,"data-click-event":"item-deselect"}),...nodes)}function SelectAll(_a,...nodes){var{text="Select All",icon="far fa-square",iconSelected="fas fa-check-square"}=_a,a=__rest(_a,["text","icon","iconSelected"]);if(text){return XNode.create(SelectAllControl,Object.assign({for:"label"},a),XNode.create("i",{class:icon,"data-ui-type":"item-select"}),XNode.create("i",{class:iconSelected,"data-ui-type":"item-deselect"}),XNode.create("span",{"data-no-wrap":"true",text}))}return XNode.create(SelectAllControl,Object.assign({for:"label"},a),XNode.create("i",{class:icon,"data-ui-type":"item-select"}),XNode.create("i",{class:iconSelected,"data-ui-type":"item-deselect"}),...nodes)}function disposeChildren(owner,e){if(!e){return}let s=e.firstElementChild;while(s){const c=s;s=s.nextElementSibling;const ac=c.atomControl;if(ac){ac.dispose();continue}disposeChildren(owner,c);owner.unbind(c);owner.unbindEvent(c)}e.innerHTML=""}function disposeChild(owner,e){const ac=e.atomControl;if(ac){ac.dispose();return}disposeChildren(owner,e);owner.unbind(e);owner.unbindEvent(e);e.remove()}function defaultComparer(left,right){if(left&&right){if(left instanceof Date){if(right instanceof Date){return left.getTime()===right.getTime()}return false}}return left===right}function updateDragDrop(e,force=false){if(!e){return}if(force){e.draggable=false}else{force=e.draggable}e=e.firstElementChild;while(e){updateDragDrop(e,force);e=e.nextElementSibling}}_export({askSuggestion,askSuggestionPopup,SelectorCheckBox,SelectAll,disposeChildren,disposeChild,defaultComparer,default:void 0});return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__rest=_tslib.__rest},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreColors){Colors=_webAtomsCoreDistCoreColors.default},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper},function(_webAtomsCoreDistCoreWatchProperty){WatchProperty=_webAtomsCoreDistCoreWatchProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebServicesPopupService){PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_InlinePopup){InlinePopup=_InlinePopup.default},function(_MergeNode){MergeNode=_MergeNode.default},function(_ItemPath){ItemPath=_ItemPath.default},function(_stylesUiDisplayNoneStyle){},function(_stylesPopupStyle){repeaterPopupCss=_stylesPopupStyle.repeaterPopupCss},function(_stylesSuggestionPopup){},function(_stylesRepeaterStyle){},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator},function(_DataAttributes){DataAttributes=_DataAttributes.default}],execute:function(){popupCSS=repeaterPopupCss;_export("getParentRepeaterItem",getParentRepeaterItem=target=>{let eventName;let repeater;let index;let root;while(target){const a=target.atomControl;if(a!==undefined&&a instanceof AtomRepeater){repeater=a;break}if(index===undefined){const itemIndex=target.getAttribute("data-item-index");if(typeof itemIndex!=="undefined"){root=target;index=~~itemIndex}}if(eventName===undefined){const itemClickEvent=target.getAttribute("data-click-event");if(itemClickEvent){eventName=itemClickEvent.replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}}target=target.parentElement}if(index===void 0||repeater===void 0){return undefined}const item=repeater.items[~~index];return[eventName,repeater,item,index,root]});_export("MatchTrue",MatchTrue=(...a)=>true);_export("MatchFalse",MatchFalse=(...a)=>false);_export("ArrowToString",ArrowToString=item=>{var _a,_b;return(_b=(_a=item.label)===null||_a===void 0?void 0:_a.toString())!==null&&_b!==void 0?_b:item.toString()});_export("MatchCaseInsensitive",MatchCaseInsensitive=(textField=ArrowToString)=>s=>{if(!s){return MatchTrue}const r=StringHelper.createContainsRegExp(s);return item=>r.test(textField(item))});_export("MatchAnyCaseInsensitive",MatchAnyCaseInsensitive=(textField=ArrowToString)=>s=>{if(!s){return MatchTrue}const r=StringHelper.createContainsAnyWordRegExp(s);return item=>r.test(textField(item))});_export("SameObjectValue",SameObjectValue=item=>item);SelectAllControl=class SelectAllControl extends AtomControl{preCreate(){this.element.setAttribute("data-select-all","select-all");this.items=[];this.selectedItems=[];this.render(XNode.create(SelectAllControl,{"data-is-selected":Bind.oneWay((()=>this.items.length>0&&this.items.length===this.selectedItems.length),false)}));this.bindEvent(this.element,"click",(()=>{const si=this.selectedItems;const items=this.items;if(!si){return}if(!items){return}if(items.length===0){return}if(items.length===si.length){si.clear()}else{si.length=0;si.push(...items);si.refresh()}}))}};__decorate([BindableProperty,__metadata("design:type",Array)],SelectAllControl.prototype,"items",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],SelectAllControl.prototype,"selectedItems",void 0);getFirstChild=container=>{let child=container.firstElementChild;while(child&&!child.hasAttribute("data-item-index")){child=child.nextElementSibling}return child};_export("default",AtomRepeater=class AtomRepeater extends AtomControl{constructor(){super(...arguments);this.bubbleEvents=true}static from(element){while(element){const{atomControl}=element;if(atomControl instanceof AtomRepeater){return atomControl}element=element.parentElement}}static itemFromElement(e,ar=this.from(e)){const da=new DataAttributes(e,ar);const recreate=da.get("data-recreate");const header=da.get("data-header");const footer=da.get("data-footer");const itemIndex=da.get("data-item-index");const itemPath=da.get("data-item-path");let clickEvent=da.get("data-click-event")||(header?"headerClick":footer?"footerClick":"itemClick");clickEvent=clickEvent.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));const index=~~itemIndex;const item=ar.items[index];let nestedItem=null;if(item){if(itemPath||false){nestedItem=ItemPath.get(item,itemPath.trim())}}return{recreate,header,footer,itemPath,itemIndex,item,nestedItem,clickEvent,target:e}}set refreshEventScope(v){this.registerDisposable(v.listen((ce=>{this.refreshItem(ce.detail)})))}get allSelected(){const selectedItems=this.selectedItems;const items=this.items;if(!(items&&selectedItems)){return false}return items.length&&items.length===selectedItems.length}get value(){var _a;if(this.initialValue!==undefined){return this.initialValue}const sp=this.selectedItem;if(sp===undefined){return sp}const vp=(_a=this.valuePath)!==null&&_a!==void 0?_a:SameObjectValue;return vp(sp)}set value(v){var _a,_b;this.initialValue=v;if(!this.items||!this.items.length){AtomBinder.refreshValue(this,"value");return}const vp=(_a=this.valuePath)!==null&&_a!==void 0?_a:SameObjectValue;const c=(_b=this.comparer)!==null&&_b!==void 0?_b:defaultComparer;const selectedItem=this.items.find((item=>c(vp(item),v)));this.selectedItem=selectedItem;delete this.initialValue}get selectedItem(){var _a;return(_a=this.selectedItems)===null||_a===void 0?void 0:_a[0]}set selectedItem(value){var _a;const si=(_a=this.selectedItems)!==null&&_a!==void 0?_a:this.selectedItems=[];const first=si[0];if(value===first){return}si.set(0,value)}onPropertyChanged(name){var _a,_b;switch(name){case"items":(_a=this.itemsDisposable)===null||_a===void 0?void 0:_a.dispose();const items=this.items;const d=items===null||items===void 0?void 0:items.watch(((target,type,index,item)=>{switch(type){case"add":case"remove":case"set":this.updatePartial(type,index,item);break;default:this.updateItems();break}this.dispatchCustomEvent("items-updated",{type,items,index});AtomBinder.refreshValue(this,"selectedItem");AtomBinder.refreshValue(this,"value")}));if(d){this.itemsDisposable=this.registerDisposable(d)}const iv=this.initialValue;if(iv){this.value=iv}this.updateItems();this.dispatchCustomEvent("items-updated",{type:"reset",items,index:0});if(this.scrollToSelection){this.bringSelectionIntoView()}break;case"selectedItems":(_b=this.selectedItemsDisposable)===null||_b===void 0?void 0:_b.dispose();const selectedItems=this.selectedItems;const sd=selectedItems===null||selectedItems===void 0?void 0:selectedItems.watch((()=>{this.updateClasses();if(this.scrollToSelection){this.bringSelectionIntoView()}if(this.selectedItem){delete this.initialValue}AtomBinder.refreshValue(this,"selectedItem");AtomBinder.refreshValue(this,"value");AtomBinder.refreshValue(this,"allSelected");this.dispatchCustomEvent("selection-updated",selectedItems)}));if(sd){this.selectedItemsDisposable=this.registerDisposable(sd)}this.updateClasses();this.dispatchCustomEvent("selection-updated",selectedItems);AtomBinder.refreshValue(this,"allSelected");break;case"itemRenderer":case"watch":this.updateItems();break;case"visibilityFilter":this.updateVisibility();break;case"header":case"headerRenderer":this.updateHeaderFooter("header",this.headerPresenter,this.header,this.headerRenderer,true);break;case"footer":case"footerRenderer":this.updateHeaderFooter("footer",this.footerPresenter,this.footer,this.footerRenderer);break}}bringSelectionIntoView(force){if(force){const selection=this.selectedItem;if(selection){const element=this.elementForItem(selection);element===null||element===void 0?void 0:element.scrollIntoView()}return}if(this.bringIntoViewId){clearTimeout(this.bringIntoViewId)}this.bringIntoViewId=setTimeout((()=>{clearTimeout(this.bringIntoViewId);this.bringIntoViewId=undefined;this.bringSelectionIntoView(true)}),100)}forEach(action,container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let start=getFirstChild(container);while(start){const index=start.getAttribute("data-item-index");const item=items[~~index];action(item,start);start=start.nextElementSibling}}*any(fx,itemSelector,container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let node=getFirstChild(container);while(node){const index=node.getAttribute("data-item-index");const item=items[~~index];let element=node;if(itemSelector){element=element.querySelector(itemSelector)}const ie={item,element};if(fx){if(fx(item)){yield ie}continue}yield ie;node=node.nextElementSibling}}*all(container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let element=getFirstChild(container);while(element){const index=element.getAttribute("data-item-index");const item=items[~~index];yield{item,element};element=element.nextElementSibling}}elementAt(index,container){var _a;container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const indexText=index.toString();const element=ChildEnumerator.find(container,(e=>e.getAttribute("data-item-index")===indexText));return element}elementForItem(itemToFind,container){const index=this.items.indexOf(itemToFind);return this.elementAt(index,container)}refreshItem(item,fx,index=-1){if(index===-1){index=this.items.indexOf(item)}if(fx===null||fx===void 0?void 0:fx.then){const finalize=v=>{this.refreshItem(item,v,index)};fx.then(finalize,finalize);return}if(fx instanceof MergeNode){this.mergeItem(index,fx);return}this.updatePartial("set",index,item)}mergeItem(index,m){var _a,_b,_c;const item=this.items[index];if(!item){return}if((_b=(_a=m.classes)===null||_a===void 0?void 0:_a[0])===null||_b===void 0?void 0:_b.remove){this.items.removeAt(index);return}const container=(_c=this.itemsPresenter)!==null&&_c!==void 0?_c:this.element;const node=this.itemRenderer(item,index,this);const sourceElement=document.createElement("div");sourceElement.style.display="none";container.appendChild(sourceElement);this.render(node,sourceElement);const targetElement=this.elementAt(index);for(const iterator of m.classes){if(typeof iterator==="string"){const source=sourceElement.querySelectorAll(iterator);const target=targetElement.querySelectorAll(iterator);for(let i=0;i<source.length&&i<target.length;i++){const element=source[i];const te=target[i];for(const name of te.getAttributeNames()){te.removeAttribute(name)}te.innerHTML=element.innerHTML;for(const name of element.getAttributeNames()){te.setAttribute(name,element.getAttribute(name))}}continue}if(iterator.parent){const targetParent=/self|\*/.test(iterator.parent)?targetElement:targetElement.querySelector(iterator.parent);if(!targetParent){continue}for(const i of Array.from(targetElement.querySelectorAll(iterator.replace))){i.remove()}for(const i of Array.from(sourceElement.querySelectorAll(iterator.replace))){targetParent.appendChild(i)}continue}let targetPrevious=targetElement.querySelector(iterator.after);for(const i of Array.from(targetElement.querySelectorAll(iterator.replace))){i.remove()}for(const i of Array.from(sourceElement.querySelectorAll(iterator.replace))){targetPrevious.insertAdjacentElement("afterend",i);targetPrevious=i}}this.dispose(sourceElement);sourceElement.remove()}updatePartial(key,index,item,container){var _a,_b,_c,_d,_e,_f,_g;const items=this.items;if(!items){return}const ir=this.itemRenderer;if(!ir){return}container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;let start=getFirstChild(container);let ei;while(start){ei=~~start.getAttribute("data-item-index");if(ei===index){break}start=start.nextElementSibling}if(key!=="add"&&!start){return}const vp=(_b=this.valuePath)!==null&&_b!==void 0?_b:it=>it;const si=((_c=this.selectedItems)!==null&&_c!==void 0?_c:[]).map(vp);const isRemove=key==="remove";if(isRemove||key==="set"){const current=start;start=start.nextElementSibling;const ac=current.atomControl;if(ac){ac.dispose()}else{this.unbind(current);this.unbindEvent(current)}current.remove()}const end=((_d=this.footerElement)===null||_d===void 0?void 0:_d.parentElement)===container?this.footerElement:null;if(!isRemove){const en=ir(item,index,this);const ea=(_e=en.attributes)!==null&&_e!==void 0?_e:en.attributes={};const v=vp(item);const e=document.createElement((_g=(_f=ea.for)!==null&&_f!==void 0?_f:en.name)!==null&&_g!==void 0?_g:"div");e.setAttribute("data-item-index",`${index++}`);if(si.indexOf(v)!==-1){e.setAttribute("data-selected-item","true")}else{e.removeAttribute("data-selected-item")}if(this.enableDragDrop){updateDragDrop(e)}if(start){container.insertBefore(e,start)}else if(end){container.insertBefore(e,end)}else{container.appendChild(e)}this.render(en,e,this.creator||this)}while(start){const ci=items[index];const cv=vp(ci);start.setAttribute("data-item-index",`${index++}`);if(si.indexOf(cv)!==-1){start.setAttribute("data-selected-item","true")}else{start.removeAttribute("data-selected-item")}start=start.nextElementSibling;if(start.hasAttribute("data-footer")){break}}}updateItems(container,force){var _a,_b,_c,_d,_e,_f;if(this.deferUpdates&&!force){if(this.deferredUpdateId){return}this.deferredUpdateId=setTimeout((()=>{this.deferredUpdateId=0;this.updateItems(container,true)}),1);return}container!==null&&container!==void 0?container:container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;if(!container){return}disposeChildren(this,container);this.onPropertyChanged("header");const ir=this.itemRenderer;if(!ir){this.onPropertyChanged("footer");return}const items=this.items;if(!items){this.onPropertyChanged("footer");return}const vp=(_b=this.valuePath)!==null&&_b!==void 0?_b:it=>it;const si=((_c=this.selectedItems)!==null&&_c!==void 0?_c:[]).map(vp);let i=0;for(const iterator of items){const index=i++;const e=ir(iterator,index,this);const ea=(_d=e.attributes)!==null&&_d!==void 0?_d:e.attributes={};const v=vp(iterator);const element=document.createElement((_f=(_e=ea.for)!==null&&_e!==void 0?_e:e.name)!==null&&_f!==void 0?_f:"div");element.setAttribute("data-item-index",`${index}`);if(si.indexOf(v)!==-1){element.setAttribute("data-selected-item","true")}else{element.removeAttribute("data-selected-item")}this.render(e,element,this.creator||this);if(this.enableDragDrop){updateDragDrop(element)}container.appendChild(element)}this.onPropertyChanged("footer")}render(node,e,creator){if(!this.creator&&this!==creator){this.creator=creator}this.render=super.render;return super.render(node,e,creator)}preCreate(){this.mergeOnRefresh=false;this.selectOnClick=false;this.element.setAttribute("data-click-event","item-click")}dispatchCustomEvent(type,detail){if(!this.element){return}const eventName=this.element.getAttribute("data-"+type+"-event");type=StringHelper.fromHyphenToCamel(eventName!==null&&eventName!==void 0?eventName:type);this.element.dispatchEvent(new CustomEvent(type,{detail,bubbles:eventName!==null,cancelable:true}))}updateClasses(){var _a,_b,_c;const container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let element=getFirstChild(container);const vp=(_b=this.valuePath)!==null&&_b!==void 0?_b:i=>i;const si=((_c=this.selectedItems)!==null&&_c!==void 0?_c:[]).map(vp);while(element){const index=~~element.getAttribute("data-item-index");const item=items[index];const v=vp(item);if(si.indexOf(v)!==-1){element.setAttribute("data-selected-item","true")}else{element.removeAttribute("data-selected-item")}element=element.nextElementSibling}}updateVisibility(){var _a,_b;const container=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.element;const items=this.items;let element=container.firstElementChild;const vf=(_b=this.visibilityFilter)!==null&&_b!==void 0?_b:MatchTrue;while(element){const index=~~element.getAttribute("data-item-index");const item=items[index];if(vf(item)){element.removeAttribute("data-ui-display")}else{element.setAttribute("data-ui-display","none")}element=element.nextElementSibling}}updateHeaderFooter(name,presenter,item,itemRenderer,insert){var _a,_b,_c,_d;presenter!==null&&presenter!==void 0?presenter:presenter=(_a=this.itemsPresenter)!==null&&_a!==void 0?_a:this.itemsPresenter=this.element;if(!presenter){this[name+"Element"]=null;return}let current;if(insert){current=presenter.firstElementChild;while(current&&current.dataset[name]!==name){current=current.nextElementSibling}}else{current=presenter.lastElementChild;while(current&&current.dataset[name]!==name){current=current.previousElementSibling}}if(current){disposeChild(this,current);this[name+"Element"]=null}if(!(item&&itemRenderer)){return}const node=itemRenderer(item);const element=document.createElement((_d=(_c=(_b=node.attributes)===null||_b===void 0?void 0:_b.for)!==null&&_c!==void 0?_c:node.name)!==null&&_d!==void 0?_d:"div");element.dataset[name]=name;this.render(node,element,this.creator||this);if(insert){presenter.insertBefore(element,presenter.firstElementChild)}else{presenter.appendChild(element)}this[name+"Element"]=element}dispatchHeaderFooterEvent(eventName,type,recreate,originalTarget){const detail=this[type];const ce=new CustomEvent(eventName!==null&&eventName!==void 0?eventName:`${type}Click`,{detail,bubbles:this.bubbleEvents,cancelable:true});originalTarget.dispatchEvent(ce);if(ce.defaultPrevented||!ce.executed){return}if(recreate){this.onPropertyChanged(type)}}dispatchItemEvent(eventName,item,recreate,originalTarget,nestedItem){var _a;const ce=new CustomEvent(eventName!==null&&eventName!==void 0?eventName:"itemClick",{detail:nestedItem!==null&&nestedItem!==void 0?nestedItem:item,bubbles:this.bubbleEvents,cancelable:true});originalTarget.dispatchEvent(ce);if(!ce.defaultPrevented){if(this.selectOnClick||eventName==="itemSelect"||eventName==="itemDeselect"){const si=(_a=this.selectedItems)!==null&&_a!==void 0?_a:this.selectedItems=[];if(si){const index=si.indexOf(item);if(index===-1){if(this.allowMultipleSelection){si.add(item)}else{si.set(0,item)}}else{si.removeAt(index)}}}}if(ce.defaultPrevented||!ce.executed){return}const promise=ce.promise;if(recreate){this.refreshItem(item,promise);return}if(promise){promise.then((r=>r instanceof MergeNode&&this.refreshItem(item,r)))}}dispatchClickEvent(e,data){const{recreate,header,footer,itemIndex,itemPath,clickEvent,item,nestedItem}=AtomRepeater.itemFromElement(e.target,this);if(itemIndex!==void 0){if(item){if(nestedItem){this.dispatchItemEvent(clickEvent,item,recreate,e.target,nestedItem);return}this.dispatchItemEvent(clickEvent,item,recreate,e.target)}return}if(header){this.dispatchHeaderFooterEvent(clickEvent,header,recreate,e.target)}if(footer){this.dispatchHeaderFooterEvent(clickEvent,footer,recreate,e.target)}}});__decorate([BindableProperty,__metadata("design:type",Boolean)],AtomRepeater.prototype,"allowMultipleSelection",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"selectOnClick",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],AtomRepeater.prototype,"selectedItems",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"itemsPresenter",void 0);__decorate([BindableProperty,__metadata("design:type",Array)],AtomRepeater.prototype,"items",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"watch",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"visibilityFilter",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"enableFunc",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"itemRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"valuePath",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomRepeater.prototype,"comparer",void 0);__decorate([BindableProperty,__metadata("design:type",Boolean)],AtomRepeater.prototype,"deferUpdates",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"header",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"headerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"footer",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"footerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomRepeater.prototype,"enableDragDrop",void 0);__decorate([WatchProperty,__metadata("design:type",Object),__metadata("design:paramtypes",[])],AtomRepeater.prototype,"allSelected",null);hoverItem={repeater:null,target:null,item:null,placeholder:null};document.body.addEventListener("dragstart",(e=>{const{target}=e;if(target.draggable){const ri=getParentRepeaterItem(target);if(!ri){return}const[type,repeater,item,index]=ri;if(!repeater||!repeater.enableDragDrop){return}const placeholder=document.createElement("div");placeholder.style.width=target.offsetWidth+"px";placeholder.style.height=target.offsetHeight+"px";placeholder.style.backgroundColor=Colors.lightGray.toString();placeholder.style.border="solid 1px gray";placeholder.style.borderRadius="10px";hoverItem={repeater,target,item,placeholder};e.dataTransfer.dropEffect="move";setTimeout((()=>{target.style.display="none";target.parentElement.insertBefore(placeholder,target)}),0)}}));document.body.addEventListener("dragend",(e=>{var _a,_b;if(!(hoverItem===null||hoverItem===void 0?void 0:hoverItem.placeholder)){return}const{item,placeholder,repeater}=hoverItem;let start=placeholder;let index=-1;while(start){const itemIndex=(_b=(_a=start.previousElementSibling)===null||_a===void 0?void 0:_a.dataset)===null||_b===void 0?void 0:_b.itemIndex;if(itemIndex!==void 0){index=~~itemIndex}if(start.parentElement.atomControl){break}start=start.parentElement}const targetRepeater=start.parentElement.atomControl;placeholder.remove();hoverItem.placeholder=null;repeater.items.remove(item);index++;const ce=new CustomEvent("itemDropped",{detail:{item,index}});if(ce.defaultPrevented){return}const{detail}=ce;targetRepeater.items.insert(detail.index,detail.item)}));dragOver=e=>{if(!e.dataTransfer){return}if(hoverItem){const{placeholder}=hoverItem;if(!placeholder){return}if(e.target===placeholder){return}}const ri=getParentRepeaterItem(e.target);if(!ri){return}const[type,repeater,item,index,target]=ri;if(!repeater){return}if(hoverItem){const{placeholder}=hoverItem;e.preventDefault();const mp={x:e.clientX,y:e.clientY};const isBefore=(co,n)=>n.x<=co.x+co.width*.3||n.y<=co.y+co.height*.3;const isAfter=(co,n)=>n.x>=co.x+co.width*.7||n.y>=co.y+co.height*.7;const targetBounds=target.getBoundingClientRect();if(isAfter(targetBounds,mp)){const next=target.nextElementSibling;if(next===placeholder){return}placeholder.remove();target.insertAdjacentElement("afterend",placeholder);return}if(isBefore(targetBounds,mp)){const previous=target.previousElementSibling;if(previous===placeholder){return}placeholder.remove();target.insertAdjacentElement("beforebegin",placeholder)}return}};document.body.addEventListener("dragover",dragOver);document.body.addEventListener("dragenter",dragOver)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/AtomRepeater");System.register(["@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var DateTime,DIVISIONS,DateFormats;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){DIVISIONS=[{amount:60,name:"seconds"},{amount:60,name:"minutes"},{amount:24,name:"hours"},{amount:7,name:"days"},{amount:4.34524,name:"weeks"},{amount:12,name:"months"},{amount:Number.POSITIVE_INFINITY,name:"years"}];_export("DateFormats",DateFormats={diff(d){if(!d){return""}if(!(d instanceof DateTime)){d=typeof d==="string"?new DateTime(d):DateTime.from(d)}const today=DateTime.now;let diff=today.diff(d);if(diff.totalMilliseconds<0){diff=d.diff(today)}if(diff.totalHours<=24){if(diff.totalSeconds<=180){return"now"}if(diff.totalMinutes<60){return Math.round(diff.totalMinutes)+"m"}return Math.round(diff.totalHours)+"h"}if(diff.totalDays<=30){return Math.round(diff.totalDays)+"d"}if(diff.totalDays<=365){return Math.round(diff.totalDays/30)+"mo"}return Math.round(diff.totalDays/365)+"yr"},withWeekDayAndTime(d,def=""){var _a;if(!d){return def}d=DateTime.from(d);return(_a=d===null||d===void 0?void 0:d.toLocaleString(navigator.language,{year:"numeric",month:"short",day:"numeric",weekday:"short",hour12:true,minute:"numeric",hour:"numeric"}))!==null&&_a!==void 0?_a:def},relative:{short(d){if(!d){return""}d=DateTime.from(d);const now=DateTime.now;if(now<d){return"in "+DateFormats.diff(d)}return DateFormats.diff(d)+" ago"}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/date/DateFormats");System.register([],(function(_export,_context){"use strict";function newCSSStyleDeclaration(){const e=document.createElement("div");return e.style}function mergeStyle(...styles){var _a,_b;const s=newCSSStyleDeclaration();for(const iterator of styles){if(!iterator){continue}if(iterator instanceof CSSStyleDeclaration){for(let index=0;index<iterator.length;index++){const name=iterator[index];let value=(_a=iterator[name])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}s[name]=value}continue}for(const key in iterator){if(Object.prototype.hasOwnProperty.call(iterator,key)){const element=(_b=iterator[key])===null||_b===void 0?void 0:_b.toString();if(!element){continue}s[key]=element}}}return s}_export({newCSSStyleDeclaration,default:mergeStyle});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/style/mergeStyle");System.register(["../style/mergeStyle"],(function(_export,_context){"use strict";var newCSSStyleDeclaration,StyleHelper,toStyle;_export("default",void 0);return{setters:[function(_styleMergeStyle){newCSSStyleDeclaration=_styleMergeStyle.newCSSStyleDeclaration}],execute:function(){toStyle=style=>{var _a;if(typeof style==="string"){const css=style;const cs=newCSSStyleDeclaration();cs.cssText=css;return cs}const s=newCSSStyleDeclaration();if(style instanceof CSSStyleDeclaration){return style}for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=(_a=style[key])===null||_a===void 0?void 0:_a.toString();if(element===void 0||element===null||element===""){continue}s[key]=element}}return s};_export("default",StyleHelper=class StyleHelper{static styleToString(style,props){var _a;if(!style){return}const cs=toStyle(style);if(props){const ps=toStyle(props);for(let index=0;index<ps.length;index++){const key=ps[index];let value=(_a=ps[key])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}cs[key]=value}}const allKeys=[];for(let index=0;index<cs.length;index++){const key=cs[index];allKeys.push(key)}for(const key of allKeys){if(!cs[key]){cs.removeProperty(key)}}return cs.cssText}})}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/dom/StyleHelper");System.register(["@web-atoms/core/dist/core/XNode","./dom/StyleHelper"],(function(_export,_context){"use strict";var XNode,StyleHelper;function DomToString(node){const div=document.createElement("div");render(div,XNode.create("div",null,node));return div.innerHTML}function render(div,node){var _a;while(typeof node.name==="function"){node=node.name(node.attributes,...node.children)}const a=node.attributes;if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){let element=a[key];if(element===null||element===void 0){continue}if(typeof element==="object"&&key==="style"){element=StyleHelper.styleToString(element)}else{element=element.toString()}if(!element){continue}switch(key){case"text":div.textContent=element;continue;case"innerHTML":div.innerHTML=element;continue}if(key.startsWith("styler-")){div.setAttribute(key,element);continue}if(key.startsWith("style")&&key.length>5){div.style[key.substring(5)]=element;continue}if(key.startsWith("data")&&key.length>4){if(key.indexOf("-")!==-1){div.setAttribute(key,element);continue}div.dataset[key.substring(4)]=element;continue}div.setAttribute(key,element)}}}if(!((_a=node.children)===null||_a===void 0?void 0:_a.length)){return}for(let iterator of node.children){if(iterator===false||iterator===void 0||iterator===null){continue}if(typeof iterator!=="object"){div.appendChild(document.createTextNode(iterator.toString()));continue}while(typeof iterator.name==="function"){iterator=iterator.name(iterator.attributes,...iterator.children)}const child=document.createElement(iterator.name);div.appendChild(child);render(child,iterator)}}_export("default",DomToString);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_domStyleHelper){StyleHelper=_domStyleHelper.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/DomToString");System.register(["@web-atoms/core/dist/core/EventScope"],(function(_export,_context){"use strict";var EventScope,CommonEvents;return{setters:[function(_webAtomsCoreDistCoreEventScope){EventScope=_webAtomsCoreDistCoreEventScope.default}],execute:function(){_export("CommonEvents",CommonEvents={onThreadMarkedAsRead:EventScope.create(),onThreadMarkedAsBlocked:EventScope.create(),onDraftDeleted:EventScope.create(),onFileDeleted:EventScope.create(),onEmailScheduled:EventScope.create(),onEmailUnscheduled:EventScope.create(),onEmailForward:EventScope.create(),onEmailForwardAsAttachment:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/events/CommonEvents");System.register(["@web-atoms/core/dist/core/EventScope"],(function(_export,_context){"use strict";var EventScope,MailAppEvents;return{setters:[function(_webAtomsCoreDistCoreEventScope){EventScope=_webAtomsCoreDistCoreEventScope.default}],execute:function(){_export("MailAppEvents",MailAppEvents={mailboxContactUpdated:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/commands/MailAppEvents");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","@web-atoms/email-dom/dist/DomToString","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/date-time/dist/DateTime","../../../../common/events/CommonEvents","../../../../services/BusyProgress","../../../../services/email/EmailContentDownloader","./EngagementService","../../../../common/apiPath","../../../commands/MailAppEvents"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Email,EmailRecipient,MailboxContactEmail,MailboxEmail,Sql,DomToString,XNode,AtomControl,descendentElementIterator,DateTime,CommonEvents,BusyProgress,EmailContentDownloader,EngagementService,apiPath,MailAppEvents,renderMail,ConversationService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Email=_modelModel.Email;EmailRecipient=_modelModel.EmailRecipient;MailboxContactEmail=_modelModel.MailboxContactEmail;MailboxEmail=_modelModel.MailboxEmail},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_servicesBusyProgress){BusyProgress=_servicesBusyProgress.default},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_EngagementService){EngagementService=_EngagementService.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_commandsMailAppEvents){MailAppEvents=_commandsMailAppEvents.MailAppEvents}],execute:function(){_export("renderMail",renderMail=AtomControl.registerProperty("data-html","html",((c,e,value)=>{var _a,_b;if(!value){e.innerHTML="";return}const thread=value;const mail=thread.email;const html=mail.htmlBody;const msg=document.createElement("div");if(!html){for(const iterator of html.split("\n")){const p=document.createElement("p");p.appendChild(document.createTextNode(iterator));msg.appendChild(p)}e.appendChild(msg);return}msg.innerHTML=html;for(const iterator of descendentElementIterator(msg)){let cid=iterator.getAttribute("data-content-id");if(cid){const a=mail.attachments.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",a.url);continue}}if(/^(IMG|VIDEO)$/.test(iterator.tagName)){const src=iterator.getAttribute("src");if(src){if(src.startsWith("cid:")){cid=src.substring(4);const a=(_a=mail.attachments)===null||_a===void 0?void 0:_a.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",apiPath(`/api/files/${a.appFileID}/${a.fileContentID}/${a.name}`))}}if(/^http\:\/\//i.test(src)){iterator.setAttribute("src",src.substring(5))}}continue}if(iterator.tagName==="A"){iterator.target="_blank"}}const shadow=e.attachShadow({mode:"open"});shadow.appendChild(msg);if(!thread.timeRead&&thread.mailboxID&&thread.mailboxID!==((_b=thread.email)===null||_b===void 0?void 0:_b.senderID)){const timeRead=DateTime.now;thread.timeRead=timeRead;const control=AtomControl.from(e);const entityService=control.app.resolve(EntityService);entityService.save(MailboxContactEmail.patch(thread,{timeRead})).then((()=>{CommonEvents.onThreadMarkedAsRead.dispatchEvent(thread)}),console.error)}msg.style.overflow="visible";msg.style.display="flex";msg.style.flexDirection="column";msg.style.wordBreak="break-all";setTimeout((()=>{if(msg.scrollWidth>msg.offsetWidth){msg.style.scale=msg.offsetWidth/msg.scrollWidth+"";msg.style.transformOrigin="top left"}}),100);return})));ConversationService=class ConversationService{closeAllThreads(contact){return __awaiter(this,void 0,void 0,(function*(){contact.dateUpdated=DateTime.now;contact.closeAllConversations=true;yield this.entityService.save(contact,(c=>c));contact.openThreads=0;MailAppEvents.mailboxContactUpdated.dispatchEvent(contact)}))}closePermanently(contact){return __awaiter(this,void 0,void 0,(function*(){contact.autoClose=!contact.autoClose;contact.dateUpdated=DateTime.now;yield this.entityService.save(contact,(c=>c));MailAppEvents.mailboxContactUpdated.dispatchEvent(contact)}))}getDraft({mailboxID,emailAddressID,email}){return __awaiter(this,void 0,void 0,(function*(){const draft="draft";return yield this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID,draft},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.email.status===p.draft)).orderByDescending((x=>x.emailID)).include((x=>[x.email.recipients,x.email.attachments])).firstOrDefault()}))}draft({mailboxID,emailAddressID,email},create=false,saveAttachments=true,cancelToken){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){if(email===null||email===void 0?void 0:email.emailID){email.subject||(email.subject="");email.dateUpdated=DateTime.now;let cloner=this.entityService.cloner(Object.assign({},email));if(saveAttachments){cloner=cloner.include((x=>x.attachments))}yield this.entityService.save(cloner.copy);return email}if(create&&email){const recipients=(_a=email.recipients)!==null&&_a!==void 0?_a:email.recipients=[];const mailboxes=(_b=email.mailboxes)!==null&&_b!==void 0?_b:email.mailboxes=[];const threads=(_c=email.threadContacts)!==null&&_c!==void 0?_c:email.threadContacts=[];email.senderID=mailboxID;email.status="draft";if(!mailboxes.some((m=>m.mailboxID===mailboxID))){mailboxes.push(MailboxEmail.create({mailboxID}))}if(!recipients.some((r=>r.emailAddressID===emailAddressID))){recipients.push(EmailRecipient.create({emailAddressID}))}if(!threads.some((r=>r.mailboxID===mailboxID))){threads.push(MailboxContactEmail.create({mailboxID,emailAddressID}))}yield this.entityService.save(email)}return email}))}list({search="",mailboxID,emailAddressID,start=0,size=100,version=0,cancelToken}){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.engagement===null));if(search){if(!/\%/.test(search)){search=`%${search}%`}q=q.where({search},(p=>x=>Sql.text.iLike(x.email.subject,p.search)||Sql.text.iLike(x.email.textBody,p.search)||x.email.attachments.some((a=>Sql.text.iLike(a.fileContent.textDocument.searchable,p.search)))))}const emails=yield q.include((x=>[x.email.recipients.forEach((r=>r.emailAddress)),x.email.attachments,x.email.senderUser,x.email.senderEmail])).orderByDescending((x=>x.dateReceived)).toPagedList({start,size,cancelToken});const tasks=[];const d=BusyProgress.create();try{for(const mce of emails.items){const{email}=mce;(_a=email.htmlBody)!==null&&_a!==void 0?_a:email.htmlBody="";(_b=email.textBody)!==null&&_b!==void 0?_b:email.textBody="";tasks.push(this.downloadEmailContent(mce));tasks.push(this.engagementService.downloadEngagements(email))}yield Promise.all(tasks)}finally{(_c=d===null||d===void 0?void 0:d.dispose)===null||_c===void 0?void 0:_c.call(d)}return emails}))}stopEmail(mce){return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;email.status="draft";yield this.entityService.save(email,(c=>c));CommonEvents.onEmailUnscheduled.dispatchEvent(mce)}))}downloadEmailContent(mce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;if(email.replyCount){const children=yield this.entityService.query(Email).where({emailID:email.emailID},(p=>x=>x.emailID===p.emailID&&x.engagement!==null)).orderByDescending((x=>x.emailID)).toPagedList({start:0,size:4,cacheVersion:"a",cacheSeconds:900});email.children=(_a=children===null||children===void 0?void 0:children.items)!==null&&_a!==void 0?_a:[]}else{(_b=email.children)!==null&&_b!==void 0?_b:email.children=[]}yield this.emailContentDownloader.download(mce)}))}renderText(html){const div=document.createElement("div");div.innerHTML=html;return div.textContent}renderHtml(html){const div=document.createElement("div");div.innerHTML=html;return div.innerHTML}toHtml(textBody){return DomToString(XNode.create("div",null,...textBody.split("\n").map((p=>XNode.create("p",{text:p})))))}block(thread){return __awaiter(this,void 0,void 0,(function*(){thread.blocked=!thread.blocked;const cloner=this.entityService.cloner(thread).copy;yield this.entityService.save(cloner);CommonEvents.onThreadMarkedAsBlocked.dispatchEvent(thread)}))}delete(email){return __awaiter(this,void 0,void 0,(function*(){const{emailID,status}=email;yield this.entityService.delete(Email.create({emailID,status}));CommonEvents.onDraftDeleted.dispatchEvent(email)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ConversationService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],ConversationService.prototype,"emailContentDownloader",void 0);__decorate([Inject,__metadata("design:type",EngagementService)],ConversationService.prototype,"engagementService",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(["@web-atoms/core/dist/core/XNode","../../common/date/DateFormats","@web-atoms/core/dist/core/types","../../web/page/mails/service/ConversationService"],(function(_export,_context){"use strict";var XNode,DateFormats,UMD,renderMail,commentIcon;function PostView({email=void 0,itemPath=void 0}){var _a;const{engagements=[]}=email;const isComment=email.parentID!==null;return XNode.create("section",{"data-element":"blog-item","data-comment":isComment,"data-item-path":itemPath},XNode.create("h4",{"data-element":"title"},XNode.create("label",{text:isComment?email.senderName:email.subject})),XNode.create("h6",{"data-element":"date",text:DateFormats.relative.short(email.dateSent)}),!isComment&&XNode.create("h5",{text:email.senderName}),XNode.create("section",{"data-element":"content"},!email.parentID?XNode.create("section",Object.assign({},renderMail({email}))):XNode.create("section",{text:email.textBody})),XNode.create("footer",null,XNode.create("button",{"data-element":"engage","data-click-event":"react-email",style:"padding:0; margin:0; border: none; outline: none;"},XNode.create("img",{src:UMD.resolvePath("@social-mail/social-mail-client/content/images/icons/face-plus.svg"),"style-max-height":"15px",title:"React"})),XNode.create("button",{"data-element":"engage","data-click-event":"reply-email",style:"padding:0; margin:0; border: none; outline: none;"},XNode.create("img",{src:UMD.resolvePath("@social-mail/social-mail-client/content/images/icons/comment-plus.svg"),"style-max-height":"15px",title:"React"})),...engagements.map((x=>XNode.create("span",{"data-click-event":x.engagement===commentIcon?"view-comments":"none","data-element":"engagements",title:`View all ${x.engagement} ${x.count}`,text:`${x.engagement} ${x.count}`})))),XNode.create("section",{"data-element":"comments"},...((_a=email.children)!==null&&_a!==void 0?_a:[]).map(((c,i)=>XNode.create(PostView,{itemPath:`${itemPath?itemPath:"$"}.children.${i}`,email:c})))))}_export("default",PostView);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_webPageMailsServiceConversationService){renderMail=_webPageMailsServiceConversationService.renderMail}],execute:function(){commentIcon="💬"}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/PostView");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/web/controls/AtomControl","./BlogService","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","./emoji/EmojiPopup","./styles/channelViewStyle","@web-atoms/core/dist/web/services/PopupService","@web-atoms/web-controls/dist/basic/AtomRepeater","./PostView"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,AtomControl,BlogService,XNode,Action,EmojiPopup,channelViewStyle,PopupService,AtomRepeater,PostView,ChannelMessage,_a,url,channelID,emailID,commentIcon;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_BlogService){BlogService=_BlogService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_emojiEmojiPopup){EmojiPopup=_emojiEmojiPopup.default},function(_stylesChannelViewStyle){channelViewStyle=_stylesChannelViewStyle.channelViewStyle},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_PostView){PostView=_PostView.default}],execute:function(){url=window.pageUrl;({1:channelID="1",2:emailID="2a"}=(_a=/^\/channels\/([^\/]+)\/([^\/]+)\//.exec(url===null||url===void 0?void 0:url.pathname))!==null&&_a!==void 0?_a:{});channelID=parseInt(channelID,36);emailID=parseInt(emailID,36);commentIcon="💬";_export("default",ChannelMessage=class ChannelMessage extends AtomControl{constructor(app,e=document.createElement("section")){super(app,e);this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const channel=yield this.blogService.getChannel(void 0,channelID,void 0);this.channel=channel;const email=yield this.blogService.getEmail({emailID,channelID});this.email=email;const engagements=(_a=email.engagements)!==null&&_a!==void 0?_a:[];this.element.className=channelViewStyle;this.element.setAttribute("data-blog-list","blog-list");this.element.setAttribute("data-layout","flex-center");this.renderer=XNode.create("section",null,XNode.create("header",null,XNode.create("div",{"styler-display":"flex","styler-gap":"size-default"},XNode.create("span",{text:channel.emailAddress.name}),XNode.create("a",{href:`mailto:subscribe-${channel.emailAddress.emailAddress}?subject=subscribe`},XNode.create("button",null,"Follow")))),XNode.create("section",null,XNode.create(AtomRepeater,{items:[email],itemRenderer:x=>XNode.create(PostView,{email:x})})),XNode.create("aside",null),XNode.create("footer",null))}))}reactEmail(email,ce){return __awaiter(this,void 0,void 0,(function*(){const{headerMessageID}=email;const emoji=yield EmojiPopup.showControl(ce.target,{parentElement:ce.target});const{channel}=this;const subject=`${emoji}:${Number(email.emailID).toString(36)}:${headerMessageID}`;yield PopupService.alert({message:XNode.create("div",{"data-layout":"vertical-flex"},"To add your emoji to this post, email just the emoji ",emoji," with given subject to the channel email address.",XNode.create("div",null,"To: ",channel.emailAddress.emailAddress),XNode.create("div",null,"Subject: ",subject),XNode.create("div",null,"Body: ",emoji),XNode.create("div",null,XNode.create("a",{href:`mailto:${channel.emailAddress.emailAddress}?subject=${subject}&body=${emoji}&in-reply-to=${headerMessageID}`},"Email Now"))),title:"Send Email"})}))}replyEmail(email,ce){return __awaiter(this,void 0,void 0,(function*(){const emoji=commentIcon;const{headerMessageID}=email;const{channel}=this;const subject=`${emoji}:${Number(email.emailID).toString(36)}:${headerMessageID}`;yield PopupService.alert({message:XNode.create("div",{"data-layout":"vertical-flex"},"To send comment to this post, email us your comment with given subject to the channel email address.",XNode.create("div",null,"To: ",channel.emailAddress.emailAddress),XNode.create("div",null,"Subject: ",subject),XNode.create("div",null,XNode.create("a",{href:`mailto:${channel.emailAddress.emailAddress}?subject=${subject}&in-reply-to=${headerMessageID}`},"Email Now"))),title:"Send Email"})}))}});__decorate([InjectProperty,__metadata("design:type",BlogService)],ChannelMessage.prototype,"blogService",void 0);__decorate([Action({onEvent:"react-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ChannelMessage.prototype,"reactEmail",null);__decorate([Action({onEvent:"reply-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ChannelMessage.prototype,"replyEmail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/ChannelMessage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __rest,XNode,styled,toggleDetails,setEventHandler;function LimitedText(_a,...nodes){var{text="",height=100}=_a,a=__rest(_a,["text","height"]);setEventHandler===null||setEventHandler===void 0?void 0:setEventHandler();const h=typeof height==="number"?`${height}px`:height;return XNode.create("div",Object.assign({"data-mode":"collapsed","data-max-height":h,"style-max-height":h,"data-limited-text":"limited-text"},a),text&&XNode.create("p",{text}),...nodes,XNode.create("div",{"style-top":h,"data-element":"more"},XNode.create("button",{class:"fa-solid fa-angles-up"})))}_export("default",LimitedText);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
586
586
  position: relative;
587
587
  overflow: hidden;
588
588
  contain: content;