@social-mail/social-mail-client 1.2.41 → 1.2.43

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 (193) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +77 -29
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +9 -3
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/common/controls/tree/FileTreeView.d.ts +2 -0
  6. package/dist/common/controls/tree/FileTreeView.d.ts.map +1 -1
  7. package/dist/common/controls/tree/FileTreeView.js +40 -28
  8. package/dist/common/controls/tree/FileTreeView.js.map +1 -1
  9. package/dist/common/controls/tree/TreeView.d.ts.map +1 -1
  10. package/dist/common/controls/tree/TreeView.js +7 -1
  11. package/dist/common/controls/tree/TreeView.js.map +1 -1
  12. package/dist/common/pages/websites/studio/WebSiteStudioPage.d.ts +1 -0
  13. package/dist/common/pages/websites/studio/WebSiteStudioPage.d.ts.map +1 -1
  14. package/dist/common/pages/websites/studio/WebSiteStudioPage.js +24 -0
  15. package/dist/common/pages/websites/studio/WebSiteStudioPage.js.map +1 -1
  16. package/dist/public/channel/BlogService.d.ts.map +1 -1
  17. package/dist/public/channel/BlogService.js +1 -1
  18. package/dist/public/channel/BlogService.js.map +1 -1
  19. package/dist/public/channel/ChannelView.pack.js +1 -1
  20. package/dist/public/channel/ChannelView.pack.js.map +1 -1
  21. package/dist/public/channel/ChannelView.pack.min.js +1 -1
  22. package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
  23. package/dist/tsconfig.tsbuildinfo +1 -1
  24. package/dist/web/AppIndex.pack.js +77 -29
  25. package/dist/web/AppIndex.pack.js.map +1 -1
  26. package/dist/web/AppIndex.pack.min.js +9 -3
  27. package/dist/web/AppIndex.pack.min.js.map +1 -1
  28. package/dist/web/page/mails/mini-compose/MiniComposeBox.d.ts.map +1 -1
  29. package/dist/web/page/mails/mini-compose/MiniComposeBox.js +1 -0
  30. package/dist/web/page/mails/mini-compose/MiniComposeBox.js.map +1 -1
  31. package/node_modules/@web-atoms/web-controls/dist/ArrayLike.js.map +1 -1
  32. package/node_modules/@web-atoms/web-controls/dist/DataAttributes.js.map +1 -1
  33. package/node_modules/@web-atoms/web-controls/dist/ModuleFiles.js.map +1 -1
  34. package/node_modules/@web-atoms/web-controls/dist/PageNavigator.js.map +1 -1
  35. package/node_modules/@web-atoms/web-controls/dist/animations/Animations.js.map +1 -1
  36. package/node_modules/@web-atoms/web-controls/dist/auto-complete/AppComboBoxViewModel.js.map +1 -1
  37. package/node_modules/@web-atoms/web-controls/dist/auto-complete/AutoCompleteBox.js.map +1 -1
  38. package/node_modules/@web-atoms/web-controls/dist/auto-complete/AutoCompleteBoxStyle.js.map +1 -1
  39. package/node_modules/@web-atoms/web-controls/dist/auto-complete/ItemHost.js.map +1 -1
  40. package/node_modules/@web-atoms/web-controls/dist/basic/AtomChips.js.map +1 -1
  41. package/node_modules/@web-atoms/web-controls/dist/basic/AtomRepeater.js.map +1 -1
  42. package/node_modules/@web-atoms/web-controls/dist/basic/AtomSuggestions.js.map +1 -1
  43. package/node_modules/@web-atoms/web-controls/dist/basic/AttachedPopup.js.map +1 -1
  44. package/node_modules/@web-atoms/web-controls/dist/basic/Button.js.map +1 -1
  45. package/node_modules/@web-atoms/web-controls/dist/basic/Calendar.js.map +1 -1
  46. package/node_modules/@web-atoms/web-controls/dist/basic/CheckBoxList.js.map +1 -1
  47. package/node_modules/@web-atoms/web-controls/dist/basic/Checkbox.js.map +1 -1
  48. package/node_modules/@web-atoms/web-controls/dist/basic/Chip.js.map +1 -1
  49. package/node_modules/@web-atoms/web-controls/dist/basic/ComboBox.js.map +1 -1
  50. package/node_modules/@web-atoms/web-controls/dist/basic/DataGrid.js.map +1 -1
  51. package/node_modules/@web-atoms/web-controls/dist/basic/DateField.js.map +1 -1
  52. package/node_modules/@web-atoms/web-controls/dist/basic/DropDown.js.map +1 -1
  53. package/node_modules/@web-atoms/web-controls/dist/basic/Editable.js.map +1 -1
  54. package/node_modules/@web-atoms/web-controls/dist/basic/Expander.js.map +1 -1
  55. package/node_modules/@web-atoms/web-controls/dist/basic/FilesDragDrop.js.map +1 -1
  56. package/node_modules/@web-atoms/web-controls/dist/basic/Form.js.map +1 -1
  57. package/node_modules/@web-atoms/web-controls/dist/basic/FormField.js.map +1 -1
  58. package/node_modules/@web-atoms/web-controls/dist/basic/IElement.js.map +1 -1
  59. package/node_modules/@web-atoms/web-controls/dist/basic/InlinePopup.js.map +1 -1
  60. package/node_modules/@web-atoms/web-controls/dist/basic/InlinePopupControl.js.map +1 -1
  61. package/node_modules/@web-atoms/web-controls/dist/basic/ItemPath.js.map +1 -1
  62. package/node_modules/@web-atoms/web-controls/dist/basic/LimitedText.js.map +1 -1
  63. package/node_modules/@web-atoms/web-controls/dist/basic/ListRepeater.js.map +1 -1
  64. package/node_modules/@web-atoms/web-controls/dist/basic/MaskedInput.js.map +1 -1
  65. package/node_modules/@web-atoms/web-controls/dist/basic/MaskedInputDiv.js.map +1 -1
  66. package/node_modules/@web-atoms/web-controls/dist/basic/MergeNode.js.map +1 -1
  67. package/node_modules/@web-atoms/web-controls/dist/basic/PasswordBox.js.map +1 -1
  68. package/node_modules/@web-atoms/web-controls/dist/basic/PinchZoomView.js.map +1 -1
  69. package/node_modules/@web-atoms/web-controls/dist/basic/PopupButton.js.map +1 -1
  70. package/node_modules/@web-atoms/web-controls/dist/basic/RadioButtonList.js.map +1 -1
  71. package/node_modules/@web-atoms/web-controls/dist/basic/RefreshLock.js.map +1 -1
  72. package/node_modules/@web-atoms/web-controls/dist/basic/Resizable.js.map +1 -1
  73. package/node_modules/@web-atoms/web-controls/dist/basic/Select.js.map +1 -1
  74. package/node_modules/@web-atoms/web-controls/dist/basic/Swipe.js.map +1 -1
  75. package/node_modules/@web-atoms/web-controls/dist/basic/Switch.js.map +1 -1
  76. package/node_modules/@web-atoms/web-controls/dist/basic/TableRepeater.js.map +1 -1
  77. package/node_modules/@web-atoms/web-controls/dist/basic/TimeEditor.js.map +1 -1
  78. package/node_modules/@web-atoms/web-controls/dist/basic/TitleEditor.js.map +1 -1
  79. package/node_modules/@web-atoms/web-controls/dist/basic/ToggleButtonBar.js.map +1 -1
  80. package/node_modules/@web-atoms/web-controls/dist/basic/Tooltip.js.map +1 -1
  81. package/node_modules/@web-atoms/web-controls/dist/basic/UploadEvent.js.map +1 -1
  82. package/node_modules/@web-atoms/web-controls/dist/basic/combineClasses.js.map +1 -1
  83. package/node_modules/@web-atoms/web-controls/dist/basic/styles/calendar-style.js.map +1 -1
  84. package/node_modules/@web-atoms/web-controls/dist/basic/styles/check-box-list-style.js.map +1 -1
  85. package/node_modules/@web-atoms/web-controls/dist/basic/styles/checkbox-style.js.map +1 -1
  86. package/node_modules/@web-atoms/web-controls/dist/basic/styles/chip-style.js.map +1 -1
  87. package/node_modules/@web-atoms/web-controls/dist/basic/styles/chips-style.js.map +1 -1
  88. package/node_modules/@web-atoms/web-controls/dist/basic/styles/data-grid-style.js.map +1 -1
  89. package/node_modules/@web-atoms/web-controls/dist/basic/styles/date-field-style.js.map +1 -1
  90. package/node_modules/@web-atoms/web-controls/dist/basic/styles/drop-down-style.js.map +1 -1
  91. package/node_modules/@web-atoms/web-controls/dist/basic/styles/expander-style.js.map +1 -1
  92. package/node_modules/@web-atoms/web-controls/dist/basic/styles/form-field-style.js.map +1 -1
  93. package/node_modules/@web-atoms/web-controls/dist/basic/styles/inline-popup-style.js.map +1 -1
  94. package/node_modules/@web-atoms/web-controls/dist/basic/styles/item-suggestion-style.js.map +1 -1
  95. package/node_modules/@web-atoms/web-controls/dist/basic/styles/list-repeater-style.js.map +1 -1
  96. package/node_modules/@web-atoms/web-controls/dist/basic/styles/masked-input-div.js.map +1 -1
  97. package/node_modules/@web-atoms/web-controls/dist/basic/styles/masked-input-style.js.map +1 -1
  98. package/node_modules/@web-atoms/web-controls/dist/basic/styles/password-box-style.js.map +1 -1
  99. package/node_modules/@web-atoms/web-controls/dist/basic/styles/pinch-zoom-view-style.js.map +1 -1
  100. package/node_modules/@web-atoms/web-controls/dist/basic/styles/popup-button-style.js.map +1 -1
  101. package/node_modules/@web-atoms/web-controls/dist/basic/styles/popup-style.js.map +1 -1
  102. package/node_modules/@web-atoms/web-controls/dist/basic/styles/radio-button-list-style.js.map +1 -1
  103. package/node_modules/@web-atoms/web-controls/dist/basic/styles/repeater-style.js.map +1 -1
  104. package/node_modules/@web-atoms/web-controls/dist/basic/styles/suggestion-popup.js.map +1 -1
  105. package/node_modules/@web-atoms/web-controls/dist/basic/styles/suggestion-style.js.map +1 -1
  106. package/node_modules/@web-atoms/web-controls/dist/basic/styles/swipe-style.js.map +1 -1
  107. package/node_modules/@web-atoms/web-controls/dist/basic/styles/switch-style.js.map +1 -1
  108. package/node_modules/@web-atoms/web-controls/dist/basic/styles/time-editor-style.js.map +1 -1
  109. package/node_modules/@web-atoms/web-controls/dist/basic/styles/title-editor-style.js.map +1 -1
  110. package/node_modules/@web-atoms/web-controls/dist/basic/styles/toggle-button-bar-style.js.map +1 -1
  111. package/node_modules/@web-atoms/web-controls/dist/basic/styles/toggle-view-style.js.map +1 -1
  112. package/node_modules/@web-atoms/web-controls/dist/basic/styles/tooltip-style.js.map +1 -1
  113. package/node_modules/@web-atoms/web-controls/dist/basic/styles/ui-display-none-style.js.map +1 -1
  114. package/node_modules/@web-atoms/web-controls/dist/button-bar/AtomButtonBar.js.map +1 -1
  115. package/node_modules/@web-atoms/web-controls/dist/buttons/AtomPopupButton.js.map +1 -1
  116. package/node_modules/@web-atoms/web-controls/dist/buttons/AtomPopupButtonStyle.js.map +1 -1
  117. package/node_modules/@web-atoms/web-controls/dist/calendar/AtomCalendar.js.map +1 -1
  118. package/node_modules/@web-atoms/web-controls/dist/calendar/AtomCalendarStyle.js.map +1 -1
  119. package/node_modules/@web-atoms/web-controls/dist/calendar/CalendarViewModel.js.map +1 -1
  120. package/node_modules/@web-atoms/web-controls/dist/calendar/res/SRCalendar.js.map +1 -1
  121. package/node_modules/@web-atoms/web-controls/dist/calendar/res/en-US/SRCalendar.js.map +1 -1
  122. package/node_modules/@web-atoms/web-controls/dist/data-grid/AtomColumn.js.map +1 -1
  123. package/node_modules/@web-atoms/web-controls/dist/data-grid/AtomDataGrid.js.map +1 -1
  124. package/node_modules/@web-atoms/web-controls/dist/data-grid/AtomDataGridStyle.js.map +1 -1
  125. package/node_modules/@web-atoms/web-controls/dist/data-grid/AtomDataGridViewModel.js.map +1 -1
  126. package/node_modules/@web-atoms/web-controls/dist/data-grid/GridTemplate.js.map +1 -1
  127. package/node_modules/@web-atoms/web-controls/dist/data-pager/AtomDataPager.js.map +1 -1
  128. package/node_modules/@web-atoms/web-controls/dist/date-field/AtomDateField.js.map +1 -1
  129. package/node_modules/@web-atoms/web-controls/dist/desktop-app/DesktopApp.js.map +1 -1
  130. package/node_modules/@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp.js.map +1 -1
  131. package/node_modules/@web-atoms/web-controls/dist/dev/DevHost.js.map +1 -1
  132. package/node_modules/@web-atoms/web-controls/dist/form/AtomField.js.map +1 -1
  133. package/node_modules/@web-atoms/web-controls/dist/form/AtomForm.js.map +1 -1
  134. package/node_modules/@web-atoms/web-controls/dist/form/AtomFormGroup.js.map +1 -1
  135. package/node_modules/@web-atoms/web-controls/dist/form/AtomFormStyle.js.map +1 -1
  136. package/node_modules/@web-atoms/web-controls/dist/form/HelpPopup.js.map +1 -1
  137. package/node_modules/@web-atoms/web-controls/dist/html-editor/AtomHtmlEditor.js.map +1 -1
  138. package/node_modules/@web-atoms/web-controls/dist/html-editor/HtmlEditorCommands.js.map +1 -1
  139. package/node_modules/@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor.d.ts.map +1 -1
  140. package/node_modules/@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor.js +5 -0
  141. package/node_modules/@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor.js.map +1 -1
  142. package/node_modules/@web-atoms/web-controls/dist/html-editor/RangeEditor.js.map +1 -1
  143. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/AddImage.js.map +1 -1
  144. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/AddLink.js.map +1 -1
  145. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Align.js.map +1 -1
  146. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/AttachFile.js.map +1 -1
  147. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/AttachImage.js.map +1 -1
  148. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Bold.js.map +1 -1
  149. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/ChangeColor.js.map +1 -1
  150. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/ChangeFont.js.map +1 -1
  151. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/ChangeFontSize.js.map +1 -1
  152. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Command.js.map +1 -1
  153. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/CommandButton.js.map +1 -1
  154. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Headings.js.map +1 -1
  155. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/HorizontalRule.js.map +1 -1
  156. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands.js.map +1 -1
  157. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/IndentLess.js.map +1 -1
  158. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/IndentMore.js.map +1 -1
  159. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Italic.js.map +1 -1
  160. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/NumberedList.js.map +1 -1
  161. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Quote.js.map +1 -1
  162. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/RemoveFormat.js.map +1 -1
  163. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Separator.js.map +1 -1
  164. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Source.js.map +1 -1
  165. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/StrikeThrough.js.map +1 -1
  166. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Toolbar.js.map +1 -1
  167. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Underline.js.map +1 -1
  168. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Unlink.js.map +1 -1
  169. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/UnorderedList.js.map +1 -1
  170. package/node_modules/@web-atoms/web-controls/dist/mobile/pages/AtomPageFrame.js.map +1 -1
  171. package/node_modules/@web-atoms/web-controls/dist/mobile/pages/AtomPageFrameStyle.js.map +1 -1
  172. package/node_modules/@web-atoms/web-controls/dist/mobile/pages/AtomPageFrameTemplate.js.map +1 -1
  173. package/node_modules/@web-atoms/web-controls/dist/mobile/pages/Page.js.map +1 -1
  174. package/node_modules/@web-atoms/web-controls/dist/mobile/pages/PageFrameViewModel.js.map +1 -1
  175. package/node_modules/@web-atoms/web-controls/dist/mobile/pages/TitleTemplate.js.map +1 -1
  176. package/node_modules/@web-atoms/web-controls/dist/mobile-app/BottomPopup.js.map +1 -1
  177. package/node_modules/@web-atoms/web-controls/dist/mobile-app/MasterDetailPage.js.map +1 -1
  178. package/node_modules/@web-atoms/web-controls/dist/mobile-app/MobileApp.js.map +1 -1
  179. package/node_modules/@web-atoms/web-controls/dist/player/AtomVideoPlayer.js.map +1 -1
  180. package/node_modules/@web-atoms/web-controls/dist/player/TrackProgress.js.map +1 -1
  181. package/node_modules/@web-atoms/web-controls/dist/player/input-range-style.js.map +1 -1
  182. package/node_modules/@web-atoms/web-controls/dist/time-field/AtomTimeField.js.map +1 -1
  183. package/node_modules/@web-atoms/web-controls/dist/time-field/AtomTimeFieldStyle.js.map +1 -1
  184. package/node_modules/@web-atoms/web-controls/dist/toggle-view/AtomToggleView.js.map +1 -1
  185. package/node_modules/@web-atoms/web-controls/dist/tsconfig.tsbuildinfo +1 -1
  186. package/node_modules/@web-atoms/web-controls/package.json +1 -1
  187. package/node_modules/@web-atoms/web-controls/src/html-editor/InlineHtmlEditor.tsx +5 -0
  188. package/package.json +2 -2
  189. package/src/common/controls/tree/FileTreeView.tsx +13 -5
  190. package/src/common/controls/tree/TreeView.tsx +7 -1
  191. package/src/common/pages/websites/studio/WebSiteStudioPage.tsx +25 -0
  192. package/src/public/channel/BlogService.ts +1 -0
  193. package/src/web/page/mails/mini-compose/MiniComposeBox.tsx +1 -0
@@ -994,6 +994,9 @@ and limitations under the License.
994
994
  }
995
995
  `.installGlobal("[data-page-type=master-detail]");findItem=(content,item)=>{var _a,_b,_c;for(const iterator of descendentElementIterator(content)){const repeater=iterator===null||iterator===void 0?void 0:iterator.atomControl;if(!(repeater instanceof AtomRepeater)){continue}const index=(_b=(_a=repeater.items)===null||_a===void 0?void 0:_a.indexOf(item))!==null&&_b!==void 0?_b:-1;if(index===-1){continue}const element=(_c=repeater.element)===null||_c===void 0?void 0:_c.querySelector(`[data-item-index="${index}"]`);if(element){return element}}};_export("default",MasterDetailPage=class MasterDetailPage extends ContentPage{constructor(){super(...arguments);this.showClose=true;this.scrollEveryNewTarget=false;this.lookupItemForHighlight=true;this.highlightAttributeValue=["data-filter","drop-shadow-accent"]}get highlightAttribute(){return this.highlightAttributeValue}set highlightAttribute(value){var _a;if(!value){this.highlightAttributeValue=["data-filter","drop-shadow-accent"];return}if(typeof value==="string"){const tokens=value.split("=");let key=tokens[0];let v=(_a=tokens[1])!==null&&_a!==void 0?_a:"true";if(v.endsWith("]")){v=v.substring(0,v.length-1)}if(key.startsWith("[")){key=key.substring(1)}value=[key,v]}this.highlightAttributeValue=value}openDetail(page,parameters,highlightElementOrItem){if(isMobileView){PageNavigator.pushPage(page,parameters);return}const content=this.element.querySelector(`[data-page-element="content"]`);content.setAttribute("data-mode","desktop");let highlightElement;if(highlightElementOrItem instanceof HTMLElement){highlightElement=highlightElementOrItem}if(!highlightElement&&this.lookupItemForHighlight){highlightElement=findItem(content,highlightElementOrItem)}const lastTargetElement=this.lastTargetElement;if(lastTargetElement){const[key]=this.highlightAttributeValue;lastTargetElement.removeAttribute(key)}this.lastTargetElement=highlightElement;if(!this.closeButton&&this.showClose){const closeButton=document.createElement("i");closeButton.setAttribute("data-element","close");closeButton.className="fas fa-times-circle";this.closeButton=closeButton;content.appendChild(closeButton);closeButton.addEventListener("click",(()=>this.closeDetail()))}let lastDetail=this.lastDetail;if(lastDetail){const{element}=lastDetail;lastDetail.dispose();element.remove();if(this.scrollEveryNewTarget){this.scrollTargetIntoView()}}else{this.scrollTargetIntoView()}this.updateTargetSelector(highlightElement);const P=page;lastDetail=new P(this.app);content.appendChild(lastDetail.element);lastDetail.element.setAttribute("data-element","detail");this.lastDetail=lastDetail;lastDetail.parameters=parameters;const close=()=>this.closeDetail();lastDetail.cancel=close;lastDetail.close=close;this.app.runAsync((()=>{var _a,_b;return(_b=(_a=this.lastDetail)===null||_a===void 0?void 0:_a.init)===null||_b===void 0?void 0:_b.call(_a)}))}scrollTargetIntoView(dispose=false){const lastTargetElement=this.lastTargetElement;if(lastTargetElement){setTimeout((()=>{if(lastTargetElement.isConnected){lastTargetElement.scrollIntoView()}if(dispose){this.lastTargetElement=void 0;this.updateTargetSelector(lastTargetElement,true,dispose)}}),100)}}updateTargetSelector(lastTargetElement,remove=false,delay=false){if(!lastTargetElement){return}const[key,value]=this.highlightAttributeValue;if(remove){if(delay){setTimeout((()=>{lastTargetElement.removeAttribute(key)}),1e3)}else{lastTargetElement.removeAttribute(key)}return}lastTargetElement.setAttribute(key,value)}preCreate(){super.preCreate();this.element.setAttribute("data-page-type","master-detail")}closeDetail(){const lastDetail=this.lastDetail;if(lastDetail){const{element}=lastDetail;lastDetail.dispose();element.remove();this.lastDetail=void 0}const closeButton=this.closeButton;if(closeButton){closeButton.remove();this.closeButton=void 0}const content=this.element.querySelector(`[data-page-element="content"]`);content.removeAttribute("data-mode");this.scrollTargetIntoView(true)}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/mobile-app/MasterDetailPage");System.register([],(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}if(key==="text"){div.textContent=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(["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"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Email,EmailRecipient,MailboxContactEmail,MailboxEmail,Sql,DomToString,XNode,AtomControl,descendentElementIterator,DateTime,CommonEvents,BusyProgress,renderMail,downloadEmailContent,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}],execute:function(){_export("renderMail",renderMail=AtomControl.registerProperty("data-html","html",((c,e,value)=>{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)){if(iterator.tagName==="IMG"){const src=iterator.getAttribute("src");if(src){if(src.startsWith("cid:")){const cid=src.substring(4);const a=mail.attachments.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",`/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){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)}return})));downloadEmailContent=(es,email)=>__awaiter(void 0,void 0,void 0,(function*(){var _a,_b;if(email.replyCount){const children=yield es.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=[]}if(!email.originalFileID){return}for(let i=0;i<10;i++){try{const rs=yield fetch(email.htmlBodyUrl);const text=yield rs.text();email.htmlBody=text;return}catch(error){console.error(error)}}}));ConversationService=class ConversationService{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){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){if(email===null||email===void 0?void 0:email.emailID){if(!email.textBody){email.textBody=email.mdBody}email.subject||(email.subject="");const cloner=this.entityService.cloner(email).include((x=>x.attachments)).include((x=>x.recipients));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.threadEmails)!==null&&_c!==void 0?_c:email.threadEmails=[];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)||Sql.text.iLike(x.email.originalFile.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{email}of emails.items){(_a=email.htmlBody)!==null&&_a!==void 0?_a:email.htmlBody="";(_b=email.textBody)!==null&&_b!==void 0?_b:email.textBody="";tasks.push(downloadEmailContent(this.entityService,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)}))}renderText(html){const div=document.createElement("div");div.innerHTML=html;return div.textContent}renderHtml(html){const div=document.createElement("div");div.innerHTML=html;return div.innerHTML}toHtml(textBody){return DomToString(XNode.create("div",null,...textBody.split("\n").map((p=>XNode.create("p",{text:p})))))}block(thread){return __awaiter(this,void 0,void 0,(function*(){thread.blocked=!thread.blocked;const cloner=this.entityService.cloner(thread).copy;yield this.entityService.save(cloner);CommonEvents.onThreadMarkedAsBlocked.dispatchEvent(thread)}))}delete(email){return __awaiter(this,void 0,void 0,(function*(){const{emailID,status}=email;yield this.entityService.delete(Email.create({emailID,status}));CommonEvents.onDraftDeleted.dispatchEvent(email)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ConversationService.prototype,"entityService",void 0);ConversationService=__decorate([DISingleton()],ConversationService);_export("default",ConversationService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService");System.register(["@web-atoms/core/dist/web/services/PopupService"],(function(_export,_context){"use strict";var PopupControl,InlinePopupControl;_export("default",void 0);return{setters:[function(_webAtomsCoreDistWebServicesPopupService){PopupControl=_webAtomsCoreDistWebServicesPopupService.PopupControl}],execute:function(){_export("default",InlinePopupControl=class InlinePopupControl extends PopupControl{static showPopup(opener,popup,options={}){const c=class extends InlinePopupControl{create(){this.render(popup)}dispatchClickEvent(e,data){let start=this.element.parentElement;while(start){const{atomControl}=start;if(atomControl){atomControl.dispatchClickEvent(e,data);return}start=start.parentElement}super.dispatchClickEvent(e,data)}};options.popupStyle=".no-style";return c.showControl(opener,options)}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/InlinePopupControl");System.register([],(function(_export,_context){return{setters:[],execute:function(){setTimeout((()=>{const cssModule=_context.meta.resolve("./data-styles.css");const cssURL=System.resolve(cssModule);const link=document.createElement("link");link.id="data-styles";link.setAttribute("href",cssURL);link.setAttribute("rel","stylesheet");link.setAttribute("as","style");link.setAttribute("crossorigin","anonymous");const head=document.head;const firstElementChild=head.firstElementChild;if(firstElementChild){head.insertBefore(link,firstElementChild)}else{head.appendChild(link)}}),1)}}}));AmdLoader.instance.setup("@web-atoms/data-styles/data-styles");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode;function notSet(text){return()=>{alert(`Command ${text} not set`)}}function insert(callback,command){return(s,e)=>__awaiter(this,void 0,void 0,(function*(){let r=callback(s,e);if(typeof r!=="string"){if(r===null||r===void 0?void 0:r.then){r=yield r}}if(r){if(command){command.execute(s,false,r)}else{s.executeCommand("insertHTML",false,r)}}}))}function CommandButton({icon,label,eventInsertHtml,insertCommand,title,disabled}){disabled!==null&&disabled!==void 0?disabled:disabled=Bind.oneWay((x=>x.version?!insertCommand.canExecute(x):false));if(label){return XNode.create("button",{class:"command","data-layout":"toolbar-button",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand)),title},XNode.create("label",{class:"label"},XNode.create("i",{class:icon}),XNode.create("span",{text:label})))}return XNode.create("button",{"data-layout":"toolbar-button",title,class:"command",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand))},XNode.create("i",{class:icon}))}_export({notSet,default:CommandButton});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/CommandButton");System.register([],(function(_export,_context){"use strict";var HtmlCommands;function query(name){return{canExecute(e){return e.queryCommandState(name)},execute(e,showUI,value){return e.executeCommand(name,showUI,value)}}}_export("default",void 0);return{setters:[],execute:function(){_export("default",HtmlCommands=class HtmlCommands{});HtmlCommands.backColor=query("backColor");HtmlCommands.bold=query("bold");HtmlCommands.contentReadOnly=query("contentReadOnly");HtmlCommands.copy=query("copy");HtmlCommands.createLink=query("createLink");HtmlCommands.cut=query("cut");HtmlCommands.decreaseFontSize=query("decreaseFontSize");HtmlCommands.defaultParagraphSeparator=query("defaultParagraphSeparator");HtmlCommands.enableAbsolutePositionEditor=query("enableAbsolutePositionEditor");HtmlCommands.enableInlineTableEditing=query("enableInlineTableEditing");HtmlCommands.enableObjectResizing=query("enableObjectResizing");HtmlCommands.fontName=query("fontName");HtmlCommands.fontSize=query("fontSize");HtmlCommands.foreColor=query("foreColor");HtmlCommands.formatBlock=query("formatBlock");HtmlCommands.forwardDelete=query("forwardDelete");HtmlCommands.heading=query("heading");HtmlCommands.hiliteColor=query("hiliteColor");HtmlCommands.increaseFontSize=query("increaseFontSize");HtmlCommands.indent=query("indent");HtmlCommands.insertBrOnReturn=query("insertBrOnReturn");HtmlCommands.insertHorizontalRule=query("insertHorizontalRule");HtmlCommands.insertHTML=query("insertHTML");HtmlCommands.insertImage=query("insertImage");HtmlCommands.insertOrderedList=query("insertOrderedList");HtmlCommands.insertUnorderedList=query("insertUnorderedList");HtmlCommands.insertParagraph=query("insertParagraph");HtmlCommands.insertText=query("insertText");HtmlCommands.italic=query("italic");HtmlCommands.justifyCenter=query("justifyCenter");HtmlCommands.justifyFull=query("justifyFull");HtmlCommands.justifyLeft=query("justifyLeft");HtmlCommands.justifyRight=query("justifyRight");HtmlCommands.outdent=query("outdent");HtmlCommands.paste=query("paste");HtmlCommands.redo=query("redo");HtmlCommands.removeFormat=query("removeFormat");HtmlCommands.selectAll=query("selectAll");HtmlCommands.strikeThrough=query("strikeThrough");HtmlCommands.subscript=query("subscript");HtmlCommands.superscript=query("superscript");HtmlCommands.underline=query("underline");HtmlCommands.undo=query("undo");HtmlCommands.unlink=query("unlink");HtmlCommands.useCSS=query("useCSS");HtmlCommands.styleWithCSS=query("styleWithCSS");HtmlCommands.AutoUrlDetect=query("AutoUrlDetect");HtmlCommands.enabled={canExecute(e){return true},execute(){throw new Error("not supported")}}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/services/PopupService","../../basic/FormField","./CommandButton","./HtmlCommands"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,PopupService,PopupWindow,FormField,CommandButton,HtmlCommands,ImageDialog;function showImageDialog(s,e){return PopupService.showWindow(e.currentTarget,ImageDialog,{title:"Add Image"})}function AddImage({eventInsertHtml=(s,e)=>s.insertImage(s,e),insertCommand=HtmlCommands.insertImage}){return CommandButton({icon:"ri-image-add-fill",insertCommand,disabled:false,title:"Insert Image",eventInsertHtml})}_export({showImageDialog,default:AddImage});return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default;PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_basicFormField){FormField=_basicFormField.default},function(_CommandButton){CommandButton=_CommandButton.default},function(_HtmlCommands){HtmlCommands=_HtmlCommands.default}],execute:function(){ImageDialog=class ImageDialog extends PopupWindow{create(){this.link="";this.alt="";this.render(XNode.create("div",null,XNode.create(FormField,{label:"Url"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.link))})),XNode.create(FormField,{label:"Alt"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.alt))})),XNode.create("div",{class:"command-bar"},XNode.create("button",{eventClick:()=>this.close(this.createImage()),text:"Add"}))))}createImage(){if(this.alt){return`<img src="${this.link}" alt="${this.alt}" />`}return`<img src="${this.link}"/>`}};__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"link",void 0);__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"alt",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/AddImage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/types","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/data-styles/data-styles","./commands/AddImage","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,XNode,sleep,CancelToken,AtomControl,ChildEnumerator,descendentElementIterator,showImageDialog,styled,InlineHtmlEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator;descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDataStylesDataStyles){},function(_commandsAddImage){showImageDialog=_commandsAddImage.showImageDialog},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
996
996
 
997
+ display: grid;
998
+ grid-template-rows: auto 1fr;
999
+
997
1000
  & > [data-element=editor] {
998
1001
 
999
1002
  padding: var(--spacing, 5px);
@@ -1001,6 +1004,8 @@ and limitations under the License.
1001
1004
  border-radius: var(--spacing, 5px);
1002
1005
  margin: var(--spacing, 5px);
1003
1006
 
1007
+ overflow: auto;
1008
+
1004
1009
  & > * {
1005
1010
  outline: none;
1006
1011
  }
@@ -1601,6 +1606,7 @@ and limitations under the License.
1601
1606
  grid-template-columns: auto 1fr auto;
1602
1607
  grid-template-rows: auto 1fr auto;
1603
1608
  border-top: solid 1px lightgray;
1609
+ max-height: 50vh;
1604
1610
 
1605
1611
  & > [data-element=add] {
1606
1612
  grid-row: 1 / span 2;
@@ -1735,7 +1741,7 @@ and limitations under the License.
1735
1741
  }
1736
1742
  }
1737
1743
 
1738
- `.installGlobal("[data-layout=tree-view]");_export("default",TreeView=class TreeView extends AtomControl{constructor(){super(...arguments);this.map=new WeakMap;this.canSelect=x=>true;this.isFolder=x=>true}init(){return __awaiter(this,void 0,void 0,(function*(){}))}onPropertyChanging(name,oldValue,newValue){if(name==="selectedItem"){if(oldValue){const selectedElement=this.map.get(oldValue);if(selectedElement){selectedElement.removeAttribute("data-selected")}}if(newValue){this.selectItem(newValue)}}}selectItem(newValue){if(!this.childrenProperty){return}const element=this.map.get(newValue);if(!element){if(this.root){console.error(`Item not in the tree`)}return}element.setAttribute("data-selected","true");let start=element;while(start){const pi=start.parentItem;if(!pi){break}start=this.map.get(pi);if(!start){break}this.expandElement(start,false)}}onPropertyChanged(name){switch(name){case"root":case"childrenProperty":case"labelRenderer":case"folderIconRenderer":case"fileIconRenderer":case"actionRenderer":const rootElement=this.element.firstElementChild;rootElement===null||rootElement===void 0?void 0:rootElement.dispose();if(this.root&&this.childrenProperty&&this.labelRenderer&&this.folderIconRenderer){this.element.innerHTML="";this.createElement(this.root,void 0,-1);this.expand(this.root);if(this.selectedItem){this.selectItem(this.selectedItem)}}break;case"selectedItem":if(this.selectedItem){this.selectItem(this.selectedItem)}break}}expand(item){const element=this.map.get(item);if(element){this.expandElement(element,false)}}preCreate(){this.root=null;this.selectedItem=null;this.childrenProperty=null;this.actionRenderer=null;this.element.setAttribute("data-layout","tree-view");this.labelRenderer=item=>{var _a,_b,_c,_d;return XNode.create("span",{title:(_b=(_a=item.label)!==null&&_a!==void 0?_a:item.name)!==null&&_b!==void 0?_b:item,text:(_d=(_c=item.label)!==null&&_c!==void 0?_c:item.name)!==null&&_d!==void 0?_d:item})};this.folderIconRenderer=item=>XNode.create("i",{class:"fas"});this.fileIconRenderer=item=>XNode.create("i",{"data-element":"icon","data-click-event":"none"});this.runAfterInit((()=>{if(this.root&&!this.element.firstElementChild){if(this.childrenProperty){this.createElement(this.root);this.expand(this.root)}if(this.selectedItem){this.selectItem(this.selectedItem)}}}));this.bindEvent(this.element,"selectItem",(ce=>{if(ce.defaultPrevented){return}const element=findTreeElement(ce.target);const dataItem=element===null||element===void 0?void 0:element.dataItem;if(dataItem){if(this.selectedItem!==dataItem){const se=new CustomEvent("selectedItemChanging",{detail:dataItem,bubbles:true,cancelable:true});this.element.dispatchEvent(se);if(se.defaultPrevented){return}this.selectedItem=dataItem}}}));this.bindEvent(this.element,"toggleExpand",(ce=>{const element=findTreeElement(ce.target);this.expandElement(element)}));this.runAfterInit((()=>this.app.runAsync((()=>{var _a;return(_a=this.init)===null||_a===void 0?void 0:_a.call(this)}))))}dispatchClickEvent(e,data){const target=e.target;let start=target;while(start){if(start.getAttribute("data-layout")==="tree-view-item"){break}start=start.parentElement}if(!start){return super.dispatchClickEvent(e,data)}const item=start;const clickEvent=data===null||data===void 0?void 0:data.clickEvent;data=item.dataItem;if(data){data.clickEvent=clickEvent}super.dispatchClickEvent(e,data)}expandElement(element,toggle=true){if(!element){return}const{dataItem}=element;if(!dataItem){return}if(element.getAttribute("data-expanded")){if(toggle){element.removeAttribute("data-expanded");element.dispatchEvent(new CustomEvent("itemCollapsed",{detail:dataItem,bubbles:true,cancelable:true}));const children=this.childrenProperty(element.dataItem);for(const iterator of children){this.updateExpanded(iterator,false)}}}else{element.setAttribute("data-expanded","true");element.dispatchEvent(new CustomEvent("itemExpanded",{detail:dataItem,bubbles:true,cancelable:true}));this.updateExpanded(dataItem,true)}}createElement(item,parentItem,insertIndex=-1){var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m;const element=document.createElement("div");element.setAttribute("data-layout","tree-view-item");element.dataItem=item;element.parentItem=parentItem;this.map.set(item,element);const children=this.childrenProperty(item);if(!children){throw new Error("Children array must not be empty")}const watcher=children.watch(((target,event,index,child)=>{var _a;if(event==="add"||event==="set"){this.createElement(child,item,index);return}if(event==="remove"){const childElement=this.map.get(child);childElement===null||childElement===void 0?void 0:childElement.dispose();return}for(const iterator of children){(_a=this.map.get(iterator))===null||_a===void 0?void 0:_a.dispose()}for(const iterator of children){this.createElement(iterator,item)}}));element.dispose=()=>{var _a;watcher.dispose();for(const iterator of children){(_a=this.map.get(iterator))===null||_a===void 0?void 0:_a.dispose()}element.remove()};const actionElement=(_a=this.actionRenderer)===null||_a===void 0?void 0:_a.call(this,item);const isFolder=(_c=(_b=this.isFolder)===null||_b===void 0?void 0:_b.call(this,item))!==null&&_c!==void 0?_c:true;const iconElement=isFolder?this.folderIconRenderer(item):(_e=(_d=this.fileIconRenderer)===null||_d===void 0?void 0:_d.call(this,item))!==null&&_e!==void 0?_e:XNode.create("i",null);const labelElement=this.labelRenderer(item);if(iconElement){const a=(_f=iconElement.attributes)!==null&&_f!==void 0?_f:iconElement.attributes={};(_g=a["data-element"])!==null&&_g!==void 0?_g:a["data-element"]=isFolder?"expand-collapse":"file-icon";(_h=a["data-click-event"])!==null&&_h!==void 0?_h:a["data-click-event"]="toggle-expand";this.render(XNode.create("div",null,iconElement),element,this)}if(labelElement){const a=(_j=labelElement.attributes)!==null&&_j!==void 0?_j:labelElement.attributes={};a["data-element"]="label";(_k=a["data-click-event"])!==null&&_k!==void 0?_k:a["data-click-event"]="select-item";this.render(XNode.create("div",null,labelElement),element,this)}if(actionElement){((_l=actionElement.attributes)!==null&&_l!==void 0?_l:actionElement.attributes={})["data-element"]="action";this.render(XNode.create("div",null,actionElement),element,this)}const header=document.createElement("div");header.setAttribute("data-element","header");element.appendChild(header);const parentElement=this.map.get(parentItem);let last=parentElement;if(parentItem){const siblings=this.childrenProperty(parentItem);if(insertIndex===-1){insertIndex=siblings.indexOf(item)}if(insertIndex>=1){last=this.map.get(siblings[insertIndex-1])}last.insertAdjacentElement("afterend",element);const pad=Number((_m=parentElement.getAttribute("data-pad"))!==null&&_m!==void 0?_m:"0")+10;element.setAttribute("data-pad",`${pad}`);element.style.paddingLeft=`${pad}px`}else{this.element.appendChild(element);this.expandElement(element,false)}for(const iterator of children){this.createElement(iterator,item)}setTimeout((()=>this.updateExpanded()),1);return element}updateExpanded(item,show){if(!item){item=this.root;show=true}const element=this.map.get(item);if(!element){return}if(item===this.root){show=true}else if(show===void 0){show=element.getAttribute("data-expanded")==="true"}if(show){element.style.display=""}else{element.style.display="none"}const children=this.childrenProperty(element.dataItem);show&&(show=element.getAttribute("data-expanded")==="true");for(const iterator of children){this.updateExpanded(iterator,show)}}});__decorate([BindableProperty,__metadata("design:type",Object)],TreeView.prototype,"root",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],TreeView.prototype,"selectedItem",void 0);delete TreeView.prototype.init}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/TreeView");System.register([],(function(_export,_context){"use strict";var QueryIterator;_export("default",void 0);return{setters:[],execute:function(){_export("default",QueryIterator=class QueryIterator{static first(source,fx){for(const iterator of source){if(fx(iterator)){return iterator}}}firstOrFail(source,fx){for(const iterator of source){if(fx(iterator)){return iterator}}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/QueryIterator");System.register([],(function(_export,_context){"use strict";var AttachmentFile;_export("AttachmentFile",void 0);return{setters:[],execute:function(){_export("AttachmentFile",AttachmentFile=class AttachmentFile extends File{constructor(fileBits,fileName,options){super(fileBits,fileName,options);this.contentId=options.contentId;this.disposition=options.disposition}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/AttachmentFile");System.register([],(function(_export,_context){"use strict";function*tokenize(text,sep){let start=0;for(;;){const index=text.indexOf(sep,start);if(index===-1){break}yield text.substring(start,index);start=index+1}yield text.substring(start)}function tokenizeMax(text,sep,max=Number.MAX_SAFE_INTEGER){let start=0;const items=[];max--;for(;;){const index=text.indexOf(sep,start);if(index===-1){break}items.push(text.substring(start,index));start=index+1;if(--max===0){break}}items.push(text.substring(start));return items}_export({tokenize,tokenizeMax});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/tokenizer");System.register(["./tokenizer"],(function(_export,_context){"use strict";var tokenize,tokenizeMax,parsePairs;return{setters:[function(_tokenizer){tokenize=_tokenizer.tokenize;tokenizeMax=_tokenizer.tokenizeMax}],execute:function(){_export("parsePairs",parsePairs=(text,emptyName)=>{const pairs={toString(){return text}};for(const iterator of tokenize(text,";")){const trimmed=iterator.trim();if(!trimmed){break}const items=tokenizeMax(trimmed,"=",2).map((x=>x.trim()));let[key,value]=items;if(items.length===1){value=key;key=emptyName!==null&&emptyName!==void 0?emptyName:key}try{if(value.startsWith('"')){value=JSON.parse(value)}}catch(_a){}pairs[key]=value}return pairs})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/parsePairs");System.register(["./parsePairs"],(function(_export,_context){"use strict";var parsePairs,HeaderContentType;_export("HeaderContentType",void 0);return{setters:[function(_parsePairs){parsePairs=_parsePairs.parsePairs}],execute:function(){_export("HeaderContentType",HeaderContentType=class HeaderContentType{constructor(type,charset="UTF-8",boundary){this.type=type;this.charset=charset;this.boundary=boundary}parse(text){const items=parsePairs(text,"type");this.type=items.type;this.charset=items.charset;this.boundary=items.boundary}toString(){if(this.boundary){return`${this.type}; charset="${this.charset}"; boundary="${this.boundary}";`}return`${this.type}; charset="${this.charset}";`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/HeaderContentType");System.register([],(function(_export,_context){"use strict";var toBuffer,RawBuffer;return{setters:[],execute:function(){toBuffer=text=>{const bytes=new Uint8Array(text.length);for(let index=0;index<text.length;index++){bytes[index]=text.charCodeAt(index)}return bytes.buffer};_export("RawBuffer",RawBuffer={decode:(bytesAsString,encoding="utf-8")=>{if(!encoding){return bytesAsString}const te=new TextDecoder(encoding);return te.decode(toBuffer(bytesAsString))},encode:(text,encoding="utf-8")=>{if(!/utf\-?8/i.test(encoding)){throw new Error(`Encoding ${encoding} not supported`)}const te=new TextEncoder;const array=te.encode(text);const a=[];for(const iterator of array){a.push(String.fromCharCode(iterator))}return a.join("")},toBase64Async(blob,asDataUrl=false){return new Promise(((resolve,reject)=>{const reader=new FileReader;reader.onerror=()=>{reject(reader.error)};reader.onload=()=>{const text=reader.result;if(asDataUrl){resolve(text);return}const index=text.indexOf(",");resolve(text.substring(index+1))};reader.readAsDataURL(blob)}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/RawBuffer");System.register(["./RawBuffer"],(function(_export,_context){"use strict";var RawBuffer,isEncodedRegEx,hexToUnicode,decode,isSimpleText,wordEncoding;return{setters:[function(_RawBuffer){RawBuffer=_RawBuffer.RawBuffer}],execute:function(){isEncodedRegEx=/\=\?([^\?\s]+)\?([^\?\s]{1})\?([^\s\?]+)\?\=\s*/gm;hexToUnicode=/(\=([0-9a-f]{2}))|(\_)/gim;decode=text=>text.replace(isEncodedRegEx,((matched,encoding,format,buffer)=>{if(/b/i.test(format)){return RawBuffer.decode(atob(buffer),encoding)}if(/q/i.test(format)){const replaced=buffer.replace(hexToUnicode,((m,group,code)=>{if(m==="_"){return" "}return String.fromCharCode(parseInt(code,16))}));return RawBuffer.decode(replaced,encoding)}return matched}));isSimpleText=/[0-9a-zA-Z\x20]/;_export("wordEncoding",wordEncoding={decode,encode:(word,ifNeeded=false)=>{if(ifNeeded){if(isSimpleText.test(word)){return word}}word=RawBuffer.encode(word);return`=?UTF-8?B?${btoa(word)}?=`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/word-encoding");System.register(["./encoder/word-encoding","./parsePairs"],(function(_export,_context){"use strict";var wordEncoding,parsePairs,HeaderContentDisposition;_export("HeaderContentDisposition",void 0);return{setters:[function(_encoderWordEncoding){wordEncoding=_encoderWordEncoding.wordEncoding},function(_parsePairs){parsePairs=_parsePairs.parsePairs}],execute:function(){_export("HeaderContentDisposition",HeaderContentDisposition=class HeaderContentDisposition{constructor(type,filename,name){this.type=type;this.filename=filename;this.name=name}parse(text){const items=parsePairs(text,"type");this.type=items.type;this.filename=items.filename;this.name=items.name}toString(){return`${this.type};\r\n\t\tfilename="${wordEncoding.encode(this.filename)}";`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/HeaderContentDisposition");System.register([],(function(_export,_context){"use strict";function base64toBlob(base64Data,contentType){contentType=contentType||"";const sliceSize=1024;const byteCharacters=atob(base64Data);const bytesLength=byteCharacters.length;const slicesCount=Math.ceil(bytesLength/sliceSize);const byteArrays=new Array(slicesCount);for(let sliceIndex=0;sliceIndex<slicesCount;++sliceIndex){const begin=sliceIndex*sliceSize;const end=Math.min(begin+sliceSize,bytesLength);const bytes=new Array(end-begin);for(let offset=begin,i=0;offset<end;++i,++offset){bytes[i]=byteCharacters[offset].charCodeAt(0)}byteArrays[sliceIndex]=new Uint8Array(bytes)}return new Blob(byteArrays,{type:contentType})}_export("base64toBlob",base64toBlob);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/base64-to-blob");System.register([],(function(_export,_context){"use strict";var stringFromCharCode,decode,handleTrailingCharacters,regexUnsafeSymbols,encode,quotedPrintable;return{setters:[],execute:function(){stringFromCharCode=String.fromCharCode;decode=function(input){return input.replace(/[\t\x20]$/gm,"").replace(/=(?:\r\n?|\n|$)/g,"").replace(/=([a-fA-F0-9]{2})/g,(function($0,$1){const codePoint=parseInt($1,16);return stringFromCharCode(codePoint)}))};handleTrailingCharacters=function(text){return text.replace(/\x20$/,"=20").replace(/\t$/,"=09")};regexUnsafeSymbols=/[\0-\x08\n-\x1F=\x7F-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g;encode=function(text){const encoded=text.replace(regexUnsafeSymbols,(function(symbol){if(symbol>"ÿ"){throw RangeError("`quotedPrintable.encode()` expects extended ASCII input only. "+"Don’t forget to encode the input first using a character "+"encoding like UTF-8.")}const codePoint=symbol.charCodeAt(0);const hexadecimal=codePoint.toString(16).toUpperCase();return"="+("0"+hexadecimal).slice(-2)}));const LINE_LENGTH=75;const lines=encoded.split(/\r\n?|\n/g);let lineIndex=-1;const lineCount=lines.length;const result=[];let buffer;while(++lineIndex<lineCount){const line=lines[lineIndex];let index=0;const length=line.length;while(index<length){buffer=encoded.slice(index,index+LINE_LENGTH);if(/=$/.test(buffer)){buffer=buffer.slice(0,LINE_LENGTH-1);index+=LINE_LENGTH-1}else if(/=[A-F0-9]$/.test(buffer)){buffer=buffer.slice(0,LINE_LENGTH-2);index+=LINE_LENGTH-2}else{index+=LINE_LENGTH}result.push(buffer)}}const lastLineLength=buffer.length;if(/[\t\x20]$/.test(buffer)){result.pop();if(lastLineLength+2<=LINE_LENGTH+1){result.push(handleTrailingCharacters(buffer))}else{result.push(buffer.slice(0,lastLineLength-1),handleTrailingCharacters(buffer.slice(lastLineLength-1,lastLineLength)))}}return result.join("=\r\n")};_export("quotedPrintable",quotedPrintable={encode,decode,version:"1.0.1"})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/quoted-printable");System.register(["tslib","../../common/QueryIterator","./AttachmentFile","./HeaderContentType","./HeaderContentDisposition","./encoder/RawBuffer","./encoder/base64-to-blob","./encoder/quoted-printable","./encoder/word-encoding"],(function(_export,_context){"use strict";var __asyncValues,__awaiter,QueryIterator,AttachmentFile,HeaderContentType,HeaderContentDisposition,RawBuffer,base64toBlob,quotedPrintable,wordEncoding,MimeNode;_export("MimeNode",void 0);return{setters:[function(_tslib){__asyncValues=_tslib.__asyncValues;__awaiter=_tslib.__awaiter},function(_commonQueryIterator){QueryIterator=_commonQueryIterator.default},function(_AttachmentFile){AttachmentFile=_AttachmentFile.AttachmentFile},function(_HeaderContentType){HeaderContentType=_HeaderContentType.HeaderContentType},function(_HeaderContentDisposition){HeaderContentDisposition=_HeaderContentDisposition.HeaderContentDisposition},function(_encoderRawBuffer){RawBuffer=_encoderRawBuffer.RawBuffer},function(_encoderBase64ToBlob){base64toBlob=_encoderBase64ToBlob.base64toBlob},function(_encoderQuotedPrintable){quotedPrintable=_encoderQuotedPrintable.quotedPrintable},function(_encoderWordEncoding){wordEncoding=_encoderWordEncoding.wordEncoding}],execute:function(){_export("MimeNode",MimeNode=class MimeNode{static createMessage({html,subject,text="",name="",attachments=[]}){const root=new MimeNode("multipart/mixed");root.setHeader("Subject",subject);if(name){root.setHeader("X-Name",name)}const body=new MimeNode("multipart/alternative");body.children=[];if(html){body.children.push(this.create(html,"text/html"))}if(text){body.children.push(this.create(text,"text/plain"))}root.children=[body];if(attachments){for(const iterator of attachments){root.children.push(this.create(iterator))}}return root}static create(text,type,id){if(typeof text==="string"){const node=new MimeNode(type);node.text=text;return node}const fileNode=new MimeNode(text.type);fileNode.blobData=text;fileNode.contentDisposition=new HeaderContentDisposition(type||"attachment");fileNode.contentDisposition.filename=text.name;fileNode.setHeader("Content-Disposition",fileNode.contentDisposition);if(id){fileNode.setHeader("Content-Id",id)}return fileNode}get text(){var _a,_b,_c;let{encoded}=this;if(!encoded){return}const cte=(_a=this.contentTransferEncoding)===null||_a===void 0?void 0:_a.toLowerCase();switch(cte){case"quoted-printable":encoded=quotedPrintable.decode(encoded);break;case"base64":encoded=btoa(encoded);break}return(_b=this.textContent)!==null&&_b!==void 0?_b:this.textContent=RawBuffer.decode(encoded,(_c=this.contentType)===null||_c===void 0?void 0:_c.charset)}set text(v){this.contentTransferEncoding="quoted-printable";this.textContent=v}get blob(){var _a,_b;if(((_a=this.contentTransferEncoding)===null||_a===void 0?void 0:_a.toLocaleLowerCase())!=="base64"){throw new Error("Not supported")}return(_b=this.blobData)!==null&&_b!==void 0?_b:this.blobData=base64toBlob(this.encoded,this.contentType.type)}set blob(v){this.blobData=v}get contentTransferEncoding(){return this.header("Content-Transfer-Encoding")}set contentTransferEncoding(v){this.setHeader("Content-Transfer-Encoding",v)}get boundary(){return this.contentType.boundary}get descendents(){return this.enumerate()}constructor(type){this.headers=new Map;this.contentType=new HeaderContentType(type);this.headers.set("Content-Type",this.contentType)}getFirstChild(contentType,create=false){var _a;contentType=contentType.toLocaleLowerCase();let child=QueryIterator.first(this.descendents,(x=>x.contentType.type===contentType));if(!child&&create){child=new MimeNode(contentType);((_a=this.children)!==null&&_a!==void 0?_a:this.children=[]).push(child)}return child}header(name){for(const[key,value]of this.headers.entries()){if(key.toLocaleLowerCase()===name.toLocaleLowerCase()){return value}}}setHeader(name,value){for(const[key]of this.headers.keys()){if(key.toLocaleLowerCase()===name.toLocaleLowerCase()){this.headers.set(key,value);return}}switch(name.toLocaleLowerCase()){case"content-type":name="Content-Type";break;case"content-transfer-encoding":name="Content-Transfer-Encoding";break;case"content-disposition":name="Content-Disposition";break}this.headers.set(name,value)}asFile(){return __awaiter(this,void 0,void 0,(function*(){const text=this.encoded.split("\n").map((x=>x.trim())).join("");const url=`data:${this.contentType.type};base64,${text}`;const blob=yield fetch(url);const af=new AttachmentFile([yield blob.blob()],this.contentDisposition.filename,{type:this.contentType.type,contentId:this.header("Content-Id"),disposition:this.contentDisposition.type});af.node=this;return af}))}attachments(files=[]){var _a;return __awaiter(this,void 0,void 0,(function*(){for(const iterator of this.children){if(iterator.children){yield iterator.attachments(files);continue}if((_a=iterator.contentDisposition)===null||_a===void 0?void 0:_a.type){files.push(yield iterator.asFile())}}return files}))}parse(lines,last=""){var _a,e_1,_b,_c,_d,e_2,_e,_f;var _g;return __awaiter(this,void 0,void 0,(function*(){yield this.parseHeaders(lines);let boundary=this.contentType.boundary;if(!boundary){const data=[];try{for(var _h=true,_j=__asyncValues(lines.read()),_k;_k=yield _j.next(),_a=_k.done,!_a;){_c=_k.value;_h=false;try{const line=_c;const trimmed=line.trimEnd();if(trimmed.length===0){break}if(trimmed===last){break}data.push(line)}finally{_h=true}}}catch(e_1_1){e_1={error:e_1_1}}finally{try{if(!_h&&!_a&&(_b=_j.return))yield _b.call(_j)}finally{if(e_1)throw e_1.error}}this.encoded=data.join("\n");return}boundary="--"+boundary;const end=boundary+"--";for(;;){let boundaryFound=false;try{for(var _l=true,_m=(e_2=void 0,__asyncValues(lines.read())),_o;_o=yield _m.next(),_d=_o.done,!_d;){_f=_o.value;_l=false;try{const line=_f;if(line===boundary){boundaryFound=true;break}if(line===end){return}}finally{_l=true}}}catch(e_2_1){e_2={error:e_2_1}}finally{try{if(!_l&&!_d&&(_e=_m.return))yield _e.call(_m)}finally{if(e_2)throw e_2.error}}if(!boundaryFound){break}const child=new MimeNode("");yield child.parse(lines,end);((_g=this.children)!==null&&_g!==void 0?_g:this.children=[]).push(child)}}))}parseHeaders(lines){var _a,e_3,_b,_c;var _d;return __awaiter(this,void 0,void 0,(function*(){let headerName="";let headerValue="";try{for(var _e=true,_f=__asyncValues(lines.read()),_g;_g=yield _f.next(),_a=_g.done,!_a;){_c=_g.value;_e=false;try{const iterator=_c;const value=iterator.trim();if(value.length===0){break}if(/^[\x20\t]/.test(iterator)){headerValue+=wordEncoding.decode(value);continue}if(headerValue){this.setHeader(headerName,headerValue)}const[k,v]=value.split(":",2);headerName=k;headerValue=wordEncoding.decode(v.trim())}finally{_e=true}}}catch(e_3_1){e_3={error:e_3_1}}finally{try{if(!_e&&!_a&&(_b=_f.return))yield _b.call(_f)}finally{if(e_3)throw e_3.error}}if(headerValue){this.setHeader(headerName,headerValue)}const ct=this.header("Content-Type");this.contentType.parse(ct);this.setHeader("Content-Type",ct);const cd=this.header("Content-Disposition");if(cd){(_d=this.contentDisposition)!==null&&_d!==void 0?_d:this.contentDisposition=new HeaderContentDisposition;this.contentDisposition.parse(cd);this.setHeader("Content-Disposition",cd)}}))}save(writer){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){if(this.textContent){this.contentType.charset="UTF-8"}if((_a=this.children)===null||_a===void 0?void 0:_a.length){(_c=this.contentType).boundary||(_c.boundary=`${Date.now()}-${Date.now()}-${Date.now()}`)}for(const[key,element]of this.headers.entries()){switch(key){case"content-disposition":writer.writeLine(`Content-Disposition: ${this.contentDisposition}`);continue;case"content-type":writer.writeLine(`Content-Type:${this.contentType.toString()}`);continue;case"subject":writer.writeLine(`${key}: ${wordEncoding.encode(element,true)}`);continue}writer.writeLine(`${key}: ${element}`)}writer.writeLine("");if((_b=this.children)===null||_b===void 0?void 0:_b.length){const boundary=`--${this.contentType.boundary}`;for(const iterator of this.children){writer.writeLine(boundary);yield iterator.save(writer);writer.writeLine("")}writer.writeLine(boundary+"--");return}if(this.blobData){const base64=yield RawBuffer.toBase64Async(this.blobData);let start=0;const max=80;for(;;){if(start+max>base64.length){writer.writeLine(base64.substring(start));break}writer.writeLine(base64.substring(start,start+max));start+=max}writer.writeLine("");return}let text=this.textContent;if(this.contentTransferEncoding==="quoted-printable"){text=quotedPrintable.encode(RawBuffer.encode(text))}writer.writeLine(RawBuffer.encode(text));writer.writeLine("");return}))}*enumerate(){yield this;if(!this.children){return}for(const iterator of this.children){yield*iterator.enumerate()}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/MimeNode");System.register(["tslib","../tokenizer"],(function(_export,_context){"use strict";var __asyncGenerator,__await,tokenize,LineStream,StringLineStream,ReadableLineStream;_export({default:void 0,StringLineStream:void 0,ReadableLineStream:void 0});return{setters:[function(_tslib){__asyncGenerator=_tslib.__asyncGenerator;__await=_tslib.__await},function(_tokenizer){tokenize=_tokenizer.tokenize}],execute:function(){_export("default",LineStream=class LineStream{read(){var _a;return __asyncGenerator(this,arguments,(function*read_1(){const g=(_a=this.g)!==null&&_a!==void 0?_a:this.g=this.lines();for(;;){const{value,done}=yield __await(g.next());if(done){break}yield yield __await(value)}}))}});_export("StringLineStream",StringLineStream=class StringLineStream extends LineStream{constructor(text){super();this.text=text}lines(){return __asyncGenerator(this,arguments,(function*lines_1(){for(const iterator of tokenize(this.text,"\n")){yield yield __await(iterator)}}))}});_export("ReadableLineStream",ReadableLineStream=class ReadableLineStream extends LineStream{constructor(readable){super();this.readable=readable}lines(){return __asyncGenerator(this,arguments,(function*lines_2(){const utf8Decoder=new TextDecoder("utf-8");const reader=this.readable.getReader();let{value:chunk,done:readerDone}=yield __await(reader.read());chunk=chunk?utf8Decoder.decode(chunk,{stream:true}):"";const re=/\r\n|\n|\r/gm;let startIndex=0;for(;;){const result=re.exec(chunk);if(!result){if(readerDone){break}const remainder=chunk.substr(startIndex);({value:chunk,done:readerDone}=yield __await(reader.read()));chunk=remainder+(chunk?utf8Decoder.decode(chunk,{stream:true}):"");startIndex=re.lastIndex=0;continue}yield yield __await(chunk.substring(startIndex,result.index));startIndex=re.lastIndex}if(startIndex<chunk.length){yield yield __await(chunk.substr(startIndex))}}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/stream/LineStream");System.register([],(function(_export,_context){"use strict";var TextWriter,BlobWriter;_export({default:void 0,BlobWriter:void 0});return{setters:[],execute:function(){_export("default",TextWriter=class TextWriter{});_export("BlobWriter",BlobWriter=class BlobWriter extends TextWriter{constructor(){super(...arguments);this.lines=[]}writeLine(line){this.lines.push(line)}toBlob(){const all=this.lines.join("\n");return new Blob([all],{})}toString(){return this.lines.join("\n")}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/stream/TextWriter");System.register(["tslib","./MimeNode","./stream/LineStream","./stream/TextWriter"],(function(_export,_context){"use strict";var __awaiter,MimeNode,ReadableLineStream,BlobWriter,MimeMessage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_MimeNode){MimeNode=_MimeNode.MimeNode},function(_streamLineStream){ReadableLineStream=_streamLineStream.ReadableLineStream},function(_streamTextWriter){BlobWriter=_streamTextWriter.BlobWriter}],execute:function(){_export("default",MimeMessage=class MimeMessage{static load(reader,name,inline){return __awaiter(this,void 0,void 0,(function*(){const node=new MimeNode;if(name){node.setHeader("X-Name",name)}yield node.parse(new ReadableLineStream(reader));const attachments=yield node.attachments();const msg=new MimeMessage(node,attachments);if(inline){yield msg.inlineImages()}return msg}))}get name(){return this.node.header("x-name")}get html(){var _a,_b;const alternative=this.node.getFirstChild("multipart/alternative");return(_b=(_a=alternative===null||alternative===void 0?void 0:alternative.getFirstChild("text/html"))===null||_a===void 0?void 0:_a.text)!==null&&_b!==void 0?_b:""}set html(v){const alternative=this.node.getFirstChild("multipart/alternative",true);const htmlMime=alternative.getFirstChild("text/html",true);htmlMime.contentTransferEncoding="quoted-printable";htmlMime.text=v;htmlMime.contentType.charset="UTF-8"}get text(){var _a,_b;const alternative=this.node.getFirstChild("multipart/alternative");return(_b=(_a=alternative===null||alternative===void 0?void 0:alternative.getFirstChild("text/plain"))===null||_a===void 0?void 0:_a.text)!==null&&_b!==void 0?_b:""}set text(v){const alternative=this.node.getFirstChild("multipart/alternative",true);const htmlMime=alternative.getFirstChild("text/plain",true);htmlMime.contentTransferEncoding="quoted-printable";htmlMime.text=v;htmlMime.contentType.charset="UTF-8"}get subject(){var _a;return(_a=this.node.header("subject"))!==null&&_a!==void 0?_a:""}set subject(v){this.node.setHeader("subject",v)}constructor(node=new MimeNode("multipart/mixed"),attachments=[]){this.node=node;this.attachments=attachments}save(){return __awaiter(this,void 0,void 0,(function*(){const blobWriter=new BlobWriter;yield this.node.save(blobWriter);return blobWriter.toBlob()}))}inlineImages(){return __awaiter(this,void 0,void 0,(function*(){let text=this.html;if(!text){return}for(const iterator of this.attachments){if(iterator.contentId){const encoded=iterator.node.encoded;text=text.split(`cid:${iterator.contentId}`).join(`data://${iterator.type},${encoded}`)}}}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/MimeMessage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../web/page/files/service/CloudFileService","@web-atoms/core/dist/core/XNode","../../controls/tree/TreeView","../../../model/model","@web-atoms/core/dist/core/InjectProperty","../../controls/buttons/IconButton","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/style/styled","../../../services/mime-service/MimeMessage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,CloudFileService,XNode,TreeView,AppFile,InjectProperty,SaveIconTextButton,Bind,styled,MimeMessage,ChooserTemplatePage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsTreeTreeView){TreeView=_controlsTreeTreeView.default},function(_modelModel){AppFile=_modelModel.AppFile},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_servicesMimeServiceMimeMessage){MimeMessage=_servicesMimeServiceMimeMessage.default}],execute:function(){css=styled.css`
1744
+ `.installGlobal("[data-layout=tree-view]");_export("default",TreeView=class TreeView extends AtomControl{constructor(){super(...arguments);this.map=new WeakMap;this.canSelect=x=>true;this.isFolder=x=>true}init(){return __awaiter(this,void 0,void 0,(function*(){}))}onPropertyChanging(name,oldValue,newValue){if(name==="selectedItem"){if(oldValue){const selectedElement=this.map.get(oldValue);if(selectedElement){selectedElement.removeAttribute("data-selected")}}if(newValue){this.selectItem(newValue)}}}selectItem(newValue){if(!this.childrenProperty){return}const element=this.map.get(newValue);if(!element){if(this.root){console.error(`Item not in the tree`)}return}element.setAttribute("data-selected","true");let start=element;while(start){const pi=start.parentItem;if(!pi){break}start=this.map.get(pi);if(!start){break}this.expandElement(start,false)}}onPropertyChanged(name){switch(name){case"root":case"childrenProperty":case"labelRenderer":case"folderIconRenderer":case"fileIconRenderer":case"actionRenderer":const rootElement=this.element.firstElementChild;rootElement===null||rootElement===void 0?void 0:rootElement.dispose();if(this.root&&this.childrenProperty&&this.labelRenderer&&this.folderIconRenderer){this.element.innerHTML="";this.createElement(this.root,void 0,-1);this.expand(this.root);if(this.selectedItem){this.selectItem(this.selectedItem)}}break;case"selectedItem":if(this.selectedItem){this.selectItem(this.selectedItem)}break}}expand(item){const element=this.map.get(item);if(element){this.expandElement(element,false)}}preCreate(){this.root=null;this.selectedItem=null;this.childrenProperty=null;this.actionRenderer=null;this.element.setAttribute("data-layout","tree-view");this.labelRenderer=item=>{var _a,_b,_c,_d;return XNode.create("span",{title:(_b=(_a=item.label)!==null&&_a!==void 0?_a:item.name)!==null&&_b!==void 0?_b:item,text:(_d=(_c=item.label)!==null&&_c!==void 0?_c:item.name)!==null&&_d!==void 0?_d:item})};this.folderIconRenderer=item=>XNode.create("i",{class:"fas"});this.fileIconRenderer=item=>XNode.create("i",{"data-element":"icon","data-click-event":"none"});this.runAfterInit((()=>{if(this.root&&!this.element.firstElementChild){if(this.childrenProperty){this.createElement(this.root);this.expand(this.root)}if(this.selectedItem){this.selectItem(this.selectedItem)}}}));this.bindEvent(this.element,"selectItem",(ce=>{if(ce.defaultPrevented){return}const element=findTreeElement(ce.target);const dataItem=element===null||element===void 0?void 0:element.dataItem;if(dataItem){if(this.selectedItem!==dataItem){const se=new CustomEvent("selectedItemChanging",{detail:dataItem,bubbles:true,cancelable:true});this.element.dispatchEvent(se);if(se.defaultPrevented){return}this.selectedItem=dataItem}}}));this.bindEvent(this.element,"toggleExpand",(ce=>{const element=findTreeElement(ce.target);this.expandElement(element)}));this.runAfterInit((()=>this.app.runAsync((()=>{var _a;return(_a=this.init)===null||_a===void 0?void 0:_a.call(this)}))))}dispatchClickEvent(e,data){const target=e.target;let start=target;while(start){if(start.getAttribute("data-layout")==="tree-view-item"){break}start=start.parentElement}if(!start){return super.dispatchClickEvent(e,data)}const item=start;const clickEvent=data===null||data===void 0?void 0:data.clickEvent;data=item.dataItem;if(data){data.clickEvent=clickEvent}super.dispatchClickEvent(e,data)}expandElement(element,toggle=true){if(!element){return}const{dataItem}=element;if(!dataItem){return}if(element.getAttribute("data-expanded")){if(toggle){element.removeAttribute("data-expanded");element.dispatchEvent(new CustomEvent("itemCollapsed",{detail:dataItem,bubbles:true,cancelable:true}));const children=this.childrenProperty(element.dataItem);for(const iterator of children){this.updateExpanded(iterator,false)}}}else{element.setAttribute("data-expanded","true");element.dispatchEvent(new CustomEvent("itemExpanded",{detail:dataItem,bubbles:true,cancelable:true}));this.updateExpanded(dataItem,true)}}createElement(item,parentItem,insertIndex=-1){var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m;const element=document.createElement("div");element.setAttribute("data-layout","tree-view-item");element.dataItem=item;element.parentItem=parentItem;this.map.set(item,element);const children=this.childrenProperty(item);if(!children){throw new Error("Children array must not be empty")}const watcher=children.watch(((target,event,index,child)=>{var _a;if(event==="add"){this.createElement(child,item,index);return}if(event==="set"){const childElement=this.map.get(child);childElement===null||childElement===void 0?void 0:childElement.dispose();this.createElement(child,item,index);return}if(event==="remove"){const childElement=this.map.get(child);childElement===null||childElement===void 0?void 0:childElement.dispose();return}for(const iterator of children){(_a=this.map.get(iterator))===null||_a===void 0?void 0:_a.dispose()}for(const iterator of children){this.createElement(iterator,item)}}));element.dispose=()=>{var _a;watcher.dispose();for(const iterator of children){(_a=this.map.get(iterator))===null||_a===void 0?void 0:_a.dispose()}element.remove()};const actionElement=(_a=this.actionRenderer)===null||_a===void 0?void 0:_a.call(this,item);const isFolder=(_c=(_b=this.isFolder)===null||_b===void 0?void 0:_b.call(this,item))!==null&&_c!==void 0?_c:true;const iconElement=isFolder?this.folderIconRenderer(item):(_e=(_d=this.fileIconRenderer)===null||_d===void 0?void 0:_d.call(this,item))!==null&&_e!==void 0?_e:XNode.create("i",null);const labelElement=this.labelRenderer(item);if(iconElement){const a=(_f=iconElement.attributes)!==null&&_f!==void 0?_f:iconElement.attributes={};(_g=a["data-element"])!==null&&_g!==void 0?_g:a["data-element"]=isFolder?"expand-collapse":"file-icon";(_h=a["data-click-event"])!==null&&_h!==void 0?_h:a["data-click-event"]="toggle-expand";this.render(XNode.create("div",null,iconElement),element,this)}if(labelElement){const a=(_j=labelElement.attributes)!==null&&_j!==void 0?_j:labelElement.attributes={};a["data-element"]="label";(_k=a["data-click-event"])!==null&&_k!==void 0?_k:a["data-click-event"]="select-item";this.render(XNode.create("div",null,labelElement),element,this)}if(actionElement){((_l=actionElement.attributes)!==null&&_l!==void 0?_l:actionElement.attributes={})["data-element"]="action";this.render(XNode.create("div",null,actionElement),element,this)}const header=document.createElement("div");header.setAttribute("data-element","header");element.appendChild(header);const parentElement=this.map.get(parentItem);let last=parentElement;if(parentItem){const siblings=this.childrenProperty(parentItem);if(insertIndex===-1){insertIndex=siblings.indexOf(item)}if(insertIndex>=1){last=this.map.get(siblings[insertIndex-1])}last.insertAdjacentElement("afterend",element);const pad=Number((_m=parentElement.getAttribute("data-pad"))!==null&&_m!==void 0?_m:"0")+10;element.setAttribute("data-pad",`${pad}`);element.style.paddingLeft=`${pad}px`}else{this.element.appendChild(element);this.expandElement(element,false)}for(const iterator of children){this.createElement(iterator,item)}setTimeout((()=>this.updateExpanded()),1);return element}updateExpanded(item,show){if(!item){item=this.root;show=true}const element=this.map.get(item);if(!element){return}if(item===this.root){show=true}else if(show===void 0){show=element.getAttribute("data-expanded")==="true"}if(show){element.style.display=""}else{element.style.display="none"}const children=this.childrenProperty(element.dataItem);show&&(show=element.getAttribute("data-expanded")==="true");for(const iterator of children){this.updateExpanded(iterator,show)}}});__decorate([BindableProperty,__metadata("design:type",Object)],TreeView.prototype,"root",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],TreeView.prototype,"selectedItem",void 0);delete TreeView.prototype.init}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/TreeView");System.register([],(function(_export,_context){"use strict";var QueryIterator;_export("default",void 0);return{setters:[],execute:function(){_export("default",QueryIterator=class QueryIterator{static first(source,fx){for(const iterator of source){if(fx(iterator)){return iterator}}}firstOrFail(source,fx){for(const iterator of source){if(fx(iterator)){return iterator}}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/QueryIterator");System.register([],(function(_export,_context){"use strict";var AttachmentFile;_export("AttachmentFile",void 0);return{setters:[],execute:function(){_export("AttachmentFile",AttachmentFile=class AttachmentFile extends File{constructor(fileBits,fileName,options){super(fileBits,fileName,options);this.contentId=options.contentId;this.disposition=options.disposition}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/AttachmentFile");System.register([],(function(_export,_context){"use strict";function*tokenize(text,sep){let start=0;for(;;){const index=text.indexOf(sep,start);if(index===-1){break}yield text.substring(start,index);start=index+1}yield text.substring(start)}function tokenizeMax(text,sep,max=Number.MAX_SAFE_INTEGER){let start=0;const items=[];max--;for(;;){const index=text.indexOf(sep,start);if(index===-1){break}items.push(text.substring(start,index));start=index+1;if(--max===0){break}}items.push(text.substring(start));return items}_export({tokenize,tokenizeMax});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/tokenizer");System.register(["./tokenizer"],(function(_export,_context){"use strict";var tokenize,tokenizeMax,parsePairs;return{setters:[function(_tokenizer){tokenize=_tokenizer.tokenize;tokenizeMax=_tokenizer.tokenizeMax}],execute:function(){_export("parsePairs",parsePairs=(text,emptyName)=>{const pairs={toString(){return text}};for(const iterator of tokenize(text,";")){const trimmed=iterator.trim();if(!trimmed){break}const items=tokenizeMax(trimmed,"=",2).map((x=>x.trim()));let[key,value]=items;if(items.length===1){value=key;key=emptyName!==null&&emptyName!==void 0?emptyName:key}try{if(value.startsWith('"')){value=JSON.parse(value)}}catch(_a){}pairs[key]=value}return pairs})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/parsePairs");System.register(["./parsePairs"],(function(_export,_context){"use strict";var parsePairs,HeaderContentType;_export("HeaderContentType",void 0);return{setters:[function(_parsePairs){parsePairs=_parsePairs.parsePairs}],execute:function(){_export("HeaderContentType",HeaderContentType=class HeaderContentType{constructor(type,charset="UTF-8",boundary){this.type=type;this.charset=charset;this.boundary=boundary}parse(text){const items=parsePairs(text,"type");this.type=items.type;this.charset=items.charset;this.boundary=items.boundary}toString(){if(this.boundary){return`${this.type}; charset="${this.charset}"; boundary="${this.boundary}";`}return`${this.type}; charset="${this.charset}";`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/HeaderContentType");System.register([],(function(_export,_context){"use strict";var toBuffer,RawBuffer;return{setters:[],execute:function(){toBuffer=text=>{const bytes=new Uint8Array(text.length);for(let index=0;index<text.length;index++){bytes[index]=text.charCodeAt(index)}return bytes.buffer};_export("RawBuffer",RawBuffer={decode:(bytesAsString,encoding="utf-8")=>{if(!encoding){return bytesAsString}const te=new TextDecoder(encoding);return te.decode(toBuffer(bytesAsString))},encode:(text,encoding="utf-8")=>{if(!/utf\-?8/i.test(encoding)){throw new Error(`Encoding ${encoding} not supported`)}const te=new TextEncoder;const array=te.encode(text);const a=[];for(const iterator of array){a.push(String.fromCharCode(iterator))}return a.join("")},toBase64Async(blob,asDataUrl=false){return new Promise(((resolve,reject)=>{const reader=new FileReader;reader.onerror=()=>{reject(reader.error)};reader.onload=()=>{const text=reader.result;if(asDataUrl){resolve(text);return}const index=text.indexOf(",");resolve(text.substring(index+1))};reader.readAsDataURL(blob)}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/RawBuffer");System.register(["./RawBuffer"],(function(_export,_context){"use strict";var RawBuffer,isEncodedRegEx,hexToUnicode,decode,isSimpleText,wordEncoding;return{setters:[function(_RawBuffer){RawBuffer=_RawBuffer.RawBuffer}],execute:function(){isEncodedRegEx=/\=\?([^\?\s]+)\?([^\?\s]{1})\?([^\s\?]+)\?\=\s*/gm;hexToUnicode=/(\=([0-9a-f]{2}))|(\_)/gim;decode=text=>text.replace(isEncodedRegEx,((matched,encoding,format,buffer)=>{if(/b/i.test(format)){return RawBuffer.decode(atob(buffer),encoding)}if(/q/i.test(format)){const replaced=buffer.replace(hexToUnicode,((m,group,code)=>{if(m==="_"){return" "}return String.fromCharCode(parseInt(code,16))}));return RawBuffer.decode(replaced,encoding)}return matched}));isSimpleText=/[0-9a-zA-Z\x20]/;_export("wordEncoding",wordEncoding={decode,encode:(word,ifNeeded=false)=>{if(ifNeeded){if(isSimpleText.test(word)){return word}}word=RawBuffer.encode(word);return`=?UTF-8?B?${btoa(word)}?=`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/word-encoding");System.register(["./encoder/word-encoding","./parsePairs"],(function(_export,_context){"use strict";var wordEncoding,parsePairs,HeaderContentDisposition;_export("HeaderContentDisposition",void 0);return{setters:[function(_encoderWordEncoding){wordEncoding=_encoderWordEncoding.wordEncoding},function(_parsePairs){parsePairs=_parsePairs.parsePairs}],execute:function(){_export("HeaderContentDisposition",HeaderContentDisposition=class HeaderContentDisposition{constructor(type,filename,name){this.type=type;this.filename=filename;this.name=name}parse(text){const items=parsePairs(text,"type");this.type=items.type;this.filename=items.filename;this.name=items.name}toString(){return`${this.type};\r\n\t\tfilename="${wordEncoding.encode(this.filename)}";`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/HeaderContentDisposition");System.register([],(function(_export,_context){"use strict";function base64toBlob(base64Data,contentType){contentType=contentType||"";const sliceSize=1024;const byteCharacters=atob(base64Data);const bytesLength=byteCharacters.length;const slicesCount=Math.ceil(bytesLength/sliceSize);const byteArrays=new Array(slicesCount);for(let sliceIndex=0;sliceIndex<slicesCount;++sliceIndex){const begin=sliceIndex*sliceSize;const end=Math.min(begin+sliceSize,bytesLength);const bytes=new Array(end-begin);for(let offset=begin,i=0;offset<end;++i,++offset){bytes[i]=byteCharacters[offset].charCodeAt(0)}byteArrays[sliceIndex]=new Uint8Array(bytes)}return new Blob(byteArrays,{type:contentType})}_export("base64toBlob",base64toBlob);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/base64-to-blob");System.register([],(function(_export,_context){"use strict";var stringFromCharCode,decode,handleTrailingCharacters,regexUnsafeSymbols,encode,quotedPrintable;return{setters:[],execute:function(){stringFromCharCode=String.fromCharCode;decode=function(input){return input.replace(/[\t\x20]$/gm,"").replace(/=(?:\r\n?|\n|$)/g,"").replace(/=([a-fA-F0-9]{2})/g,(function($0,$1){const codePoint=parseInt($1,16);return stringFromCharCode(codePoint)}))};handleTrailingCharacters=function(text){return text.replace(/\x20$/,"=20").replace(/\t$/,"=09")};regexUnsafeSymbols=/[\0-\x08\n-\x1F=\x7F-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g;encode=function(text){const encoded=text.replace(regexUnsafeSymbols,(function(symbol){if(symbol>"ÿ"){throw RangeError("`quotedPrintable.encode()` expects extended ASCII input only. "+"Don’t forget to encode the input first using a character "+"encoding like UTF-8.")}const codePoint=symbol.charCodeAt(0);const hexadecimal=codePoint.toString(16).toUpperCase();return"="+("0"+hexadecimal).slice(-2)}));const LINE_LENGTH=75;const lines=encoded.split(/\r\n?|\n/g);let lineIndex=-1;const lineCount=lines.length;const result=[];let buffer;while(++lineIndex<lineCount){const line=lines[lineIndex];let index=0;const length=line.length;while(index<length){buffer=encoded.slice(index,index+LINE_LENGTH);if(/=$/.test(buffer)){buffer=buffer.slice(0,LINE_LENGTH-1);index+=LINE_LENGTH-1}else if(/=[A-F0-9]$/.test(buffer)){buffer=buffer.slice(0,LINE_LENGTH-2);index+=LINE_LENGTH-2}else{index+=LINE_LENGTH}result.push(buffer)}}const lastLineLength=buffer.length;if(/[\t\x20]$/.test(buffer)){result.pop();if(lastLineLength+2<=LINE_LENGTH+1){result.push(handleTrailingCharacters(buffer))}else{result.push(buffer.slice(0,lastLineLength-1),handleTrailingCharacters(buffer.slice(lastLineLength-1,lastLineLength)))}}return result.join("=\r\n")};_export("quotedPrintable",quotedPrintable={encode,decode,version:"1.0.1"})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/quoted-printable");System.register(["tslib","../../common/QueryIterator","./AttachmentFile","./HeaderContentType","./HeaderContentDisposition","./encoder/RawBuffer","./encoder/base64-to-blob","./encoder/quoted-printable","./encoder/word-encoding"],(function(_export,_context){"use strict";var __asyncValues,__awaiter,QueryIterator,AttachmentFile,HeaderContentType,HeaderContentDisposition,RawBuffer,base64toBlob,quotedPrintable,wordEncoding,MimeNode;_export("MimeNode",void 0);return{setters:[function(_tslib){__asyncValues=_tslib.__asyncValues;__awaiter=_tslib.__awaiter},function(_commonQueryIterator){QueryIterator=_commonQueryIterator.default},function(_AttachmentFile){AttachmentFile=_AttachmentFile.AttachmentFile},function(_HeaderContentType){HeaderContentType=_HeaderContentType.HeaderContentType},function(_HeaderContentDisposition){HeaderContentDisposition=_HeaderContentDisposition.HeaderContentDisposition},function(_encoderRawBuffer){RawBuffer=_encoderRawBuffer.RawBuffer},function(_encoderBase64ToBlob){base64toBlob=_encoderBase64ToBlob.base64toBlob},function(_encoderQuotedPrintable){quotedPrintable=_encoderQuotedPrintable.quotedPrintable},function(_encoderWordEncoding){wordEncoding=_encoderWordEncoding.wordEncoding}],execute:function(){_export("MimeNode",MimeNode=class MimeNode{static createMessage({html,subject,text="",name="",attachments=[]}){const root=new MimeNode("multipart/mixed");root.setHeader("Subject",subject);if(name){root.setHeader("X-Name",name)}const body=new MimeNode("multipart/alternative");body.children=[];if(html){body.children.push(this.create(html,"text/html"))}if(text){body.children.push(this.create(text,"text/plain"))}root.children=[body];if(attachments){for(const iterator of attachments){root.children.push(this.create(iterator))}}return root}static create(text,type,id){if(typeof text==="string"){const node=new MimeNode(type);node.text=text;return node}const fileNode=new MimeNode(text.type);fileNode.blobData=text;fileNode.contentDisposition=new HeaderContentDisposition(type||"attachment");fileNode.contentDisposition.filename=text.name;fileNode.setHeader("Content-Disposition",fileNode.contentDisposition);if(id){fileNode.setHeader("Content-Id",id)}return fileNode}get text(){var _a,_b,_c;let{encoded}=this;if(!encoded){return}const cte=(_a=this.contentTransferEncoding)===null||_a===void 0?void 0:_a.toLowerCase();switch(cte){case"quoted-printable":encoded=quotedPrintable.decode(encoded);break;case"base64":encoded=btoa(encoded);break}return(_b=this.textContent)!==null&&_b!==void 0?_b:this.textContent=RawBuffer.decode(encoded,(_c=this.contentType)===null||_c===void 0?void 0:_c.charset)}set text(v){this.contentTransferEncoding="quoted-printable";this.textContent=v}get blob(){var _a,_b;if(((_a=this.contentTransferEncoding)===null||_a===void 0?void 0:_a.toLocaleLowerCase())!=="base64"){throw new Error("Not supported")}return(_b=this.blobData)!==null&&_b!==void 0?_b:this.blobData=base64toBlob(this.encoded,this.contentType.type)}set blob(v){this.blobData=v}get contentTransferEncoding(){return this.header("Content-Transfer-Encoding")}set contentTransferEncoding(v){this.setHeader("Content-Transfer-Encoding",v)}get boundary(){return this.contentType.boundary}get descendents(){return this.enumerate()}constructor(type){this.headers=new Map;this.contentType=new HeaderContentType(type);this.headers.set("Content-Type",this.contentType)}getFirstChild(contentType,create=false){var _a;contentType=contentType.toLocaleLowerCase();let child=QueryIterator.first(this.descendents,(x=>x.contentType.type===contentType));if(!child&&create){child=new MimeNode(contentType);((_a=this.children)!==null&&_a!==void 0?_a:this.children=[]).push(child)}return child}header(name){for(const[key,value]of this.headers.entries()){if(key.toLocaleLowerCase()===name.toLocaleLowerCase()){return value}}}setHeader(name,value){for(const[key]of this.headers.keys()){if(key.toLocaleLowerCase()===name.toLocaleLowerCase()){this.headers.set(key,value);return}}switch(name.toLocaleLowerCase()){case"content-type":name="Content-Type";break;case"content-transfer-encoding":name="Content-Transfer-Encoding";break;case"content-disposition":name="Content-Disposition";break}this.headers.set(name,value)}asFile(){return __awaiter(this,void 0,void 0,(function*(){const text=this.encoded.split("\n").map((x=>x.trim())).join("");const url=`data:${this.contentType.type};base64,${text}`;const blob=yield fetch(url);const af=new AttachmentFile([yield blob.blob()],this.contentDisposition.filename,{type:this.contentType.type,contentId:this.header("Content-Id"),disposition:this.contentDisposition.type});af.node=this;return af}))}attachments(files=[]){var _a;return __awaiter(this,void 0,void 0,(function*(){for(const iterator of this.children){if(iterator.children){yield iterator.attachments(files);continue}if((_a=iterator.contentDisposition)===null||_a===void 0?void 0:_a.type){files.push(yield iterator.asFile())}}return files}))}parse(lines,last=""){var _a,e_1,_b,_c,_d,e_2,_e,_f;var _g;return __awaiter(this,void 0,void 0,(function*(){yield this.parseHeaders(lines);let boundary=this.contentType.boundary;if(!boundary){const data=[];try{for(var _h=true,_j=__asyncValues(lines.read()),_k;_k=yield _j.next(),_a=_k.done,!_a;){_c=_k.value;_h=false;try{const line=_c;const trimmed=line.trimEnd();if(trimmed.length===0){break}if(trimmed===last){break}data.push(line)}finally{_h=true}}}catch(e_1_1){e_1={error:e_1_1}}finally{try{if(!_h&&!_a&&(_b=_j.return))yield _b.call(_j)}finally{if(e_1)throw e_1.error}}this.encoded=data.join("\n");return}boundary="--"+boundary;const end=boundary+"--";for(;;){let boundaryFound=false;try{for(var _l=true,_m=(e_2=void 0,__asyncValues(lines.read())),_o;_o=yield _m.next(),_d=_o.done,!_d;){_f=_o.value;_l=false;try{const line=_f;if(line===boundary){boundaryFound=true;break}if(line===end){return}}finally{_l=true}}}catch(e_2_1){e_2={error:e_2_1}}finally{try{if(!_l&&!_d&&(_e=_m.return))yield _e.call(_m)}finally{if(e_2)throw e_2.error}}if(!boundaryFound){break}const child=new MimeNode("");yield child.parse(lines,end);((_g=this.children)!==null&&_g!==void 0?_g:this.children=[]).push(child)}}))}parseHeaders(lines){var _a,e_3,_b,_c;var _d;return __awaiter(this,void 0,void 0,(function*(){let headerName="";let headerValue="";try{for(var _e=true,_f=__asyncValues(lines.read()),_g;_g=yield _f.next(),_a=_g.done,!_a;){_c=_g.value;_e=false;try{const iterator=_c;const value=iterator.trim();if(value.length===0){break}if(/^[\x20\t]/.test(iterator)){headerValue+=wordEncoding.decode(value);continue}if(headerValue){this.setHeader(headerName,headerValue)}const[k,v]=value.split(":",2);headerName=k;headerValue=wordEncoding.decode(v.trim())}finally{_e=true}}}catch(e_3_1){e_3={error:e_3_1}}finally{try{if(!_e&&!_a&&(_b=_f.return))yield _b.call(_f)}finally{if(e_3)throw e_3.error}}if(headerValue){this.setHeader(headerName,headerValue)}const ct=this.header("Content-Type");this.contentType.parse(ct);this.setHeader("Content-Type",ct);const cd=this.header("Content-Disposition");if(cd){(_d=this.contentDisposition)!==null&&_d!==void 0?_d:this.contentDisposition=new HeaderContentDisposition;this.contentDisposition.parse(cd);this.setHeader("Content-Disposition",cd)}}))}save(writer){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){if(this.textContent){this.contentType.charset="UTF-8"}if((_a=this.children)===null||_a===void 0?void 0:_a.length){(_c=this.contentType).boundary||(_c.boundary=`${Date.now()}-${Date.now()}-${Date.now()}`)}for(const[key,element]of this.headers.entries()){switch(key){case"content-disposition":writer.writeLine(`Content-Disposition: ${this.contentDisposition}`);continue;case"content-type":writer.writeLine(`Content-Type:${this.contentType.toString()}`);continue;case"subject":writer.writeLine(`${key}: ${wordEncoding.encode(element,true)}`);continue}writer.writeLine(`${key}: ${element}`)}writer.writeLine("");if((_b=this.children)===null||_b===void 0?void 0:_b.length){const boundary=`--${this.contentType.boundary}`;for(const iterator of this.children){writer.writeLine(boundary);yield iterator.save(writer);writer.writeLine("")}writer.writeLine(boundary+"--");return}if(this.blobData){const base64=yield RawBuffer.toBase64Async(this.blobData);let start=0;const max=80;for(;;){if(start+max>base64.length){writer.writeLine(base64.substring(start));break}writer.writeLine(base64.substring(start,start+max));start+=max}writer.writeLine("");return}let text=this.textContent;if(this.contentTransferEncoding==="quoted-printable"){text=quotedPrintable.encode(RawBuffer.encode(text))}writer.writeLine(RawBuffer.encode(text));writer.writeLine("");return}))}*enumerate(){yield this;if(!this.children){return}for(const iterator of this.children){yield*iterator.enumerate()}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/MimeNode");System.register(["tslib","../tokenizer"],(function(_export,_context){"use strict";var __asyncGenerator,__await,tokenize,LineStream,StringLineStream,ReadableLineStream;_export({default:void 0,StringLineStream:void 0,ReadableLineStream:void 0});return{setters:[function(_tslib){__asyncGenerator=_tslib.__asyncGenerator;__await=_tslib.__await},function(_tokenizer){tokenize=_tokenizer.tokenize}],execute:function(){_export("default",LineStream=class LineStream{read(){var _a;return __asyncGenerator(this,arguments,(function*read_1(){const g=(_a=this.g)!==null&&_a!==void 0?_a:this.g=this.lines();for(;;){const{value,done}=yield __await(g.next());if(done){break}yield yield __await(value)}}))}});_export("StringLineStream",StringLineStream=class StringLineStream extends LineStream{constructor(text){super();this.text=text}lines(){return __asyncGenerator(this,arguments,(function*lines_1(){for(const iterator of tokenize(this.text,"\n")){yield yield __await(iterator)}}))}});_export("ReadableLineStream",ReadableLineStream=class ReadableLineStream extends LineStream{constructor(readable){super();this.readable=readable}lines(){return __asyncGenerator(this,arguments,(function*lines_2(){const utf8Decoder=new TextDecoder("utf-8");const reader=this.readable.getReader();let{value:chunk,done:readerDone}=yield __await(reader.read());chunk=chunk?utf8Decoder.decode(chunk,{stream:true}):"";const re=/\r\n|\n|\r/gm;let startIndex=0;for(;;){const result=re.exec(chunk);if(!result){if(readerDone){break}const remainder=chunk.substr(startIndex);({value:chunk,done:readerDone}=yield __await(reader.read()));chunk=remainder+(chunk?utf8Decoder.decode(chunk,{stream:true}):"");startIndex=re.lastIndex=0;continue}yield yield __await(chunk.substring(startIndex,result.index));startIndex=re.lastIndex}if(startIndex<chunk.length){yield yield __await(chunk.substr(startIndex))}}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/stream/LineStream");System.register([],(function(_export,_context){"use strict";var TextWriter,BlobWriter;_export({default:void 0,BlobWriter:void 0});return{setters:[],execute:function(){_export("default",TextWriter=class TextWriter{});_export("BlobWriter",BlobWriter=class BlobWriter extends TextWriter{constructor(){super(...arguments);this.lines=[]}writeLine(line){this.lines.push(line)}toBlob(){const all=this.lines.join("\n");return new Blob([all],{})}toString(){return this.lines.join("\n")}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/stream/TextWriter");System.register(["tslib","./MimeNode","./stream/LineStream","./stream/TextWriter"],(function(_export,_context){"use strict";var __awaiter,MimeNode,ReadableLineStream,BlobWriter,MimeMessage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_MimeNode){MimeNode=_MimeNode.MimeNode},function(_streamLineStream){ReadableLineStream=_streamLineStream.ReadableLineStream},function(_streamTextWriter){BlobWriter=_streamTextWriter.BlobWriter}],execute:function(){_export("default",MimeMessage=class MimeMessage{static load(reader,name,inline){return __awaiter(this,void 0,void 0,(function*(){const node=new MimeNode;if(name){node.setHeader("X-Name",name)}yield node.parse(new ReadableLineStream(reader));const attachments=yield node.attachments();const msg=new MimeMessage(node,attachments);if(inline){yield msg.inlineImages()}return msg}))}get name(){return this.node.header("x-name")}get html(){var _a,_b;const alternative=this.node.getFirstChild("multipart/alternative");return(_b=(_a=alternative===null||alternative===void 0?void 0:alternative.getFirstChild("text/html"))===null||_a===void 0?void 0:_a.text)!==null&&_b!==void 0?_b:""}set html(v){const alternative=this.node.getFirstChild("multipart/alternative",true);const htmlMime=alternative.getFirstChild("text/html",true);htmlMime.contentTransferEncoding="quoted-printable";htmlMime.text=v;htmlMime.contentType.charset="UTF-8"}get text(){var _a,_b;const alternative=this.node.getFirstChild("multipart/alternative");return(_b=(_a=alternative===null||alternative===void 0?void 0:alternative.getFirstChild("text/plain"))===null||_a===void 0?void 0:_a.text)!==null&&_b!==void 0?_b:""}set text(v){const alternative=this.node.getFirstChild("multipart/alternative",true);const htmlMime=alternative.getFirstChild("text/plain",true);htmlMime.contentTransferEncoding="quoted-printable";htmlMime.text=v;htmlMime.contentType.charset="UTF-8"}get subject(){var _a;return(_a=this.node.header("subject"))!==null&&_a!==void 0?_a:""}set subject(v){this.node.setHeader("subject",v)}constructor(node=new MimeNode("multipart/mixed"),attachments=[]){this.node=node;this.attachments=attachments}save(){return __awaiter(this,void 0,void 0,(function*(){const blobWriter=new BlobWriter;yield this.node.save(blobWriter);return blobWriter.toBlob()}))}inlineImages(){return __awaiter(this,void 0,void 0,(function*(){let text=this.html;if(!text){return}for(const iterator of this.attachments){if(iterator.contentId){const encoded=iterator.node.encoded;text=text.split(`cid:${iterator.contentId}`).join(`data://${iterator.type},${encoded}`)}}}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/MimeMessage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../web/page/files/service/CloudFileService","@web-atoms/core/dist/core/XNode","../../controls/tree/TreeView","../../../model/model","@web-atoms/core/dist/core/InjectProperty","../../controls/buttons/IconButton","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/style/styled","../../../services/mime-service/MimeMessage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,CloudFileService,XNode,TreeView,AppFile,InjectProperty,SaveIconTextButton,Bind,styled,MimeMessage,ChooserTemplatePage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsTreeTreeView){TreeView=_controlsTreeTreeView.default},function(_modelModel){AppFile=_modelModel.AppFile},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_servicesMimeServiceMimeMessage){MimeMessage=_servicesMimeServiceMimeMessage.default}],execute:function(){css=styled.css`
1739
1745
  display: grid;
1740
1746
  grid-template-columns: auto auto;
1741
1747
 
@@ -2365,7 +2371,7 @@ and limitations under the License.
2365
2371
  padding-left: 5px;
2366
2372
  margin-left: 0px;
2367
2373
  }
2368
- `.withOrder("medium").installGlobal("*[data-date-field=date-field]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/date-field-style");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/date-time/dist/DateTime","./Calendar","./InlinePopup","./TimeEditor","@web-atoms/date-time/dist/TimeSpan","./styles/date-field-style"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomControl,DateTime,Calendar,InlinePopup,InlinePopupButton,TimeEditor,TimeSpan,DateField;function hours(){return[{label:"01",value:1},{label:"02",value:2},{label:"03",value:3},{label:"04",value:4},{label:"05",value:5},{label:"06",value:6},{label:"07",value:7},{label:"08",value:8},{label:"09",value:9},{label:"10",value:10},{label:"11",value:11},{label:"12",value:12}]}function minutes(){const items=[];for(let index=0;index<10;index++){items.push({label:"0"+index,value:index})}for(let index=10;index<60;index++){items.push({label:index.toString(),value:index})}return items}_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_Calendar){Calendar=_Calendar.default},function(_InlinePopup){InlinePopup=_InlinePopup.default;InlinePopupButton=_InlinePopup.InlinePopupButton},function(_TimeEditor){TimeEditor=_TimeEditor.default},function(_webAtomsDateTimeDistTimeSpan){TimeSpan=_webAtomsDateTimeDistTimeSpan.default},function(_stylesDateFieldStyle){}],execute:function(){_export("default",DateField=class DateField extends AtomControl{constructor(app,e=document.createElement("button")){super(app,e)}preCreate(){this.prompt="Select";this.enableTime=false;this.value=null;this.format=(d,showTime)=>showTime?d===null||d===void 0?void 0:d.toLocaleString(navigator.language,{month:"short",year:"numeric",day:"numeric",weekday:"short",hour12:true,hour:"numeric",minute:"2-digit"}):d===null||d===void 0?void 0:d.toLocaleDateString(navigator.language,{month:"short",year:"numeric",day:"numeric",weekday:"short"});const owner=this;class CalendarPopup extends InlinePopup{create(){var _a;this.owner=owner;this.type="AM";const now=DateTime.from((_a=owner.value)!==null&&_a!==void 0?_a:DateTime.today.addHours(owner.hour||0).addMinutes(owner.minute||0));this.time=new TimeSpan(0,now.hour,now.minute);super.create();const yearStart=typeof this.owner.yearStart==="number"?this.owner.yearStart:-10;const yearEnd=typeof this.owner.yearEnd==="number"?this.owner.yearEnd:10;const year=typeof this.owner.year==="number"?this.owner.year:now.year;this.render(XNode.create("div",{class:"calendar-popup"},XNode.create(Calendar,{yearStart,yearEnd,year,"event-item-select":Bind.event(((s,e)=>{if(e.detail.disabled){return}this.save(e.detail.value)})),enableFunc:Bind.oneTime((()=>this.owner.enableFunc)),value:Bind.oneWay((()=>this.owner.value))}),this.owner.enableTime&&XNode.create(TimeEditor,{time:Bind.twoWays((()=>this.time))}),XNode.create("button",{class:"clear",text:"Clear","event-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.save()}}),XNode.create("button",{class:"today",text:"Today","event-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.save(DateTime.today.asJSDate)}})));this.runAfterInit((()=>{if(this.element){this.element.scrollIntoView()}}))}save(d){if(!d){this.owner.value=d;this.close(d);return}let date=DateTime.from(d);if(this.owner.enableTime){date=date.add(this.time)}this.owner.value=date.asJSDate;this.close(date)}}this.render(XNode.create(InlinePopupButton,{"data-layout":"flex","data-date-field":"date-field",text:Bind.oneWay((()=>{var _a;return((_a=this.format)===null||_a===void 0?void 0:_a.call(this,this.value,this.enableTime))||this.prompt}))},XNode.create(CalendarPopup,null)))}});__decorate([BindableProperty,__metadata("design:type",Date)],DateField.prototype,"value",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DateField.prototype,"enableFunc",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DateField.prototype,"format",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],DateField.prototype,"yearStart",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],DateField.prototype,"yearEnd",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"year",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"hour",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"minute",void 0);__decorate([BindableProperty,__metadata("design:type",String)],DateField.prototype,"prompt",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/DateField");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/Switch","@web-atoms/core/dist/core/Bind","../../../../common/controls/drop-downs/user/UserDropDown","../../../../common/controls/buttons/IconButton","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/web-controls/dist/basic/Select","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/files/FileShareService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,AppFileAccess,XNode,Form,FormField,Switch,Bind,UserDropDown,SaveIconTextButton,DateTime,DateField,Select,Action,InjectProperty,FileShareService,AddSharePage,rights,externalRights;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFileAccess=_modelModel.AppFileAccess},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicSwitch){Switch=_webAtomsWebControlsDistBasicSwitch.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsDropDownsUserUserDropDown){UserDropDown=_commonControlsDropDownsUserUserDropDown.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistBasicDateField){DateField=_webAtomsWebControlsDistBasicDateField.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesFilesFileShareService){FileShareService=_servicesFilesFileShareService.default}],execute:function(){rights=[{label:"Read",value:"read"},{label:"Write",value:"write"},{label:"Delegate (Read+Write+Share)",value:"delegate"}];externalRights=[{label:"Read",value:"read"},{label:"Write",value:"write"}];_export("default",AddSharePage=class AddSharePage extends PopupWindowPage{constructor(){super(...arguments);this.external=false}init(){return __awaiter(this,void 0,void 0,(function*(){this.title=`Create new Share for ${this.parameters.name}`;const fileID=this.parameters.appFileID;this.model=AppFileAccess.create({fileID,expires:DateTime.today.addMonths(1),type:"read",externalUser:{name:"",emailAddress:""}});this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:this.parameters.isFolder?"Folder":"File"},XNode.create("div",{text:this.parameters.name})),XNode.create("div",{"data-layout":"row"},XNode.create(Switch,{checked:Bind.twoWaysImmediate((()=>this.external))}),XNode.create("div",{text:"External User"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!this.external)),label:"Search User"},XNode.create(UserDropDown,{value:Bind.twoWaysImmediate((()=>this.model.userID))})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!!this.external)),label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.externalUser.name))})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!!this.external)),label:"Email Address"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.externalUser.emailAddress))})),XNode.create(FormField,{label:"Rights"},XNode.create(Select,{labelPath:item=>item.label,valuePath:item=>item.value,items:Bind.oneWay((()=>this.external?externalRights:rights)),value:Bind.twoWaysImmediate((()=>this.model.type))})),XNode.create(FormField,{label:"Expires"},XNode.create(DateField,{value:Bind.twoWaysImmediate((()=>this.model.expires))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-share",text:"Create"}))))}))}saveShare(){return __awaiter(this,void 0,void 0,(function*(){const model=Object.assign({},this.model);if(!this.external){delete model.externalUser}yield this.fileShareService.save(model);model.file=this.parameters;return model}))}});__decorate([InjectProperty,__metadata("design:type",FileShareService)],AddSharePage.prototype,"fileShareService",void 0);__decorate([Action({onEvent:"save-share",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddSharePage.prototype,"saveShare",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/shares/AddSharePage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/InjectProperty","../../../../services/files/FileShareService","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./AddSharePage","../../../../common/date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,AtomRepeater,InjectProperty,FileShareService,AddIconTextButton,Action,PageNavigator,AddSharePage,DateFormats,EditSharesPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesFilesFileShareService){FileShareService=_servicesFilesFileShareService.default},function(_commonControlsButtonsIconButton){AddIconTextButton=_commonControlsButtonsIconButton.AddIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_AddSharePage){AddSharePage=_AddSharePage.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats}],execute:function(){_export("default",EditSharesPage=class EditSharesPage extends PopupWindowPage{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.title=`${this.parameters.name} - Share Settings`;this.list=(_a=yield this.shareService.list(this.parameters.appFileID))!==null&&_a!==void 0?_a:[];this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,{items:this.list,itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:item.user.userName}),XNode.create("div",{text:item.type}),item.expires&&XNode.create("div",{text:DateFormats.relative.short(item.expires)}),item.accessCode?XNode.create("i",{title:"Copy Link",class:"fas fa-link"}):XNode.create("span",null))}),XNode.create("div",null,XNode.create(AddIconTextButton,{"data-click-event":"create-share-link",text:"Create Share Link"})));if(!this.list.length){yield this.createShareLink()}}))}createShareLink(){return __awaiter(this,void 0,void 0,(function*(){const item=yield PageNavigator.pushPageForResult(AddSharePage,this.parameters);this.list.add(item)}))}});__decorate([InjectProperty,__metadata("design:type",FileShareService)],EditSharesPage.prototype,"shareService",void 0);__decorate([Action({onEvent:"create-share-link"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditSharesPage.prototype,"createShareLink",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/shares/EditSharesPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../../../common/controls/html/InlineHtmlEditorWithToolbar","../../../services/mime-service/MimeNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../services/mime-service/MimeMessage","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/web/core/AtomUI","../../../services/mime-service/stream/TextWriter","../../../services/files/LocalFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,Bind,InlineHtmlEditorWithToolbar,MimeNode,Form,FormField,SaveIconTextButton,Action,MimeMessage,AtomRepeater,descendentElementIterator,BlobWriter,LocalFileService,EditTemplatePage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsHtmlInlineHtmlEditorWithToolbar){InlineHtmlEditorWithToolbar=_commonControlsHtmlInlineHtmlEditorWithToolbar.default},function(_servicesMimeServiceMimeNode){MimeNode=_servicesMimeServiceMimeNode.MimeNode},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesMimeServiceMimeMessage){MimeMessage=_servicesMimeServiceMimeMessage.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_servicesMimeServiceStreamTextWriter){BlobWriter=_servicesMimeServiceStreamTextWriter.BlobWriter},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default}],execute:function(){_export("default",EditTemplatePage=class EditTemplatePage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.loadModel(this.parameters.file);this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"File Name:"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create(FormField,{label:"Subject:"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.subject))})),XNode.create(InlineHtmlEditorWithToolbar,{inlineImage:true,presenter:Bind.presenter((c=>this.editor=c)),"event-content-ready":()=>this.setupEditable(),content:this.model.htmlBody,"style-min-height":"200px"}),XNode.create(AtomRepeater,{items:this.model.attachments,"data-layout":"flex-wrap-padding",itemRenderer:item=>XNode.create("div",null,XNode.create("i",{class:"fas fa-file"}),XNode.create("span",{text:item.name}))}),XNode.create("div",null,XNode.create(SaveIconTextButton,{"data-click-event":"save-template",text:"Save"}))))}))}loadModel(file){return __awaiter(this,void 0,void 0,(function*(){if(file.appFileID){const data=yield fetch(file.url);const node=yield MimeMessage.load(data.body,file.name);const name=node.name;const htmlBody=node.html;const attachments=node.attachments;const subject=node.subject;return{node:node.node,mime:node,name,subject,htmlBody,attachments}}return{name:"Template 1",subject:"Template Subject",htmlBody:`<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`,attachments:[]}}))}saveTemplate(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{html,text}=this.editor.htmlTextContent;const root=MimeNode.createMessage({subject:this.model.subject,name:this.model.name,html,text,attachments:this.model.attachments});const blobWriter=new BlobWriter;yield root.save(blobWriter);const blob=blobWriter.toBlob();const localFileService=this.resolve(LocalFileService);const file=new File([blob],this.model.name,{type:"message/rfc822"});const appFileID=(_b=(_a=this.parameters.file)===null||_a===void 0?void 0:_a.appFileID)!==null&&_b!==void 0?_b:void 0;const parentID=appFileID?void 0:this.parameters.file.parentID;yield localFileService.uploadWithProgress([file],{appFileID,parentID})}))}setupEditable(){const editor=this.editor.editor;if(editor.isContentEditable){return}for(const node of descendentElementIterator(editor)){if(node.isContentEditable){return}}editor.contentEditable="true"}});__decorate([Action({onEvent:"save-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditTemplatePage.prototype,"saveTemplate",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/templates/EditTemplatePage");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __awaiter,__decorate,DISingleton,FetchBuilder,mimeMap,MimeTypeService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){mimeMap=void 0;MimeTypeService=class MimeTypeService{getMimeType(fileName){return __awaiter(this,void 0,void 0,(function*(){mimeMap!==null&&mimeMap!==void 0?mimeMap:mimeMap=this.createMap();const map=yield mimeMap;const group=/\.([^\.]+)$/.exec(fileName);if(group){const ct=map.get(group[1]);if(ct){return ct}}return"application/octat-stream"}))}createMap(){return __awaiter(this,void 0,void 0,(function*(){const json=yield FetchBuilder.get("https://cdn.jsdelivr.net/gh/jshttp/mime-db@master/db.json").responseAsJson();const map=new Map;setTimeout((()=>mimeMap=null),6e4);for(const key in json){if(Object.prototype.hasOwnProperty.call(json,key)){const{extensions}=json[key];if(extensions){for(const iterator of extensions){map.set(iterator,key)}}}}return map}))}};MimeTypeService=__decorate([DISingleton()],MimeTypeService);_export("default",MimeTypeService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/files/MimeTypeService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/types","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/core/dist/core/InjectProperty","../../../../web/page/files/service/CloudFileService","../../../../services/files/MimeTypeService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,Action,UMD,FetchBuilder,InjectProperty,CloudFileService,MimeTypeService,ChooseWebSiteTemplatePage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_servicesFilesMimeTypeService){MimeTypeService=_servicesFilesMimeTypeService.default}],execute:function(){_export("default",ChooseWebSiteTemplatePage=class ChooseWebSiteTemplatePage extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create("button",{"data-click-event":"create-template",text:"Create From Template"}))}))}createTemplate(){return __awaiter(this,void 0,void 0,(function*(){const template="plain";yield this.upload("index.html",template);yield this.upload("vars.css",template,"styles")}))}upload(fileName,template,folder=void 0){return __awaiter(this,void 0,void 0,(function*(){const templatePath=folder?`${folder}/${fileName}`:fileName;const path=UMD.resolvePath(`@social-mail/social-mail-client/content/templates/${template}/${templatePath}`);const content=yield FetchBuilder.get(path).responseAsText();const contentType=yield this.mimeTypeService.getMimeType(fileName);yield this.cloudFileService.saveFile({content:new File([content],fileName,{type:contentType}),parentID:this.parameters.appFileID,folder})}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ChooseWebSiteTemplatePage.prototype,"cloudFileService",void 0);__decorate([InjectProperty,__metadata("design:type",MimeTypeService)],ChooseWebSiteTemplatePage.prototype,"mimeTypeService",void 0);__decorate([Action({onEvent:"create-template",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseWebSiteTemplatePage.prototype,"createTemplate",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/templates/ChooseWebSiteTemplatePage");System.register(["tslib","@web-atoms/core/dist/core/XNode","./TreeView","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/InjectProperty","../../../web/page/files/service/CloudFileService","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/UploadEvent"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,TreeView,BindableProperty,InjectProperty,CloudFileService,Bind,Action,InlinePopupButton,MenuItem,UploadEvent,FolderTreeView,FileTreeView,getExtension;_export({FolderTreeView:void 0,FileTreeView:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_TreeView){TreeView=_TreeView.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default}],execute:function(){getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("FolderTreeView",FolderTreeView=class FolderTreeView extends TreeView{constructor(app,e){super(app,e);this.childrenProperty=item=>{var _a;return(_a=item.children)!==null&&_a!==void 0?_a:item.children=[]};this.canSelect=item=>item.isFolder;this.isFolder=item=>item.isFolder;this.fileIconRenderer=item=>XNode.create("i",{"data-click-event":"none",class:`fiv-viv fiv-icon-${getExtension(item.name)}`});this.labelRenderer=x=>XNode.create("span",{text:x.name,title:x.name});this.actionRenderer=item=>this.root===item?XNode.create("i",{"data-cursor":"pointer",title:"New Folder","data-click-event":"new-folder",class:"fas fa-plus"}):XNode.create(InlinePopupButton,{"data-layout":"icon-button",icon:"fa-solid fa-ellipsis-vertical"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},item.isFolder&&XNode.create(MenuItem,{"data-click-event":"new-folder",icon:"fas fa-plus",label:"New Folder"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"rename-file",icon:"fa-duotone fa-i-cursor",label:"Rename"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"delete-file",icon:"fas fa-trash-can",label:"Delete"})));this.render(XNode.create("div",{folder:Bind.oneWayAsync(((c,_,cancelToken)=>this.loadFolder(this.folderId,this.accept,cancelToken)))}))}onItemExpanded(item){return __awaiter(this,void 0,void 0,(function*(){yield this.cloudFileService.expand(item)}))}onDeleteItem(file){var _a;return __awaiter(this,void 0,void 0,(function*(){file.isDeleted=true;yield this.cloudFileService.save(file);const e=this.map.get(file);const prev=(_a=e.previousElementSibling)!==null&&_a!==void 0?_a:e.parentElement;e.remove();this.selectedItem=prev.dataItem;this.element.dispatchEvent(new CustomEvent("file-deleted",{detail:file,bubbles:true}))}))}onNewFolder(file){var _a;return __awaiter(this,void 0,void 0,(function*(){const name=prompt("Enter new name of new folder","");if(!name){return}const parentID=file.appFileID;const child=yield this.cloudFileService.createFolder({name,parentID});((_a=file.children)!==null&&_a!==void 0?_a:file.children=[]).add(child)}))}onRenameItem(file){return __awaiter(this,void 0,void 0,(function*(){const newName=prompt("Enter new name of the file",file.name);if(!newName||newName===file.name){return}file.name=newName;yield this.cloudFileService.save(file)}))}loadFolder(folder,accept,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.cloudFileService.getFolder(folder,cancelToken);this.root=f;this.selectedItem=f}))}});__decorate([BindableProperty,__metadata("design:type",String)],FolderTreeView.prototype,"accept",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],FolderTreeView.prototype,"folderId",void 0);__decorate([InjectProperty,__metadata("design:type",CloudFileService)],FolderTreeView.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"item-expanded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onItemExpanded",null);__decorate([Action({onEvent:"delete-file",confirm:"Are you sure you want to delete the selected?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onDeleteItem",null);__decorate([Action({onEvent:"new-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onNewFolder",null);__decorate([Action({onEvent:"rename-file"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onRenameItem",null);_export("FileTreeView",FileTreeView=class FileTreeView extends FolderTreeView{constructor(app,e){super(app,e);this.canSelect=item=>!item.isFolder;this.labelRenderer=x=>XNode.create("span",{text:x.name,title:x.name,"data-click-event":x.isFolder?"none":"select-item"});this.actionRenderer=item=>XNode.create(InlinePopupButton,{"data-layout":"icon-button",icon:"fa-solid fa-ellipsis-vertical"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},item.isFolder&&XNode.create(MenuItem,{"data-click-event":"new-folder",icon:"fas fa-plus",label:"New Folder"}),item.isFolder&&XNode.create(MenuItem,Object.assign({"data-click-event":"none",icon:"fas fa-upload",label:"Upload File","data-extra":JSON.stringify({parentID:item.appFileID})},UploadEvent.AttachUploadAction({multiple:true,folder:true,accept:"*/*"}))),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"rename-file",icon:"fa-duotone fa-i-cursor",label:"Rename"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"delete-file",icon:"fas fa-trash-can",label:"Delete"})))}loadFolder(folder,accept,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.cloudFileService.root({id:folder,cancelToken});this.root=f}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/FileTreeView");System.register([],(function(_export,_context){"use strict";function InstallDragDropHelper(editor){let dragged;const document=editor.htmlDocument;const dropTarget=editor.dropTarget;document.addEventListener("dragstart",(e=>{dragged=e.target;e.dataTransfer.dropEffect="move";e.dataTransfer.setDragImage(dragged,0,0)}));document.addEventListener("dragover",(e=>{const target=e.target;e.preventDefault();e.dataTransfer.dropEffect="copy";const b=target.getBoundingClientRect();const mp={x:e.clientX,y:e.clientY};const style=document.defaultView.getComputedStyle(target);const isHorizontal=style.display==="flex"&&(style.flexDirection==="row"||style.flexWrap)||style.display==="inline-block"||style.display==="inline"||target.tagName==="TD";if(isHorizontal){if(mp.x>b.left+b.width/2){dropTarget.dropAnchor="right";dropTarget.update(target);return}dropTarget.dropAnchor="left";dropTarget.update(target);return}if(mp.y>b.top+b.height/2){dropTarget.dropAnchor="bottom";dropTarget.update(target);return}dropTarget.dropAnchor="top";dropTarget.update(target)}));document.addEventListener("dragend",(e=>{e.preventDefault();dropTarget.clear();dragged=null}));document.addEventListener("drop",(e=>{const target=e.target;let insert;e.preventDefault();if(dragged){dragged.remove();insert=dragged}else{dragged=null;const div=document.createElement("div");div.innerHTML=e.dataTransfer.getData("text/html");insert=div.childElementCount>1?div:div.firstElementChild}if(target.childElementCount===0){target.appendChild(insert);dropTarget.clear();editor.commit();return}switch(dropTarget.dropAnchor){case"top":case"left":target.insertAdjacentElement("beforebegin",insert);break;case"bottom":case"right":target.insertAdjacentElement("afterend",insert);break}editor.commit();dropTarget.clear()}));document.addEventListener("dragleave",(e=>{dropTarget.clear()}));setTimeout((()=>{editor.commit();document.body.querySelectorAll("*").forEach((e=>e.draggable=true))}),100)}_export("InstallDragDropHelper",InstallDragDropHelper);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/drag-drop/DragDropHelper");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var XNode,styled;function EditorToolbar(a,...nodes){return XNode.create("div",Object.assign({"data-html-editor-element":"toolbar"},a),...nodes)}_export("default",EditorToolbar);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
2374
+ `.withOrder("medium").installGlobal("*[data-date-field=date-field]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/date-field-style");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/date-time/dist/DateTime","./Calendar","./InlinePopup","./TimeEditor","@web-atoms/date-time/dist/TimeSpan","./styles/date-field-style"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomControl,DateTime,Calendar,InlinePopup,InlinePopupButton,TimeEditor,TimeSpan,DateField;function hours(){return[{label:"01",value:1},{label:"02",value:2},{label:"03",value:3},{label:"04",value:4},{label:"05",value:5},{label:"06",value:6},{label:"07",value:7},{label:"08",value:8},{label:"09",value:9},{label:"10",value:10},{label:"11",value:11},{label:"12",value:12}]}function minutes(){const items=[];for(let index=0;index<10;index++){items.push({label:"0"+index,value:index})}for(let index=10;index<60;index++){items.push({label:index.toString(),value:index})}return items}_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_Calendar){Calendar=_Calendar.default},function(_InlinePopup){InlinePopup=_InlinePopup.default;InlinePopupButton=_InlinePopup.InlinePopupButton},function(_TimeEditor){TimeEditor=_TimeEditor.default},function(_webAtomsDateTimeDistTimeSpan){TimeSpan=_webAtomsDateTimeDistTimeSpan.default},function(_stylesDateFieldStyle){}],execute:function(){_export("default",DateField=class DateField extends AtomControl{constructor(app,e=document.createElement("button")){super(app,e)}preCreate(){this.prompt="Select";this.enableTime=false;this.value=null;this.format=(d,showTime)=>showTime?d===null||d===void 0?void 0:d.toLocaleString(navigator.language,{month:"short",year:"numeric",day:"numeric",weekday:"short",hour12:true,hour:"numeric",minute:"2-digit"}):d===null||d===void 0?void 0:d.toLocaleDateString(navigator.language,{month:"short",year:"numeric",day:"numeric",weekday:"short"});const owner=this;class CalendarPopup extends InlinePopup{create(){var _a;this.owner=owner;this.type="AM";const now=DateTime.from((_a=owner.value)!==null&&_a!==void 0?_a:DateTime.today.addHours(owner.hour||0).addMinutes(owner.minute||0));this.time=new TimeSpan(0,now.hour,now.minute);super.create();const yearStart=typeof this.owner.yearStart==="number"?this.owner.yearStart:-10;const yearEnd=typeof this.owner.yearEnd==="number"?this.owner.yearEnd:10;const year=typeof this.owner.year==="number"?this.owner.year:now.year;this.render(XNode.create("div",{class:"calendar-popup"},XNode.create(Calendar,{yearStart,yearEnd,year,"event-item-select":Bind.event(((s,e)=>{if(e.detail.disabled){return}this.save(e.detail.value)})),enableFunc:Bind.oneTime((()=>this.owner.enableFunc)),value:Bind.oneWay((()=>this.owner.value))}),this.owner.enableTime&&XNode.create(TimeEditor,{time:Bind.twoWays((()=>this.time))}),XNode.create("button",{class:"clear",text:"Clear","event-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.save()}}),XNode.create("button",{class:"today",text:"Today","event-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.save(DateTime.today.asJSDate)}})));this.runAfterInit((()=>{if(this.element){this.element.scrollIntoView()}}))}save(d){if(!d){this.owner.value=d;this.close(d);return}let date=DateTime.from(d);if(this.owner.enableTime){date=date.add(this.time)}this.owner.value=date.asJSDate;this.close(date)}}this.render(XNode.create(InlinePopupButton,{"data-layout":"flex","data-date-field":"date-field",text:Bind.oneWay((()=>{var _a;return((_a=this.format)===null||_a===void 0?void 0:_a.call(this,this.value,this.enableTime))||this.prompt}))},XNode.create(CalendarPopup,null)))}});__decorate([BindableProperty,__metadata("design:type",Date)],DateField.prototype,"value",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DateField.prototype,"enableFunc",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DateField.prototype,"format",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],DateField.prototype,"yearStart",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],DateField.prototype,"yearEnd",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"year",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"hour",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"minute",void 0);__decorate([BindableProperty,__metadata("design:type",String)],DateField.prototype,"prompt",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/DateField");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/Switch","@web-atoms/core/dist/core/Bind","../../../../common/controls/drop-downs/user/UserDropDown","../../../../common/controls/buttons/IconButton","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/web-controls/dist/basic/Select","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/files/FileShareService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,AppFileAccess,XNode,Form,FormField,Switch,Bind,UserDropDown,SaveIconTextButton,DateTime,DateField,Select,Action,InjectProperty,FileShareService,AddSharePage,rights,externalRights;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFileAccess=_modelModel.AppFileAccess},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicSwitch){Switch=_webAtomsWebControlsDistBasicSwitch.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsDropDownsUserUserDropDown){UserDropDown=_commonControlsDropDownsUserUserDropDown.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistBasicDateField){DateField=_webAtomsWebControlsDistBasicDateField.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesFilesFileShareService){FileShareService=_servicesFilesFileShareService.default}],execute:function(){rights=[{label:"Read",value:"read"},{label:"Write",value:"write"},{label:"Delegate (Read+Write+Share)",value:"delegate"}];externalRights=[{label:"Read",value:"read"},{label:"Write",value:"write"}];_export("default",AddSharePage=class AddSharePage extends PopupWindowPage{constructor(){super(...arguments);this.external=false}init(){return __awaiter(this,void 0,void 0,(function*(){this.title=`Create new Share for ${this.parameters.name}`;const fileID=this.parameters.appFileID;this.model=AppFileAccess.create({fileID,expires:DateTime.today.addMonths(1),type:"read",externalUser:{name:"",emailAddress:""}});this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:this.parameters.isFolder?"Folder":"File"},XNode.create("div",{text:this.parameters.name})),XNode.create("div",{"data-layout":"row"},XNode.create(Switch,{checked:Bind.twoWaysImmediate((()=>this.external))}),XNode.create("div",{text:"External User"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!this.external)),label:"Search User"},XNode.create(UserDropDown,{value:Bind.twoWaysImmediate((()=>this.model.userID))})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!!this.external)),label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.externalUser.name))})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!!this.external)),label:"Email Address"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.externalUser.emailAddress))})),XNode.create(FormField,{label:"Rights"},XNode.create(Select,{labelPath:item=>item.label,valuePath:item=>item.value,items:Bind.oneWay((()=>this.external?externalRights:rights)),value:Bind.twoWaysImmediate((()=>this.model.type))})),XNode.create(FormField,{label:"Expires"},XNode.create(DateField,{value:Bind.twoWaysImmediate((()=>this.model.expires))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-share",text:"Create"}))))}))}saveShare(){return __awaiter(this,void 0,void 0,(function*(){const model=Object.assign({},this.model);if(!this.external){delete model.externalUser}yield this.fileShareService.save(model);model.file=this.parameters;return model}))}});__decorate([InjectProperty,__metadata("design:type",FileShareService)],AddSharePage.prototype,"fileShareService",void 0);__decorate([Action({onEvent:"save-share",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddSharePage.prototype,"saveShare",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/shares/AddSharePage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/InjectProperty","../../../../services/files/FileShareService","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./AddSharePage","../../../../common/date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,AtomRepeater,InjectProperty,FileShareService,AddIconTextButton,Action,PageNavigator,AddSharePage,DateFormats,EditSharesPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesFilesFileShareService){FileShareService=_servicesFilesFileShareService.default},function(_commonControlsButtonsIconButton){AddIconTextButton=_commonControlsButtonsIconButton.AddIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_AddSharePage){AddSharePage=_AddSharePage.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats}],execute:function(){_export("default",EditSharesPage=class EditSharesPage extends PopupWindowPage{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.title=`${this.parameters.name} - Share Settings`;this.list=(_a=yield this.shareService.list(this.parameters.appFileID))!==null&&_a!==void 0?_a:[];this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,{items:this.list,itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:item.user.userName}),XNode.create("div",{text:item.type}),item.expires&&XNode.create("div",{text:DateFormats.relative.short(item.expires)}),item.accessCode?XNode.create("i",{title:"Copy Link",class:"fas fa-link"}):XNode.create("span",null))}),XNode.create("div",null,XNode.create(AddIconTextButton,{"data-click-event":"create-share-link",text:"Create Share Link"})));if(!this.list.length){yield this.createShareLink()}}))}createShareLink(){return __awaiter(this,void 0,void 0,(function*(){const item=yield PageNavigator.pushPageForResult(AddSharePage,this.parameters);this.list.add(item)}))}});__decorate([InjectProperty,__metadata("design:type",FileShareService)],EditSharesPage.prototype,"shareService",void 0);__decorate([Action({onEvent:"create-share-link"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditSharesPage.prototype,"createShareLink",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/shares/EditSharesPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../../../common/controls/html/InlineHtmlEditorWithToolbar","../../../services/mime-service/MimeNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../services/mime-service/MimeMessage","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/web/core/AtomUI","../../../services/mime-service/stream/TextWriter","../../../services/files/LocalFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,Bind,InlineHtmlEditorWithToolbar,MimeNode,Form,FormField,SaveIconTextButton,Action,MimeMessage,AtomRepeater,descendentElementIterator,BlobWriter,LocalFileService,EditTemplatePage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsHtmlInlineHtmlEditorWithToolbar){InlineHtmlEditorWithToolbar=_commonControlsHtmlInlineHtmlEditorWithToolbar.default},function(_servicesMimeServiceMimeNode){MimeNode=_servicesMimeServiceMimeNode.MimeNode},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesMimeServiceMimeMessage){MimeMessage=_servicesMimeServiceMimeMessage.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_servicesMimeServiceStreamTextWriter){BlobWriter=_servicesMimeServiceStreamTextWriter.BlobWriter},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default}],execute:function(){_export("default",EditTemplatePage=class EditTemplatePage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.loadModel(this.parameters.file);this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"File Name:"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create(FormField,{label:"Subject:"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.subject))})),XNode.create(InlineHtmlEditorWithToolbar,{inlineImage:true,presenter:Bind.presenter((c=>this.editor=c)),"event-content-ready":()=>this.setupEditable(),content:this.model.htmlBody,"style-min-height":"200px"}),XNode.create(AtomRepeater,{items:this.model.attachments,"data-layout":"flex-wrap-padding",itemRenderer:item=>XNode.create("div",null,XNode.create("i",{class:"fas fa-file"}),XNode.create("span",{text:item.name}))}),XNode.create("div",null,XNode.create(SaveIconTextButton,{"data-click-event":"save-template",text:"Save"}))))}))}loadModel(file){return __awaiter(this,void 0,void 0,(function*(){if(file.appFileID){const data=yield fetch(file.url);const node=yield MimeMessage.load(data.body,file.name);const name=node.name;const htmlBody=node.html;const attachments=node.attachments;const subject=node.subject;return{node:node.node,mime:node,name,subject,htmlBody,attachments}}return{name:"Template 1",subject:"Template Subject",htmlBody:`<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`,attachments:[]}}))}saveTemplate(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{html,text}=this.editor.htmlTextContent;const root=MimeNode.createMessage({subject:this.model.subject,name:this.model.name,html,text,attachments:this.model.attachments});const blobWriter=new BlobWriter;yield root.save(blobWriter);const blob=blobWriter.toBlob();const localFileService=this.resolve(LocalFileService);const file=new File([blob],this.model.name,{type:"message/rfc822"});const appFileID=(_b=(_a=this.parameters.file)===null||_a===void 0?void 0:_a.appFileID)!==null&&_b!==void 0?_b:void 0;const parentID=appFileID?void 0:this.parameters.file.parentID;yield localFileService.uploadWithProgress([file],{appFileID,parentID})}))}setupEditable(){const editor=this.editor.editor;if(editor.isContentEditable){return}for(const node of descendentElementIterator(editor)){if(node.isContentEditable){return}}editor.contentEditable="true"}});__decorate([Action({onEvent:"save-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditTemplatePage.prototype,"saveTemplate",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/templates/EditTemplatePage");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __awaiter,__decorate,DISingleton,FetchBuilder,mimeMap,MimeTypeService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){mimeMap=void 0;MimeTypeService=class MimeTypeService{getMimeType(fileName){return __awaiter(this,void 0,void 0,(function*(){mimeMap!==null&&mimeMap!==void 0?mimeMap:mimeMap=this.createMap();const map=yield mimeMap;const group=/\.([^\.]+)$/.exec(fileName);if(group){const ct=map.get(group[1]);if(ct){return ct}}return"application/octat-stream"}))}createMap(){return __awaiter(this,void 0,void 0,(function*(){const json=yield FetchBuilder.get("https://cdn.jsdelivr.net/gh/jshttp/mime-db@master/db.json").responseAsJson();const map=new Map;setTimeout((()=>mimeMap=null),6e4);for(const key in json){if(Object.prototype.hasOwnProperty.call(json,key)){const{extensions}=json[key];if(extensions){for(const iterator of extensions){map.set(iterator,key)}}}}return map}))}};MimeTypeService=__decorate([DISingleton()],MimeTypeService);_export("default",MimeTypeService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/files/MimeTypeService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/types","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/core/dist/core/InjectProperty","../../../../web/page/files/service/CloudFileService","../../../../services/files/MimeTypeService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,Action,UMD,FetchBuilder,InjectProperty,CloudFileService,MimeTypeService,ChooseWebSiteTemplatePage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_servicesFilesMimeTypeService){MimeTypeService=_servicesFilesMimeTypeService.default}],execute:function(){_export("default",ChooseWebSiteTemplatePage=class ChooseWebSiteTemplatePage extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create("button",{"data-click-event":"create-template",text:"Create From Template"}))}))}createTemplate(){return __awaiter(this,void 0,void 0,(function*(){const template="plain";yield this.upload("index.html",template);yield this.upload("vars.css",template,"styles")}))}upload(fileName,template,folder=void 0){return __awaiter(this,void 0,void 0,(function*(){const templatePath=folder?`${folder}/${fileName}`:fileName;const path=UMD.resolvePath(`@social-mail/social-mail-client/content/templates/${template}/${templatePath}`);const content=yield FetchBuilder.get(path).responseAsText();const contentType=yield this.mimeTypeService.getMimeType(fileName);yield this.cloudFileService.saveFile({content:new File([content],fileName,{type:contentType}),parentID:this.parameters.appFileID,folder})}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ChooseWebSiteTemplatePage.prototype,"cloudFileService",void 0);__decorate([InjectProperty,__metadata("design:type",MimeTypeService)],ChooseWebSiteTemplatePage.prototype,"mimeTypeService",void 0);__decorate([Action({onEvent:"create-template",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseWebSiteTemplatePage.prototype,"createTemplate",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/templates/ChooseWebSiteTemplatePage");System.register(["tslib","@web-atoms/core/dist/core/XNode","./TreeView","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/InjectProperty","../../../web/page/files/service/CloudFileService","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/UploadEvent"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,TreeView,BindableProperty,InjectProperty,CloudFileService,Bind,Action,InlinePopupButton,MenuItem,UploadEvent,FolderTreeView,FileTreeView,getExtension;_export({FolderTreeView:void 0,FileTreeView:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_TreeView){TreeView=_TreeView.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default}],execute:function(){getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("FolderTreeView",FolderTreeView=class FolderTreeView extends TreeView{constructor(app,e){super(app,e);this.childrenProperty=item=>{var _a;return(_a=item.children)!==null&&_a!==void 0?_a:item.children=[]};this.canSelect=item=>item.isFolder;this.isFolder=item=>item.isFolder;this.fileIconRenderer=item=>XNode.create("i",{"data-click-event":"none",class:`fiv-viv fiv-icon-${getExtension(item.name)}`});this.labelRenderer=x=>XNode.create("span",{text:x.name,title:x.name});this.actionRenderer=item=>this.root===item?XNode.create("i",{"data-cursor":"pointer",title:"New Folder","data-click-event":"new-folder",class:"fas fa-plus"}):XNode.create(InlinePopupButton,{"data-layout":"icon-button",icon:"fa-solid fa-ellipsis-vertical"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},item.isFolder&&XNode.create(MenuItem,{"data-click-event":"new-folder",icon:"fas fa-plus",label:"New Folder"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"rename-file",icon:"fa-duotone fa-i-cursor",label:"Rename"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"delete-file",icon:"fas fa-trash-can",label:"Delete"})));this.render(XNode.create("div",{folder:Bind.oneWayAsync(((c,_,cancelToken)=>this.loadFolder(this.folderId,this.accept,cancelToken)))}))}onItemExpanded(item){return __awaiter(this,void 0,void 0,(function*(){yield this.cloudFileService.expand(item)}))}onDeleteItem(file){var _a;return __awaiter(this,void 0,void 0,(function*(){file.isDeleted=true;yield this.cloudFileService.save(file);const e=this.map.get(file);const prev=(_a=e.previousElementSibling)!==null&&_a!==void 0?_a:e.parentElement;e.remove();this.selectedItem=prev.dataItem;this.element.dispatchEvent(new CustomEvent("file-deleted",{detail:file,bubbles:true}))}))}onNewFolder(file){var _a;return __awaiter(this,void 0,void 0,(function*(){const name=prompt("Enter new name of new folder","");if(!name){return}const parentID=file.appFileID;const child=yield this.cloudFileService.createFolder({name,parentID});((_a=file.children)!==null&&_a!==void 0?_a:file.children=[]).add(child)}))}onRenameItem(file){return __awaiter(this,void 0,void 0,(function*(){const newName=prompt("Enter new name of the file",file.name);if(!newName||newName===file.name){return}file.name=newName;yield this.cloudFileService.save(file);const e=this.map.get(file);const{parentItem:{children}}=e;children.set(children.indexOf(file),file)}))}loadFolder(folder,accept,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.cloudFileService.getFolder(folder,cancelToken);this.root=f;this.selectedItem=f}))}});__decorate([BindableProperty,__metadata("design:type",String)],FolderTreeView.prototype,"accept",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],FolderTreeView.prototype,"folderId",void 0);__decorate([InjectProperty,__metadata("design:type",CloudFileService)],FolderTreeView.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"item-expanded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onItemExpanded",null);__decorate([Action({onEvent:"delete-file",confirm:"Are you sure you want to delete the selected?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onDeleteItem",null);__decorate([Action({onEvent:"new-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onNewFolder",null);__decorate([Action({onEvent:"rename-file"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onRenameItem",null);_export("FileTreeView",FileTreeView=class FileTreeView extends FolderTreeView{constructor(app,e){super(app,e);this.menuActions=null;this.canSelect=item=>!item.isFolder;this.labelRenderer=x=>XNode.create("span",{text:x.name,title:x.name,"data-click-event":x.isFolder?"none":"select-item"});this.actionRenderer=item=>XNode.create(InlinePopupButton,{"data-layout":"icon-button",icon:"fa-solid fa-ellipsis-vertical",popup:()=>{var _a,_b;return XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},item.isFolder&&XNode.create(MenuItem,{"data-click-event":"new-folder",icon:"fas fa-plus",label:"New Folder"}),item.isFolder&&XNode.create(MenuItem,Object.assign({"data-click-event":"none",icon:"fas fa-upload",label:"Upload File","data-extra":JSON.stringify({parentID:item.appFileID})},UploadEvent.AttachUploadAction({multiple:true,folder:true,accept:"*/*"}))),...(_b=(_a=this.menuActions)===null||_a===void 0?void 0:_a.call(this,item))!==null&&_b!==void 0?_b:[],this.root!==item&&XNode.create(MenuItem,{"data-click-event":"rename-file",icon:"fa-duotone fa-i-cursor",label:"Rename"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"delete-file",icon:"fas fa-trash-can",label:"Delete"}))}})}loadFolder(folder,accept,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.cloudFileService.root({id:folder,cancelToken});this.root=f}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/FileTreeView");System.register([],(function(_export,_context){"use strict";function InstallDragDropHelper(editor){let dragged;const document=editor.htmlDocument;const dropTarget=editor.dropTarget;document.addEventListener("dragstart",(e=>{dragged=e.target;e.dataTransfer.dropEffect="move";e.dataTransfer.setDragImage(dragged,0,0)}));document.addEventListener("dragover",(e=>{const target=e.target;e.preventDefault();e.dataTransfer.dropEffect="copy";const b=target.getBoundingClientRect();const mp={x:e.clientX,y:e.clientY};const style=document.defaultView.getComputedStyle(target);const isHorizontal=style.display==="flex"&&(style.flexDirection==="row"||style.flexWrap)||style.display==="inline-block"||style.display==="inline"||target.tagName==="TD";if(isHorizontal){if(mp.x>b.left+b.width/2){dropTarget.dropAnchor="right";dropTarget.update(target);return}dropTarget.dropAnchor="left";dropTarget.update(target);return}if(mp.y>b.top+b.height/2){dropTarget.dropAnchor="bottom";dropTarget.update(target);return}dropTarget.dropAnchor="top";dropTarget.update(target)}));document.addEventListener("dragend",(e=>{e.preventDefault();dropTarget.clear();dragged=null}));document.addEventListener("drop",(e=>{const target=e.target;let insert;e.preventDefault();if(dragged){dragged.remove();insert=dragged}else{dragged=null;const div=document.createElement("div");div.innerHTML=e.dataTransfer.getData("text/html");insert=div.childElementCount>1?div:div.firstElementChild}if(target.childElementCount===0){target.appendChild(insert);dropTarget.clear();editor.commit();return}switch(dropTarget.dropAnchor){case"top":case"left":target.insertAdjacentElement("beforebegin",insert);break;case"bottom":case"right":target.insertAdjacentElement("afterend",insert);break}editor.commit();dropTarget.clear()}));document.addEventListener("dragleave",(e=>{dropTarget.clear()}));setTimeout((()=>{editor.commit();document.body.querySelectorAll("*").forEach((e=>e.draggable=true))}),100)}_export("InstallDragDropHelper",InstallDragDropHelper);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/drag-drop/DragDropHelper");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var XNode,styled;function EditorToolbar(a,...nodes){return XNode.create("div",Object.assign({"data-html-editor-element":"toolbar"},a),...nodes)}_export("default",EditorToolbar);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
2369
2375
 
2370
2376
  display: flex;
2371
2377
  gap: 10px;
@@ -3213,7 +3219,7 @@ and limitations under the License.
3213
3219
  justify-self: stretch;
3214
3220
  align-self: stretch;
3215
3221
  }
3216
- `.installLocal();getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("default",WebSiteStudioPage=class WebSiteStudioPage extends ContentPage{constructor(){super(...arguments);this.version=1;this.pageContent=""}init(){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){this.search="";this.root=yield this.cloudFileService.root(this.parameters);(_a=(_c=this.root).children)!==null&&_a!==void 0?_a:_c.children=[];this.root.children.remove((x=>x.isDeleted||!(/^(text\/(html|css))$/i.test(x.contentType)||x.isFolder)));this.root.children.sort(((a,b)=>a.isFolder?-1:0));yield this.onItemExpanded(this.root);if(!((_b=this.root.children)===null||_b===void 0?void 0:_b.some((f=>f.name==="index.html")))){yield this.createIndexHtml();return}const indexHtml=this.root.children.find((x=>x.name==="index.html"));this.selectedFile=indexHtml;this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:Bind.oneWay((()=>this.selectedFile.name))}),XNode.create(PopupButton,{icon:"fas fa-upload",label:"Upload","data-layout":"accent-icon-button",alignment:"bottomLeft",popup:()=>XNode.create("div",null,XNode.create(MenuItem,Object.assign({icon:"fas fa-upload","data-extra":Bind.oneWay((()=>JSON.stringify({parentID:this.selectedFile.appFileID})))},UploadEvent.AttachUploadAction({multiple:true,accept:"*/*"}),{label:"Files"})),XNode.create(MenuItem,Object.assign({icon:"fas fa-upload","data-extra":Bind.oneWay((()=>JSON.stringify({parentID:this.selectedFile.appFileID})))},UploadEvent.AttachUploadAction({multiple:true,folder:true,accept:"*/*"}),{label:"Folder"})))}),XNode.create("span",{text:"|"}),XNode.create("i",{"data-click-event":"new-folder",class:"fas fa-plus"}),XNode.create("span",{"data-click-event":"new-folder",text:"Folder"}),XNode.create("span",{text:"|"}),this.parameters.templates&&XNode.create("div",{"data-layout":"row","style-display":Bind.oneWay((()=>this.selectedFile.appFileID>0))},XNode.create("i",{class:"fas fa-plus","data-click-event":"new-template"}),XNode.create("span",{"data-click-event":"new-template",text:"New Template"})));this.renderer=XNode.create("div",{class:css},XNode.create(FileTreeView,{root:this.root,class:"folder-tree",accept:"text/html",presenter:Bind.presenter((c=>this.folderTree=c)),selectedItem:Bind.twoWaysImmediate((()=>this.selectedFile)),"event-selected-item-changing":ce=>{if(this.pageContent){if(confirm("Page is modified but not saved, your changes will be lost")){return}ce.preventDefault()}}}),XNode.create(WebSitePageEditor,{class:"file-list",folder:this.root,presenter:Bind.presenter((c=>this.htmlEditor=c)),"event-html-page-changed":ce=>this.pageContent=ce.detail,htmlPage:Bind.oneWayAsync(((s,e,cancelToken)=>this.selectedFile?FetchBuilder.get(this.selectedFile.downloadUrl).cancelToken(cancelToken).responseAsText(true):void 0))}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>!!this.pageContent))},XNode.create("button",{"data-click-event":"save-page",text:"Save"}))}))}createIndexHtml(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ChooseWebSiteTemplatePage,this.root);yield this.init()}))}editShares(file){PageNavigator.pushPage(EditSharesPage,file)}editCode(){return __awaiter(this,void 0,void 0,(function*(){const file=yield PageNavigator.pushPageForResult(CodeEditorPage,this.selectedFile);this.htmlEditor.htmlPage=yield FetchBuilder.get(file.url).responseAsText()}))}openFolder(file){this.selectedFile=file}onItemExpanded(folder){return __awaiter(this,void 0,void 0,(function*(){yield this.cloudFileService.files({search:"",accept:"text/html",folder,cancelToken:null})}))}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}newTemplate(){return __awaiter(this,void 0,void 0,(function*(){const parentID=this.selectedFile.appFileID;const file=yield PageNavigator.pushPageForResult(EditTemplatePage,{file:AppFile.create({parentID})});this.selectedFile.children.add(file)}))}openTemplate(file){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(EditTemplatePage,{file})}))}savePage(){return __awaiter(this,void 0,void 0,(function*(){const content=new File([this.pageContent],this.selectedFile.name,{type:this.selectedFile.contentType});const result=yield this.cloudFileService.saveFile({appFileID:this.selectedFile.appFileID,content});this.selectedFile.url=result.url;this.selectedFile.fileContentID=result.fileContentID;this.selectedFile.downloadUrl=result.downloadUrl;this.pageContent=""}))}hide(){this.pageContent=this.htmlEditor.htmlPage;super.hide()}show(){super.show();if(this.pageContent){setTimeout((()=>this.htmlEditor.htmlPage=this.pageContent),400)}}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],WebSiteStudioPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"edit-shares"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"editShares",null);__decorate([Action({onEvent:"edit-code"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"editCode",null);__decorate([Action({onEvent:"open-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"openFolder",null);__decorate([Action({onEvent:"item-expanded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"onItemExpanded",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"onFilesUploaded",null);__decorate([Action({onEvent:"new-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"newTemplate",null);__decorate([Action({onEvent:"open-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"openTemplate",null);__decorate([Action({onEvent:"save-page"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"savePage",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/studio/WebSiteStudioPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,User,UserAuthFactor,SocialMailApp,UserService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){User=_modelModel.User;UserAuthFactor=_modelModel.UserAuthFactor},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){UserService=class UserService{getCurrent(){return __awaiter(this,void 0,void 0,(function*(){const{userID}=SocialMailApp.user;return this.entityService.query(User).where({userID},(p=>x=>x.userID===p.userID)).include((x=>x.authFactors)).firstOrDefault()}))}save(user){return __awaiter(this,void 0,void 0,(function*(){let cloner=this.entityService.cloner(user).include((x=>x.authFactors));if(user.changePassword){cloner=cloner.include((x=>x.changePassword))}yield this.entityService.save(cloner.copy)}))}createAuthFactor(user,method="totp"){var _a;return __awaiter(this,void 0,void 0,(function*(){const authFactor=UserAuthFactor.create({method});((_a=user.authFactors)!==null&&_a!==void 0?_a:user.authFactors=[]).add(authFactor);yield this.save(user);return authFactor}))}};__decorate([Inject,__metadata("design:type",EntityService)],UserService.prototype,"entityService",void 0);UserService=__decorate([DITransient()],UserService);_export("default",UserService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/services/UserService");System.register([],(function(_export,_context){"use strict";var Validators;return{setters:[],execute:function(){_export("Validators",Validators={checkPassword:password=>{const hasMinimumLength=password.length>=7;const hasNumber=/\d/.test(password);const hasSymbol=/[\@\#\$\%\^\&\*\!]/.test(password);return{hasMinimumLength,hasNumber,hasSymbol,isValid:hasMinimumLength&&hasNumber&&hasSymbol}},isValidPassword:password=>Validators.checkPassword(password).isValid})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/validators/Validators");System.register(["@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","../../validators/Validators"],(function(_export,_context){"use strict";var Bind,XNode,AtomControl,Validators,PasswordStrength;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_validatorsValidators){Validators=_validatorsValidators.Validators}],execute:function(){_export("default",PasswordStrength=class PasswordStrength extends AtomControl{constructor(){super(...arguments);this.password="";this.validation={hasMinimumLength:false,hasNumber:false,hasSymbol:false,isValid:false}}preCreate(){this.render(XNode.create("div",{"data-layout":"vertical-flex",validation:Bind.oneWay((()=>Validators.checkPassword(this.password)))},XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasMinimumLength?"green":"red")),class:Bind.oneWay((()=>this.validation.hasMinimumLength?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password is at least 7 characters long."})),XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasNumber?"green":"red")),class:Bind.oneWay((()=>this.validation.hasNumber?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password has a number."})),XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasSymbol?"green":"red")),class:Bind.oneWay((()=>this.validation.hasSymbol?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password has a symbol."}))))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","../../../controls/password/PasswordStrength","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","../../../validators/Validators","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,UserService,XNode,Form,PasswordFormField,Bind,PasswordStrength,FormField,PasswordBox,Validators,SaveIconTextButton,Action,ChangePasswordPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsPasswordPasswordStrength){PasswordStrength=_controlsPasswordPasswordStrength.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_validatorsValidators){Validators=_validatorsValidators.Validators},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",ChangePasswordPage=class ChangePasswordPage extends PopupWindowPage{constructor(){super(...arguments);this.password=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();this.title="Change Password";this.model.changePassword={oldPassword:"",newPassword:"",forceChangePasswordOnLogin:false};this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(PasswordFormField,{label:"Current Password",value:()=>this.model.changePassword.oldPassword}),XNode.create(FormField,{label:"Password",required:true,error:Bind.oneWay((()=>Validators.isValidPassword(this.password)?"":"Password is invalid"))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.password))})),XNode.create(PasswordStrength,{password:Bind.oneWay((()=>this.password))}),XNode.create(FormField,{label:"Password again",required:true,error:Bind.oneWay((()=>this.password!==this.model.changePassword.newPassword?"Passwords do not match":""))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.changePassword.newPassword))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-user",text:"Change"}))))}))}saveUser(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],ChangePasswordPage.prototype,"userService",void 0);__decorate([Action({onEvent:"save-user",success:"Password changed successfully.",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChangePasswordPage.prototype,"saveUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/buttons/IconButton","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,UserAuthFactor,InjectProperty,UserService,XNode,Form,AddIconTextButton,DeleteIconTextButton,SaveIconTextButton,FormField,Bind,Action,AtomRepeater,DateFormats,MultiFactorSetupPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton;DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats}],execute:function(){_export("default",MultiFactorSetupPage=class MultiFactorSetupPage extends ContentPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();const{multiFactor}=this.model;this.title="Setup Multi Factor Authentication";if(!((_a=this.model.authFactors)===null||_a===void 0?void 0:_a.length)){yield this.notSetup();return}if(multiFactor){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),XNode.create("div",{"data-layout":"command-row"},XNode.create("div",null,"Multi factor authentication is enabled."),XNode.create(DeleteIconTextButton,{text:"Disable"}))));return}const disable=!((_b=this.model.authFactors)===null||_b===void 0?void 0:_b.length)||!this.model.authFactors.some((i=>i.method==="totp"&&i.verified))||this.model.authFactors.filter((i=>i.method==="one-time")).length<8;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),disable&&XNode.create("div",null,"You must add at least one authenticator and generate 8 OTPs (one time passwords) to enable Multi factor authentication."),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{disabled:disable,"style-color":disable?"gray":"","data-click-event":"enable-multi-factor",text:"Enable"}),XNode.create(DeleteIconTextButton,{"data-submit-event":"clear-all",text:"Clear All"})),multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(DeleteIconTextButton,{text:"Disable"}))))}))}renderAuthFactor(item){if(item.method==="totp"){return XNode.create("tr",null,XNode.create("td",null,"Authenticator"),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}if(item.method==="one-time"){return XNode.create("tr",null,XNode.create("td",null,"OTP"),XNode.create("td",null,item.hint,"*****************"),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}return XNode.create("tr",null,XNode.create("td",null,item.method),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}notSetup(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create("p",null,"You account is not secure, please setup multi factor authentication."),XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}))}))}addAuthenticator(){return __awaiter(this,void 0,void 0,(function*(){const authFactor=yield this.userService.createAuthFactor(this.model);this.authFactor=authFactor;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:""},XNode.create("div",null,"Scan following QR Code in any compatible Authenticator App. Enter the generated code and hit the verify button.")),XNode.create(FormField,{label:"Secret"},XNode.create("img",{src:authFactor.qrCodeDataUrl})),XNode.create(FormField,{label:"Code",required:true,error:Bind.oneWay((()=>this.authFactor.token?"":"Code is required"))},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.authFactor.token))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-auth-factor",text:"Verify"}))))}))}generateOTP(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const authList=(_a=(_b=this.model).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[];for(let index=0;index<8;index++){authList.push(UserAuthFactor.create({method:"one-time"}))}yield this.userService.save(this.model);let text="";for(const iterator of authList){if(!(iterator===null||iterator===void 0?void 0:iterator.displaySecret)){continue}text+="\r\n"+iterator.displaySecret}text+="\r\n";this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"One Time Passwords"},XNode.create("div",null,"Please copy and save these passwords somewhere safe. You can use them if you cannot access Authenticator app.")),XNode.create(FormField,{label:""},XNode.create("textarea",{rows:12,value:text})),XNode.create("div",null,"After copying, click go to previous screen."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.init(),text:"Go"}))))}))}clearAll(){return __awaiter(this,void 0,void 0,(function*(){const all=this.model.authFactors;if(!(all===null||all===void 0?void 0:all.length)){return}for(const iterator of all){iterator.$deleted=true}yield this.userService.save(this.model);yield this.init()}))}enableMultiFactor(){return __awaiter(this,void 0,void 0,(function*(){this.model.multiFactor=true;yield this.userService.save(this.model);yield this.init()}))}saveAuthFactor(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],MultiFactorSetupPage.prototype,"userService",void 0);__decorate([Action({onEvent:"clear-all",confirm:"Are you sure you want to delete all existing methods?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"clearAll",null);__decorate([Action({onEvent:"enable-multi-factor",success:"Multi factor authentication enabled successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"enableMultiFactor",null);__decorate([Action({onEvent:"save-auth-factor",success:"Authenticator setup successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"saveAuthFactor",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/websites/WebSiteService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Form,FormField,PopupWindowPage,AppFile,WebSiteFolder,Bind,Action,InjectProperty,WebSiteService,WebSiteFolderEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFile=_modelModel.AppFile;WebSiteFolder=_modelModel.WebSiteFolder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default}],execute:function(){_export("default",WebSiteFolderEditor=class WebSiteFolderEditor extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Create Website Folder";this.model=WebSiteFolder.create({folder:AppFile.create({name:"",isFolder:true,contentType:"application/site"}),isStatic:true});this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Name"},XNode.create("input",{autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.folder.name))})),XNode.create("div",null,"We recommend using the host name as folder name, e.g. akashkava.com"),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-submit-event":"save-web-site"},"Save"))))}))}saveWebSite(){return __awaiter(this,void 0,void 0,(function*(){yield this.websiteService.save(this.model);return this.model}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteFolderEditor.prototype,"websiteService",void 0);__decorate([Action({onEvent:"save-web-site",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteFolderEditor.prototype,"saveWebSite",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/edit/WebSiteFolderEditor");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../services/websites/WebSiteService","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","../edit/WebSiteFolderEditor"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,AtomRepeater,ContentPage,WebSiteService,Action,PageNavigator,WebSiteFolderEditor,WebSiteListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_editWebSiteFolderEditor){WebSiteFolderEditor=_editWebSiteFolderEditor.default}],execute:function(){_export("default",WebSiteListPage=class WebSiteListPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,{items:yield this.websiteService.list(),itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:item.folder.name}))}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-click-event":"create-new-website"},"Create New Website"))}))}createNewWebsite(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(WebSiteFolderEditor);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteListPage.prototype,"websiteService",void 0);__decorate([Action({onEvent:"create-new-website"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteListPage.prototype,"createNewWebsite",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/list/WebSiteListPage");System.register(["@web-atoms/core/dist/core/Command"],(function(_export,_context){"use strict";var Command,Commands,CommonCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default;Commands=_webAtomsCoreDistCoreCommand.Commands}],execute:function(){_export("default",CommonCommands=class CommonCommands extends Commands{});CommonCommands.openMailbox=Command.create({route:"/mailbox/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/mails/MailboxContacts")});CommonCommands.openChannel=Command.create({route:"/channel/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/channels/detail/ChannelDetailPage")});CommonCommands.openSubscribers=Command.create({route:"/mailbox-subscribers/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/channels/subscribers/ChannelSubscribersPage")});CommonCommands.openDrives=Command.create({route:"/drives",routeOrder:100,openPage:()=>_context.import("../pages/drives/DriveListPage")});CommonCommands.manageWebSite=Command.create({route:"/studio/manage/{id}",routeOrder:100,openPage:()=>_context.import("../pages/websites/manage/ManageWebSitePage")});CommonCommands.editWebSite=Command.create({route:"/studio/edit/{id}",routeOrder:100,openPage:()=>_context.import("../pages/websites/studio/WebSiteStudioPage")});CommonCommands.changePassword=Command.create({route:"/user/change-password",pushPage:()=>_context.import("../pages/user/change-password/ChangePasswordPage")});CommonCommands.setupMultiFactor=Command.create({route:"/user/multi-factor/setup",pushPage:()=>_context.import("../pages/user/multi-factor/MultiFactorSetupPage")});CommonCommands.openWebSiteList=Command.create({route:"/websites",routeOrder:2e3,openPage:()=>_context.import("../pages/websites/list/WebSiteListPage")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/commands/CommonCommands");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Checkbox","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../../services/EntityService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxSyncTarget,XNode,Form,FormField,PasswordFormField,TextFormField,Bind,Checkbox,SaveIconTextButton,Action,EntityService,EditSyncTargetPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){MailboxSyncTarget=_modelModel.MailboxSyncTarget},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField;TextFormField=_controlsFormRequiredFormField.TextFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default}],execute:function(){_export("default",EditSyncTargetPage=class EditSyncTargetPage extends PopupWindowPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=((_a=this.parameters)===null||_a===void 0?void 0:_a.syncTargetID)?this.parameters:MailboxSyncTarget.create(Object.assign(Object.assign({},(_b=this.parameters)!==null&&_b!==void 0?_b:{}),{active:true,port:993,isSecure:true,newPassword:"",intervalSeconds:86400}));this.title="Create Sync Target";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Protocol"},XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:this.model.protocol}),XNode.create("span",{text:this.model.direction}))),XNode.create(TextFormField,{label:"Host",value:()=>this.model.host}),XNode.create(TextFormField,{label:"Port",value:()=>this.model.port}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isSecure)),text:"SSL Enabled"}),XNode.create(TextFormField,{label:"Username",value:()=>this.model.username}),XNode.create(PasswordFormField,{label:"Password",value:()=>this.model.newPassword}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.syncAllFolders)),text:"Sync All Folders (Slow, Not Recommended)"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.syncJunkMails)),text:"Sync Junk/Spam Folder (Slow, Not Recommended)"}),XNode.create(FormField,{label:"Name of All Folder"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.allFolderName))})),XNode.create("p",null,"Leave it empty if your mailbox supports new IMAP extensions for All Folders.",XNode.create("br",null),"If specified, only this folder will be synced."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-form",text:"Save"}))))}))}saveForm(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.syncTargetID){const es=this.resolve(EntityService);yield es.save(es.cloner(this.model).copy)}return this.model}))}});__decorate([Action({onEvent:"save-form",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditSyncTargetPage.prototype,"saveForm",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/settings/EditSyncTargetPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","../../controls/collection-editor/CollectionEditor","./settings/EditSyncTargetPage","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,CollectionEditor,EditSyncTargetPage,MailboxService,InjectProperty,Action,MailboxDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsCollectionEditorCollectionEditor){CollectionEditor=_controlsCollectionEditorCollectionEditor.default},function(_settingsEditSyncTargetPage){EditSyncTargetPage=_settingsEditSyncTargetPage.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",MailboxDetailPage=class MailboxDetailPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.mailboxService.get(this.parameters.mailboxID);this.title=this.model.emailAddress.emailAddress;const username=this.model.emailAddress.emailAddress;const host=`imap.${username.split("@").pop()}`;this.renderer=XNode.create("div",null,XNode.create(CollectionEditor,{label:"Sync Targets",model:this.model,collection:"syncTargets",addPage:EditSyncTargetPage,addItemDefaults:{username,host},itemRenderer:item=>XNode.create("tr",null,XNode.create("td",null,XNode.create("span",{text:item.protocol})),XNode.create("td",null,XNode.create("span",{text:item.username})),XNode.create("td",null,XNode.create("span",{text:item.host})),XNode.create("td",null,item.active?XNode.create("i",{"data-click-event":"pause-sync",class:"fas fa-pause",title:"Pause Sync"}):XNode.create("i",{"data-click-event":"start-sync",class:"fas fa-play",title:"Start Sync"})))}))}))}pauseSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=false;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}startSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=true;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxDetailPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"pause-sync",confirm:"Are you sure you want to pause the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"pauseSync",null);__decorate([Action({onEvent:"start-sync",confirm:"Are you sure you want to start the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"startSync",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxDetailPage");System.register(["tslib","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __rest,XNode,IconClass,Icon;_export({default:void 0,Icon:void 0});return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){_export("default",IconClass=class IconClass{static forMailbox(mb){return mb.isChannel?mb.isPrivateChannel?"fas fa-users-rectangle":"fas fa-users":"fas fa-envelope"}});_export("Icon",Icon=class Icon{static Mailbox(_a){var{mailbox}=_a,a=__rest(_a,["mailbox"]);return XNode.create("i",Object.assign({},a,{class:IconClass.forMailbox(mailbox)}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/icons/Icons");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,HostedDomain,Mailbox,MailboxSyncTarget,DateTime,ExternalMailboxService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){HostedDomain=_modelModel.HostedDomain;Mailbox=_modelModel.Mailbox;MailboxSyncTarget=_modelModel.MailboxSyncTarget},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){ExternalMailboxService=class ExternalMailboxService{createDomain(emailAddress,retry=3){return __awaiter(this,void 0,void 0,(function*(){try{const index=emailAddress.lastIndexOf("@");let domainName=emailAddress;if(index!==-1){domainName=emailAddress.substring(index+1)}domainName=domainName.toLocaleLowerCase();const d=yield this.entityService.query(HostedDomain).where({domainName},(p=>x=>x.domain.name===p.domainName)).firstOrDefault();if(d){return d}const hd=HostedDomain.create({domainNameToCreate:domainName,external:true});return yield this.entityService.save(hd)}catch(error){if(retry--){return yield this.createDomain(emailAddress,retry-1)}throw error}}))}createMailbox(model){return __awaiter(this,void 0,void 0,(function*(){const{emailAddress,displayName:name,username,password,imapHost,imapPort,imapSecure,smtpHost,smtpPort,smtpSecure,smtpUsername,smtpPassword}=model;const hd=yield this.createDomain(emailAddress);const dateCreated=DateTime.now;const[emailUsername]=emailAddress.split("@");const mb=Mailbox.create({domainID:hd.domainID,username:emailUsername,name,dateCreated,dateUpdated:dateCreated,indexAttachments:true,indexImageAttachments:true,syncTargets:[MailboxSyncTarget.create({protocol:"imap",host:imapHost,port:imapPort,isSecure:imapSecure,username,newPassword:password,direction:"in",active:true}),MailboxSyncTarget.create({protocol:"smtp",host:smtpHost,port:smtpPort,isSecure:smtpSecure,username:smtpUsername||username,newPassword:smtpPassword||password,direction:"in",active:true})]});yield this.entityService.save(mb)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ExternalMailboxService.prototype,"entityService",void 0);ExternalMailboxService=__decorate([DITransient()],ExternalMailboxService);_export("default",ExternalMailboxService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/services/ExternalMailboxService");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../controls/buttons/IconButton","@web-atoms/core/dist/core/InjectProperty","../services/ExternalMailboxService","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,Action,Form,FormField,PasswordBox,PopupWindowPage,AddIconButton,InjectProperty,ExternalMailboxService,Checkbox,AddExternalMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_controlsButtonsIconButton){AddIconButton=_controlsButtonsIconButton.AddIconButton},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesExternalMailboxService){ExternalMailboxService=_servicesExternalMailboxService.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",AddExternalMailboxPage=class AddExternalMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.model={emailAddress:"",displayName:"",imapHost:"",imapPort:993,imapSecure:true,smtpHost:"",smtpPort:465,smtpSecure:true,username:"",password:"",smtpUsername:"",smtpPassword:""}}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Add External Mailbox";this.renderer=XNode.create("div",{"style-max-width":"400px"},XNode.create("div",null,"Use this form only if you do not own the domain of the email address. If you plan to migrate domain back to this server, we recommend creating hosted mailbox and add sync account to migrate your emails."),XNode.create("hr",null),XNode.create(Form,null,XNode.create(FormField,{label:"Display/From Name"},XNode.create("input",{autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.displayName))})),XNode.create(FormField,{label:"Email Address"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.emailAddress))})),XNode.create(FormField,{label:"Username"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.username))})),XNode.create(FormField,{label:"Password"},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.password))})),XNode.create(FormField,{label:"IMAP (Server/Host)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.imapHost))})),XNode.create(FormField,{label:"IMAP Port"},XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.imapPort))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.imapSecure)),text:"Secure"}))),XNode.create(FormField,{label:"SMTP (Server/Host)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.smtpHost))})),XNode.create(FormField,{label:"SMTP Port"},XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.smtpPort))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.smtpSecure)),text:"Secure"}))),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create(AddIconButton,{"data-submit-event":"add-new-mailbox",text:"Add Mailbox"}))))}))}onInput(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.imapHost){return}const{emailAddress}=this.model;if(!emailAddress){return}if(emailAddress.indexOf("@")===-1){return}const domain=emailAddress.split("@").pop();if(domain.length<=5){return}this.model.imapHost=`imap.${domain}`;this.model.smtpHost=`smtp.${domain}`;this.model.username=emailAddress}))}addNewMailbox(){return this.externalMailboxService.createMailbox(this.model)}});__decorate([InjectProperty,__metadata("design:type",ExternalMailboxService)],AddExternalMailboxPage.prototype,"externalMailboxService",void 0);__decorate([Action({onEvent:"input",defer:1e3}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddExternalMailboxPage.prototype,"onInput",null);__decorate([Action({onEvent:"add-new-mailbox",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],AddExternalMailboxPage.prototype,"addNewMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/external-mailboxes/AddExternalMailboxPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/repeater/InfiniteRepeater","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","../../../model/model","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./MailboxEditorPage","../../NumberFormats","../../commands/CommonCommands","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@web-atoms/core/dist/style/styled","./MailboxDetailPage","@web-atoms/web-controls/dist/basic/ComboBox","../../icons/Icons","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","./external-mailboxes/AddExternalMailboxPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,AtomRepeater,InfiniteRepeater,MailboxService,InjectProperty,Domain,Action,PageNavigator,MailboxEditorPage,toFileSize,CommonCommands,MasterDetailPage,styled,MailboxDetailPage,ComboBox,Icon,InlinePopupButton,MenuItem,AddExternalMailboxPage,MailboxListPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_modelModel){Domain=_modelModel.Domain},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_MailboxEditorPage){MailboxEditorPage=_MailboxEditorPage.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_commandsCommonCommands){CommonCommands=_commandsCommonCommands.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_MailboxDetailPage){MailboxDetailPage=_MailboxDetailPage.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_iconsIcons){Icon=_iconsIcons.Icon},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_externalMailboxesAddExternalMailboxPage){AddExternalMailboxPage=_externalMailboxesAddExternalMailboxPage.default}],execute:function(){css=styled.css`
3222
+ `.installLocal();getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("default",WebSiteStudioPage=class WebSiteStudioPage extends ContentPage{constructor(){super(...arguments);this.version=1;this.pageContent=""}init(){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){this.search="";this.root=yield this.cloudFileService.root(this.parameters);(_a=(_c=this.root).children)!==null&&_a!==void 0?_a:_c.children=[];this.root.children.remove((x=>x.isDeleted||!(/^(text\/(html|css))$/i.test(x.contentType)||x.isFolder)));this.root.children.sort(((a,b)=>a.isFolder?-1:0));yield this.onItemExpanded(this.root);if(!((_b=this.root.children)===null||_b===void 0?void 0:_b.some((f=>f.name==="index.html")))){yield this.createIndexHtml();return}const indexHtml=this.root.children.find((x=>x.name==="index.html"));this.selectedFile=indexHtml;this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:Bind.oneWay((()=>this.selectedFile.name))}),XNode.create(PopupButton,{icon:"fas fa-upload",label:"Upload","data-layout":"accent-icon-button",alignment:"bottomLeft",popup:()=>XNode.create("div",null,XNode.create(MenuItem,Object.assign({icon:"fas fa-upload","data-extra":Bind.oneWay((()=>JSON.stringify({parentID:this.selectedFile.appFileID})))},UploadEvent.AttachUploadAction({multiple:true,accept:"*/*"}),{label:"Files"})),XNode.create(MenuItem,Object.assign({icon:"fas fa-upload","data-extra":Bind.oneWay((()=>JSON.stringify({parentID:this.selectedFile.appFileID})))},UploadEvent.AttachUploadAction({multiple:true,folder:true,accept:"*/*"}),{label:"Folder"})))}),XNode.create("span",{text:"|"}),XNode.create("i",{"data-click-event":"new-folder",class:"fas fa-plus"}),XNode.create("span",{"data-click-event":"new-folder",text:"Folder"}),XNode.create("span",{text:"|"}),this.parameters.templates&&XNode.create("div",{"data-layout":"row","style-display":Bind.oneWay((()=>this.selectedFile.appFileID>0))},XNode.create("i",{class:"fas fa-plus","data-click-event":"new-template"}),XNode.create("span",{"data-click-event":"new-template",text:"New Template"})));this.renderer=XNode.create("div",{class:css},XNode.create(FileTreeView,{root:this.root,class:"folder-tree",accept:"text/html",presenter:Bind.presenter((c=>this.folderTree=c)),selectedItem:Bind.twoWaysImmediate((()=>this.selectedFile)),menuActions:x=>!x.isFolder?/\.(htm|html)$/i.test(x.name)?[XNode.create(MenuItem,{icon:"fas fa-copy","data-click-event":"duplicate-html",label:"Duplicate Page"})]:[]:void 0,"event-selected-item-changing":ce=>{if(this.pageContent){if(confirm("Page is modified but not saved, your changes will be lost")){return}ce.preventDefault()}}}),XNode.create(WebSitePageEditor,{class:"file-list",folder:this.root,presenter:Bind.presenter((c=>this.htmlEditor=c)),"event-html-page-changed":ce=>this.pageContent=ce.detail,htmlPage:Bind.oneWayAsync(((s,e,cancelToken)=>this.selectedFile?FetchBuilder.get(this.selectedFile.downloadUrl).cancelToken(cancelToken).responseAsText(true):void 0))}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>!!this.pageContent))},XNode.create("button",{"data-click-event":"save-page",text:"Save"}))}))}createIndexHtml(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ChooseWebSiteTemplatePage,this.root);yield this.init()}))}editShares(file){PageNavigator.pushPage(EditSharesPage,file)}editCode(){return __awaiter(this,void 0,void 0,(function*(){const file=yield PageNavigator.pushPageForResult(CodeEditorPage,this.selectedFile);this.htmlEditor.htmlPage=yield FetchBuilder.get(file.url).responseAsText()}))}openFolder(file){this.selectedFile=file}onItemExpanded(folder){return __awaiter(this,void 0,void 0,(function*(){yield this.cloudFileService.files({search:"",accept:"text/html",folder,cancelToken:null})}))}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}newTemplate(){return __awaiter(this,void 0,void 0,(function*(){const parentID=this.selectedFile.appFileID;const file=yield PageNavigator.pushPageForResult(EditTemplatePage,{file:AppFile.create({parentID})});this.selectedFile.children.add(file)}))}openTemplate(file){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(EditTemplatePage,{file})}))}savePage(){return __awaiter(this,void 0,void 0,(function*(){const content=new File([this.pageContent],this.selectedFile.name,{type:this.selectedFile.contentType});const result=yield this.cloudFileService.saveFile({appFileID:this.selectedFile.appFileID,content});this.selectedFile.url=result.url;this.selectedFile.fileContentID=result.fileContentID;this.selectedFile.downloadUrl=result.downloadUrl;this.pageContent=""}))}duplicateHtml(file){return __awaiter(this,void 0,void 0,(function*(){let{name}=file;name=name.replace(/(\.[^\.]+)$/,(ext=>" Copy"+ext));file=yield this.cloudFileService.save(Object.assign(Object.assign({},file),{appFileID:void 0,children:void 0,parent:void 0,name}));this.root.children.add(file);this.selectedFile=file}))}hide(){this.pageContent=this.htmlEditor.htmlPage;super.hide()}show(){super.show();if(this.pageContent){setTimeout((()=>this.htmlEditor.htmlPage=this.pageContent),400)}}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],WebSiteStudioPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"edit-shares"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"editShares",null);__decorate([Action({onEvent:"edit-code"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"editCode",null);__decorate([Action({onEvent:"open-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"openFolder",null);__decorate([Action({onEvent:"item-expanded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"onItemExpanded",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"onFilesUploaded",null);__decorate([Action({onEvent:"new-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"newTemplate",null);__decorate([Action({onEvent:"open-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"openTemplate",null);__decorate([Action({onEvent:"save-page"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"savePage",null);__decorate([Action({onEvent:"duplicate-html"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"duplicateHtml",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/studio/WebSiteStudioPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,User,UserAuthFactor,SocialMailApp,UserService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){User=_modelModel.User;UserAuthFactor=_modelModel.UserAuthFactor},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){UserService=class UserService{getCurrent(){return __awaiter(this,void 0,void 0,(function*(){const{userID}=SocialMailApp.user;return this.entityService.query(User).where({userID},(p=>x=>x.userID===p.userID)).include((x=>x.authFactors)).firstOrDefault()}))}save(user){return __awaiter(this,void 0,void 0,(function*(){let cloner=this.entityService.cloner(user).include((x=>x.authFactors));if(user.changePassword){cloner=cloner.include((x=>x.changePassword))}yield this.entityService.save(cloner.copy)}))}createAuthFactor(user,method="totp"){var _a;return __awaiter(this,void 0,void 0,(function*(){const authFactor=UserAuthFactor.create({method});((_a=user.authFactors)!==null&&_a!==void 0?_a:user.authFactors=[]).add(authFactor);yield this.save(user);return authFactor}))}};__decorate([Inject,__metadata("design:type",EntityService)],UserService.prototype,"entityService",void 0);UserService=__decorate([DITransient()],UserService);_export("default",UserService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/services/UserService");System.register([],(function(_export,_context){"use strict";var Validators;return{setters:[],execute:function(){_export("Validators",Validators={checkPassword:password=>{const hasMinimumLength=password.length>=7;const hasNumber=/\d/.test(password);const hasSymbol=/[\@\#\$\%\^\&\*\!]/.test(password);return{hasMinimumLength,hasNumber,hasSymbol,isValid:hasMinimumLength&&hasNumber&&hasSymbol}},isValidPassword:password=>Validators.checkPassword(password).isValid})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/validators/Validators");System.register(["@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","../../validators/Validators"],(function(_export,_context){"use strict";var Bind,XNode,AtomControl,Validators,PasswordStrength;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_validatorsValidators){Validators=_validatorsValidators.Validators}],execute:function(){_export("default",PasswordStrength=class PasswordStrength extends AtomControl{constructor(){super(...arguments);this.password="";this.validation={hasMinimumLength:false,hasNumber:false,hasSymbol:false,isValid:false}}preCreate(){this.render(XNode.create("div",{"data-layout":"vertical-flex",validation:Bind.oneWay((()=>Validators.checkPassword(this.password)))},XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasMinimumLength?"green":"red")),class:Bind.oneWay((()=>this.validation.hasMinimumLength?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password is at least 7 characters long."})),XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasNumber?"green":"red")),class:Bind.oneWay((()=>this.validation.hasNumber?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password has a number."})),XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasSymbol?"green":"red")),class:Bind.oneWay((()=>this.validation.hasSymbol?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password has a symbol."}))))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","../../../controls/password/PasswordStrength","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","../../../validators/Validators","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,UserService,XNode,Form,PasswordFormField,Bind,PasswordStrength,FormField,PasswordBox,Validators,SaveIconTextButton,Action,ChangePasswordPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsPasswordPasswordStrength){PasswordStrength=_controlsPasswordPasswordStrength.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_validatorsValidators){Validators=_validatorsValidators.Validators},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",ChangePasswordPage=class ChangePasswordPage extends PopupWindowPage{constructor(){super(...arguments);this.password=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();this.title="Change Password";this.model.changePassword={oldPassword:"",newPassword:"",forceChangePasswordOnLogin:false};this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(PasswordFormField,{label:"Current Password",value:()=>this.model.changePassword.oldPassword}),XNode.create(FormField,{label:"Password",required:true,error:Bind.oneWay((()=>Validators.isValidPassword(this.password)?"":"Password is invalid"))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.password))})),XNode.create(PasswordStrength,{password:Bind.oneWay((()=>this.password))}),XNode.create(FormField,{label:"Password again",required:true,error:Bind.oneWay((()=>this.password!==this.model.changePassword.newPassword?"Passwords do not match":""))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.changePassword.newPassword))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-user",text:"Change"}))))}))}saveUser(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],ChangePasswordPage.prototype,"userService",void 0);__decorate([Action({onEvent:"save-user",success:"Password changed successfully.",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChangePasswordPage.prototype,"saveUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/buttons/IconButton","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,UserAuthFactor,InjectProperty,UserService,XNode,Form,AddIconTextButton,DeleteIconTextButton,SaveIconTextButton,FormField,Bind,Action,AtomRepeater,DateFormats,MultiFactorSetupPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton;DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats}],execute:function(){_export("default",MultiFactorSetupPage=class MultiFactorSetupPage extends ContentPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();const{multiFactor}=this.model;this.title="Setup Multi Factor Authentication";if(!((_a=this.model.authFactors)===null||_a===void 0?void 0:_a.length)){yield this.notSetup();return}if(multiFactor){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),XNode.create("div",{"data-layout":"command-row"},XNode.create("div",null,"Multi factor authentication is enabled."),XNode.create(DeleteIconTextButton,{text:"Disable"}))));return}const disable=!((_b=this.model.authFactors)===null||_b===void 0?void 0:_b.length)||!this.model.authFactors.some((i=>i.method==="totp"&&i.verified))||this.model.authFactors.filter((i=>i.method==="one-time")).length<8;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),disable&&XNode.create("div",null,"You must add at least one authenticator and generate 8 OTPs (one time passwords) to enable Multi factor authentication."),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{disabled:disable,"style-color":disable?"gray":"","data-click-event":"enable-multi-factor",text:"Enable"}),XNode.create(DeleteIconTextButton,{"data-submit-event":"clear-all",text:"Clear All"})),multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(DeleteIconTextButton,{text:"Disable"}))))}))}renderAuthFactor(item){if(item.method==="totp"){return XNode.create("tr",null,XNode.create("td",null,"Authenticator"),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}if(item.method==="one-time"){return XNode.create("tr",null,XNode.create("td",null,"OTP"),XNode.create("td",null,item.hint,"*****************"),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}return XNode.create("tr",null,XNode.create("td",null,item.method),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}notSetup(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create("p",null,"You account is not secure, please setup multi factor authentication."),XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}))}))}addAuthenticator(){return __awaiter(this,void 0,void 0,(function*(){const authFactor=yield this.userService.createAuthFactor(this.model);this.authFactor=authFactor;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:""},XNode.create("div",null,"Scan following QR Code in any compatible Authenticator App. Enter the generated code and hit the verify button.")),XNode.create(FormField,{label:"Secret"},XNode.create("img",{src:authFactor.qrCodeDataUrl})),XNode.create(FormField,{label:"Code",required:true,error:Bind.oneWay((()=>this.authFactor.token?"":"Code is required"))},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.authFactor.token))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-auth-factor",text:"Verify"}))))}))}generateOTP(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const authList=(_a=(_b=this.model).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[];for(let index=0;index<8;index++){authList.push(UserAuthFactor.create({method:"one-time"}))}yield this.userService.save(this.model);let text="";for(const iterator of authList){if(!(iterator===null||iterator===void 0?void 0:iterator.displaySecret)){continue}text+="\r\n"+iterator.displaySecret}text+="\r\n";this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"One Time Passwords"},XNode.create("div",null,"Please copy and save these passwords somewhere safe. You can use them if you cannot access Authenticator app.")),XNode.create(FormField,{label:""},XNode.create("textarea",{rows:12,value:text})),XNode.create("div",null,"After copying, click go to previous screen."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.init(),text:"Go"}))))}))}clearAll(){return __awaiter(this,void 0,void 0,(function*(){const all=this.model.authFactors;if(!(all===null||all===void 0?void 0:all.length)){return}for(const iterator of all){iterator.$deleted=true}yield this.userService.save(this.model);yield this.init()}))}enableMultiFactor(){return __awaiter(this,void 0,void 0,(function*(){this.model.multiFactor=true;yield this.userService.save(this.model);yield this.init()}))}saveAuthFactor(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],MultiFactorSetupPage.prototype,"userService",void 0);__decorate([Action({onEvent:"clear-all",confirm:"Are you sure you want to delete all existing methods?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"clearAll",null);__decorate([Action({onEvent:"enable-multi-factor",success:"Multi factor authentication enabled successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"enableMultiFactor",null);__decorate([Action({onEvent:"save-auth-factor",success:"Authenticator setup successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"saveAuthFactor",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/websites/WebSiteService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Form,FormField,PopupWindowPage,AppFile,WebSiteFolder,Bind,Action,InjectProperty,WebSiteService,WebSiteFolderEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFile=_modelModel.AppFile;WebSiteFolder=_modelModel.WebSiteFolder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default}],execute:function(){_export("default",WebSiteFolderEditor=class WebSiteFolderEditor extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Create Website Folder";this.model=WebSiteFolder.create({folder:AppFile.create({name:"",isFolder:true,contentType:"application/site"}),isStatic:true});this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Name"},XNode.create("input",{autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.folder.name))})),XNode.create("div",null,"We recommend using the host name as folder name, e.g. akashkava.com"),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-submit-event":"save-web-site"},"Save"))))}))}saveWebSite(){return __awaiter(this,void 0,void 0,(function*(){yield this.websiteService.save(this.model);return this.model}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteFolderEditor.prototype,"websiteService",void 0);__decorate([Action({onEvent:"save-web-site",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteFolderEditor.prototype,"saveWebSite",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/edit/WebSiteFolderEditor");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../services/websites/WebSiteService","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","../edit/WebSiteFolderEditor"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,AtomRepeater,ContentPage,WebSiteService,Action,PageNavigator,WebSiteFolderEditor,WebSiteListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_editWebSiteFolderEditor){WebSiteFolderEditor=_editWebSiteFolderEditor.default}],execute:function(){_export("default",WebSiteListPage=class WebSiteListPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,{items:yield this.websiteService.list(),itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:item.folder.name}))}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-click-event":"create-new-website"},"Create New Website"))}))}createNewWebsite(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(WebSiteFolderEditor);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteListPage.prototype,"websiteService",void 0);__decorate([Action({onEvent:"create-new-website"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteListPage.prototype,"createNewWebsite",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/list/WebSiteListPage");System.register(["@web-atoms/core/dist/core/Command"],(function(_export,_context){"use strict";var Command,Commands,CommonCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default;Commands=_webAtomsCoreDistCoreCommand.Commands}],execute:function(){_export("default",CommonCommands=class CommonCommands extends Commands{});CommonCommands.openMailbox=Command.create({route:"/mailbox/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/mails/MailboxContacts")});CommonCommands.openChannel=Command.create({route:"/channel/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/channels/detail/ChannelDetailPage")});CommonCommands.openSubscribers=Command.create({route:"/mailbox-subscribers/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/channels/subscribers/ChannelSubscribersPage")});CommonCommands.openDrives=Command.create({route:"/drives",routeOrder:100,openPage:()=>_context.import("../pages/drives/DriveListPage")});CommonCommands.manageWebSite=Command.create({route:"/studio/manage/{id}",routeOrder:100,openPage:()=>_context.import("../pages/websites/manage/ManageWebSitePage")});CommonCommands.editWebSite=Command.create({route:"/studio/edit/{id}",routeOrder:100,openPage:()=>_context.import("../pages/websites/studio/WebSiteStudioPage")});CommonCommands.changePassword=Command.create({route:"/user/change-password",pushPage:()=>_context.import("../pages/user/change-password/ChangePasswordPage")});CommonCommands.setupMultiFactor=Command.create({route:"/user/multi-factor/setup",pushPage:()=>_context.import("../pages/user/multi-factor/MultiFactorSetupPage")});CommonCommands.openWebSiteList=Command.create({route:"/websites",routeOrder:2e3,openPage:()=>_context.import("../pages/websites/list/WebSiteListPage")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/commands/CommonCommands");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Checkbox","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../../services/EntityService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxSyncTarget,XNode,Form,FormField,PasswordFormField,TextFormField,Bind,Checkbox,SaveIconTextButton,Action,EntityService,EditSyncTargetPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){MailboxSyncTarget=_modelModel.MailboxSyncTarget},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField;TextFormField=_controlsFormRequiredFormField.TextFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default}],execute:function(){_export("default",EditSyncTargetPage=class EditSyncTargetPage extends PopupWindowPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=((_a=this.parameters)===null||_a===void 0?void 0:_a.syncTargetID)?this.parameters:MailboxSyncTarget.create(Object.assign(Object.assign({},(_b=this.parameters)!==null&&_b!==void 0?_b:{}),{active:true,port:993,isSecure:true,newPassword:"",intervalSeconds:86400}));this.title="Create Sync Target";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Protocol"},XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:this.model.protocol}),XNode.create("span",{text:this.model.direction}))),XNode.create(TextFormField,{label:"Host",value:()=>this.model.host}),XNode.create(TextFormField,{label:"Port",value:()=>this.model.port}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isSecure)),text:"SSL Enabled"}),XNode.create(TextFormField,{label:"Username",value:()=>this.model.username}),XNode.create(PasswordFormField,{label:"Password",value:()=>this.model.newPassword}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.syncAllFolders)),text:"Sync All Folders (Slow, Not Recommended)"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.syncJunkMails)),text:"Sync Junk/Spam Folder (Slow, Not Recommended)"}),XNode.create(FormField,{label:"Name of All Folder"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.allFolderName))})),XNode.create("p",null,"Leave it empty if your mailbox supports new IMAP extensions for All Folders.",XNode.create("br",null),"If specified, only this folder will be synced."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-form",text:"Save"}))))}))}saveForm(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.syncTargetID){const es=this.resolve(EntityService);yield es.save(es.cloner(this.model).copy)}return this.model}))}});__decorate([Action({onEvent:"save-form",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditSyncTargetPage.prototype,"saveForm",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/settings/EditSyncTargetPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","../../controls/collection-editor/CollectionEditor","./settings/EditSyncTargetPage","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,CollectionEditor,EditSyncTargetPage,MailboxService,InjectProperty,Action,MailboxDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsCollectionEditorCollectionEditor){CollectionEditor=_controlsCollectionEditorCollectionEditor.default},function(_settingsEditSyncTargetPage){EditSyncTargetPage=_settingsEditSyncTargetPage.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",MailboxDetailPage=class MailboxDetailPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.mailboxService.get(this.parameters.mailboxID);this.title=this.model.emailAddress.emailAddress;const username=this.model.emailAddress.emailAddress;const host=`imap.${username.split("@").pop()}`;this.renderer=XNode.create("div",null,XNode.create(CollectionEditor,{label:"Sync Targets",model:this.model,collection:"syncTargets",addPage:EditSyncTargetPage,addItemDefaults:{username,host},itemRenderer:item=>XNode.create("tr",null,XNode.create("td",null,XNode.create("span",{text:item.protocol})),XNode.create("td",null,XNode.create("span",{text:item.username})),XNode.create("td",null,XNode.create("span",{text:item.host})),XNode.create("td",null,item.active?XNode.create("i",{"data-click-event":"pause-sync",class:"fas fa-pause",title:"Pause Sync"}):XNode.create("i",{"data-click-event":"start-sync",class:"fas fa-play",title:"Start Sync"})))}))}))}pauseSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=false;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}startSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=true;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxDetailPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"pause-sync",confirm:"Are you sure you want to pause the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"pauseSync",null);__decorate([Action({onEvent:"start-sync",confirm:"Are you sure you want to start the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"startSync",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxDetailPage");System.register(["tslib","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __rest,XNode,IconClass,Icon;_export({default:void 0,Icon:void 0});return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){_export("default",IconClass=class IconClass{static forMailbox(mb){return mb.isChannel?mb.isPrivateChannel?"fas fa-users-rectangle":"fas fa-users":"fas fa-envelope"}});_export("Icon",Icon=class Icon{static Mailbox(_a){var{mailbox}=_a,a=__rest(_a,["mailbox"]);return XNode.create("i",Object.assign({},a,{class:IconClass.forMailbox(mailbox)}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/icons/Icons");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,HostedDomain,Mailbox,MailboxSyncTarget,DateTime,ExternalMailboxService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){HostedDomain=_modelModel.HostedDomain;Mailbox=_modelModel.Mailbox;MailboxSyncTarget=_modelModel.MailboxSyncTarget},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){ExternalMailboxService=class ExternalMailboxService{createDomain(emailAddress,retry=3){return __awaiter(this,void 0,void 0,(function*(){try{const index=emailAddress.lastIndexOf("@");let domainName=emailAddress;if(index!==-1){domainName=emailAddress.substring(index+1)}domainName=domainName.toLocaleLowerCase();const d=yield this.entityService.query(HostedDomain).where({domainName},(p=>x=>x.domain.name===p.domainName)).firstOrDefault();if(d){return d}const hd=HostedDomain.create({domainNameToCreate:domainName,external:true});return yield this.entityService.save(hd)}catch(error){if(retry--){return yield this.createDomain(emailAddress,retry-1)}throw error}}))}createMailbox(model){return __awaiter(this,void 0,void 0,(function*(){const{emailAddress,displayName:name,username,password,imapHost,imapPort,imapSecure,smtpHost,smtpPort,smtpSecure,smtpUsername,smtpPassword}=model;const hd=yield this.createDomain(emailAddress);const dateCreated=DateTime.now;const[emailUsername]=emailAddress.split("@");const mb=Mailbox.create({domainID:hd.domainID,username:emailUsername,name,dateCreated,dateUpdated:dateCreated,indexAttachments:true,indexImageAttachments:true,syncTargets:[MailboxSyncTarget.create({protocol:"imap",host:imapHost,port:imapPort,isSecure:imapSecure,username,newPassword:password,direction:"in",active:true}),MailboxSyncTarget.create({protocol:"smtp",host:smtpHost,port:smtpPort,isSecure:smtpSecure,username:smtpUsername||username,newPassword:smtpPassword||password,direction:"in",active:true})]});yield this.entityService.save(mb)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ExternalMailboxService.prototype,"entityService",void 0);ExternalMailboxService=__decorate([DITransient()],ExternalMailboxService);_export("default",ExternalMailboxService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/services/ExternalMailboxService");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../controls/buttons/IconButton","@web-atoms/core/dist/core/InjectProperty","../services/ExternalMailboxService","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,Action,Form,FormField,PasswordBox,PopupWindowPage,AddIconButton,InjectProperty,ExternalMailboxService,Checkbox,AddExternalMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_controlsButtonsIconButton){AddIconButton=_controlsButtonsIconButton.AddIconButton},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesExternalMailboxService){ExternalMailboxService=_servicesExternalMailboxService.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",AddExternalMailboxPage=class AddExternalMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.model={emailAddress:"",displayName:"",imapHost:"",imapPort:993,imapSecure:true,smtpHost:"",smtpPort:465,smtpSecure:true,username:"",password:"",smtpUsername:"",smtpPassword:""}}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Add External Mailbox";this.renderer=XNode.create("div",{"style-max-width":"400px"},XNode.create("div",null,"Use this form only if you do not own the domain of the email address. If you plan to migrate domain back to this server, we recommend creating hosted mailbox and add sync account to migrate your emails."),XNode.create("hr",null),XNode.create(Form,null,XNode.create(FormField,{label:"Display/From Name"},XNode.create("input",{autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.displayName))})),XNode.create(FormField,{label:"Email Address"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.emailAddress))})),XNode.create(FormField,{label:"Username"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.username))})),XNode.create(FormField,{label:"Password"},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.password))})),XNode.create(FormField,{label:"IMAP (Server/Host)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.imapHost))})),XNode.create(FormField,{label:"IMAP Port"},XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.imapPort))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.imapSecure)),text:"Secure"}))),XNode.create(FormField,{label:"SMTP (Server/Host)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.smtpHost))})),XNode.create(FormField,{label:"SMTP Port"},XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.smtpPort))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.smtpSecure)),text:"Secure"}))),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create(AddIconButton,{"data-submit-event":"add-new-mailbox",text:"Add Mailbox"}))))}))}onInput(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.imapHost){return}const{emailAddress}=this.model;if(!emailAddress){return}if(emailAddress.indexOf("@")===-1){return}const domain=emailAddress.split("@").pop();if(domain.length<=5){return}this.model.imapHost=`imap.${domain}`;this.model.smtpHost=`smtp.${domain}`;this.model.username=emailAddress}))}addNewMailbox(){return this.externalMailboxService.createMailbox(this.model)}});__decorate([InjectProperty,__metadata("design:type",ExternalMailboxService)],AddExternalMailboxPage.prototype,"externalMailboxService",void 0);__decorate([Action({onEvent:"input",defer:1e3}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddExternalMailboxPage.prototype,"onInput",null);__decorate([Action({onEvent:"add-new-mailbox",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],AddExternalMailboxPage.prototype,"addNewMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/external-mailboxes/AddExternalMailboxPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/repeater/InfiniteRepeater","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","../../../model/model","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./MailboxEditorPage","../../NumberFormats","../../commands/CommonCommands","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@web-atoms/core/dist/style/styled","./MailboxDetailPage","@web-atoms/web-controls/dist/basic/ComboBox","../../icons/Icons","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","./external-mailboxes/AddExternalMailboxPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,AtomRepeater,InfiniteRepeater,MailboxService,InjectProperty,Domain,Action,PageNavigator,MailboxEditorPage,toFileSize,CommonCommands,MasterDetailPage,styled,MailboxDetailPage,ComboBox,Icon,InlinePopupButton,MenuItem,AddExternalMailboxPage,MailboxListPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_modelModel){Domain=_modelModel.Domain},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_MailboxEditorPage){MailboxEditorPage=_MailboxEditorPage.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_commandsCommonCommands){CommonCommands=_commandsCommonCommands.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_MailboxDetailPage){MailboxDetailPage=_MailboxDetailPage.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_iconsIcons){Icon=_iconsIcons.Icon},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_externalMailboxesAddExternalMailboxPage){AddExternalMailboxPage=_externalMailboxesAddExternalMailboxPage.default}],execute:function(){css=styled.css`
3217
3223
  &[data-page-type=master-detail] > [data-page-element=content][data-mode=desktop] {
3218
3224
  grid-template-columns: 150px 1fr auto;
3219
3225
  }