@social-mail/social-mail-client 1.0.64 → 1.0.66

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 (83) hide show
  1. package/dist/admin/AdminAppIndex.js +7 -7
  2. package/dist/admin/AdminAppIndex.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.js +782 -47
  4. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  5. package/dist/admin/AdminAppIndex.pack.min.js +57 -12
  6. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  7. package/dist/admin/pages/domains/services/AdminDomainService.js +7 -1
  8. package/dist/admin/pages/domains/services/AdminDomainService.js.map +1 -1
  9. package/dist/common/Sql.js.map +1 -1
  10. package/dist/common/commands/CommonCommands.js +9 -1
  11. package/dist/common/commands/CommonCommands.js.map +1 -1
  12. package/dist/common/controls/tree/TreeView.js +5 -1
  13. package/dist/common/controls/tree/TreeView.js.map +1 -1
  14. package/dist/common/pages/folders/ChooseTemplatePage.js +117 -0
  15. package/dist/common/pages/folders/ChooseTemplatePage.js.map +1 -0
  16. package/dist/common/pages/mailboxes/settings/EditSyncTargetPage.js +1 -0
  17. package/dist/common/pages/mailboxes/settings/EditSyncTargetPage.js.map +1 -1
  18. package/dist/common/pages/user/change-password/ChangePasswordPage.js +92 -0
  19. package/dist/common/pages/user/change-password/ChangePasswordPage.js.map +1 -0
  20. package/dist/common/pages/user/{LoginPage.js → login/LoginPage.js} +51 -12
  21. package/dist/common/pages/user/login/LoginPage.js.map +1 -0
  22. package/dist/common/pages/user/multi-factor/MultiFactorSetupPage.js +241 -0
  23. package/dist/common/pages/user/multi-factor/MultiFactorSetupPage.js.map +1 -0
  24. package/dist/common/pages/user/services/UserService.js +61 -0
  25. package/dist/common/pages/user/services/UserService.js.map +1 -0
  26. package/dist/model/model.js +5 -2
  27. package/dist/model/model.js.map +1 -1
  28. package/dist/services/{UserService.js → LoginService.js} +9 -6
  29. package/dist/services/LoginService.js.map +1 -0
  30. package/dist/services/files/LocalFileService.js +3 -1
  31. package/dist/services/files/LocalFileService.js.map +1 -1
  32. package/dist/tsconfig.tsbuildinfo +1 -1
  33. package/dist/web/AppIndex.js +16 -9
  34. package/dist/web/AppIndex.js.map +1 -1
  35. package/dist/web/AppIndex.pack.js +4641 -3892
  36. package/dist/web/AppIndex.pack.js.map +1 -1
  37. package/dist/web/AppIndex.pack.min.js +126 -81
  38. package/dist/web/AppIndex.pack.min.js.map +1 -1
  39. package/dist/web/commands/AppCommands.js +1 -1
  40. package/dist/web/commands/AppCommands.js.map +1 -1
  41. package/dist/web/drawer/AppDrawer.js +16 -3
  42. package/dist/web/drawer/AppDrawer.js.map +1 -1
  43. package/dist/web/page/files/service/CloudFileService.js +10 -0
  44. package/dist/web/page/files/service/CloudFileService.js.map +1 -1
  45. package/dist/web/page/mails/{MailsPage.js → MailboxContacts.js} +36 -9
  46. package/dist/web/page/mails/MailboxContacts.js.map +1 -0
  47. package/dist/web/page/mails/service/MailService.js +2 -2
  48. package/dist/web/page/mails/service/MailService.js.map +1 -1
  49. package/node_modules/@web-atoms/web-controls/dist/basic/FilesDragDrop.d.ts +15 -0
  50. package/node_modules/@web-atoms/web-controls/dist/basic/FilesDragDrop.d.ts.map +1 -0
  51. package/node_modules/@web-atoms/web-controls/dist/basic/FilesDragDrop.js +150 -0
  52. package/node_modules/@web-atoms/web-controls/dist/basic/FilesDragDrop.js.map +1 -0
  53. package/node_modules/@web-atoms/web-controls/dist/basic/InlinePopup.d.ts.map +1 -1
  54. package/node_modules/@web-atoms/web-controls/dist/basic/InlinePopup.js +5 -0
  55. package/node_modules/@web-atoms/web-controls/dist/basic/InlinePopup.js.map +1 -1
  56. package/node_modules/@web-atoms/web-controls/dist/tsconfig.tsbuildinfo +1 -1
  57. package/node_modules/@web-atoms/web-controls/package.json +1 -1
  58. package/node_modules/@web-atoms/web-controls/src/basic/FilesDragDrop.ts +112 -0
  59. package/node_modules/@web-atoms/web-controls/src/basic/InlinePopup.tsx +7 -0
  60. package/package.json +2 -2
  61. package/src/admin/AdminAppIndex.tsx +3 -3
  62. package/src/admin/pages/domains/services/AdminDomainService.ts +5 -1
  63. package/src/common/Sql.ts +1 -0
  64. package/src/common/commands/CommonCommands.ts +11 -1
  65. package/src/common/controls/tree/TreeView.tsx +7 -1
  66. package/src/common/pages/folders/ChooseTemplatePage.tsx +94 -0
  67. package/src/common/pages/mailboxes/settings/EditSyncTargetPage.tsx +1 -0
  68. package/src/common/pages/user/change-password/ChangePasswordPage.tsx +80 -0
  69. package/src/common/pages/user/{LoginPage.tsx → login/LoginPage.tsx} +54 -12
  70. package/src/common/pages/user/multi-factor/MultiFactorSetupPage.tsx +248 -0
  71. package/src/common/pages/user/services/UserService.ts +41 -0
  72. package/src/model/model.ts +9 -5
  73. package/src/services/{UserService.ts → LoginService.ts} +4 -1
  74. package/src/services/files/LocalFileService.tsx +3 -1
  75. package/src/web/AppIndex.tsx +10 -5
  76. package/src/web/commands/AppCommands.ts +1 -1
  77. package/src/web/drawer/AppDrawer.tsx +17 -2
  78. package/src/web/page/files/service/CloudFileService.ts +15 -0
  79. package/src/web/page/mails/{MailsPage.tsx → MailboxContacts.tsx} +24 -2
  80. package/src/web/page/mails/service/MailService.ts +2 -2
  81. package/dist/common/pages/user/LoginPage.js.map +0 -1
  82. package/dist/services/UserService.js.map +0 -1
  83. package/dist/web/page/mails/MailsPage.js.map +0 -1
@@ -1865,7 +1865,7 @@ const UMD = new UMDClass();
1865
1865
 
1866
1866
  AmdLoader.instance.register(
1867
1867
  ["@social-mail/social-mail-client","@web-atoms/core","@web-atoms/web-controls","reflect-metadata","@web-atoms/date-time","@web-atoms/data-styles","@web-atoms/entity","@web-atoms/email-dom"],
1868
- ["@social-mail/social-mail-client/dist/admin/AdminAppIndex","@web-atoms/core/dist/Pack","@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/AtomLoader","@web-atoms/core/dist/services/JsonService","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/di/RegisterSingleton","@web-atoms/core/dist/di/Register","@web-atoms/core/dist/core/types","reflect-metadata","@web-atoms/core/dist/core/AtomMap","@web-atoms/core/dist/di/ServiceCollection","@web-atoms/core/dist/di/TypeKey","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan","@web-atoms/core/dist/services/ReferenceService","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/core/AtomUri","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/EventScope","@web-atoms/core/dist/core/Route","@web-atoms/core/dist/core/InheritedProperty","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/ExpressionParser","@web-atoms/core/dist/services/NavigationService","@web-atoms/core/dist/core/AtomComponent","@web-atoms/core/dist/App","@web-atoms/core/dist/core/AtomDispatcher","@web-atoms/core/dist/di/ServiceProvider","@web-atoms/core/dist/core/TransientDisposable","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/services/BusyIndicatorService","@web-atoms/core/dist/core/AtomBridge","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@web-atoms/core/dist/core/PropertyMap","@web-atoms/core/dist/core/FormattedString","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/WebImage","@web-atoms/core/dist/web/styles/AtomStyle","@web-atoms/core/dist/web/styles/AtomStyleSheet","@web-atoms/core/dist/web/services/PopupService","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/desktop-app/DesktopApp","@social-mail/social-mail-client/dist/style/GlobalStyle","@web-atoms/core/dist/core/AtomList","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@web-atoms/data-styles/data-styles","@social-mail/social-mail-client/dist/services/UserService","@social-mail/social-mail-client/dist/services/EntityService","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/entity/dist/models/Cloner","@web-atoms/entity/dist/models/cloneSource","@web-atoms/entity/dist/models/IEntityModel","@web-atoms/entity/dist/services/HttpSession","@web-atoms/core/dist/services/http/JsonError","@web-atoms/entity/dist/models/TaskManager","@web-atoms/entity/dist/models/Queue","@web-atoms/entity/dist/services/mergeProperties","@web-atoms/entity/dist/services/Query","@web-atoms/entity/dist/services/StringHelper","@web-atoms/entity/dist/services/resolve","@social-mail/social-mail-client/dist/services/BusyProgress","@social-mail/social-mail-client/dist/model/model","@social-mail/social-mail-client/dist/common/SocialMailApp","@web-atoms/core/dist/core/InjectProperty","@social-mail/social-mail-client/dist/admin/commands/AdminCommands","@social-mail/social-mail-client/dist/admin/pages/home/AdminHome","@social-mail/social-mail-client/dist/admin/pages/domains/DomainListPage","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/core/WatchProperty","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/styles/inline-popup-style","@web-atoms/web-controls/dist/basic/MergeNode","@web-atoms/web-controls/dist/basic/ItemPath","@web-atoms/web-controls/dist/basic/styles/ui-display-none-style","@web-atoms/web-controls/dist/basic/styles/popup-style","@web-atoms/web-controls/dist/basic/styles/suggestion-popup","@web-atoms/web-controls/dist/basic/styles/repeater-style","@social-mail/social-mail-client/dist/admin/pages/domains/services/AdminDomainService","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/view-model/Action","@social-mail/social-mail-client/dist/admin/pages/domains/edit/EditDomainPage","@web-atoms/web-controls/dist/basic/Form","@social-mail/social-mail-client/dist/common/controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/styles/form-field-style","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/web-controls/dist/basic/styles/password-box-style","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/styles/checkbox-style","@web-atoms/web-controls/dist/basic/Expander","@web-atoms/web-controls/dist/basic/styles/expander-style","@social-mail/social-mail-client/dist/common/controls/buttons/IconButton","@social-mail/social-mail-client/dist/admin/pages/domains/edit/DomainKeySetupPage","@social-mail/social-mail-client/dist/common/controls/buttons/CopyIcon","@social-mail/social-mail-client/dist/admin/pages/domains/domain-user/DomainUserEditor","@social-mail/social-mail-client/dist/common/controls/drop-downs/user/UserDropDown","@web-atoms/web-controls/dist/basic/DropDown","@web-atoms/web-controls/dist/basic/styles/drop-down-style","@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/common/pages/folders/ChooserFolderPage","@social-mail/social-mail-client/dist/web/page/files/service/CloudFileService","@social-mail/social-mail-client/dist/common/controls/tree/TreeView","@social-mail/social-mail-client/dist/admin/pages/users/UserListPage","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/admin/pages/users/EditUserPage","@social-mail/social-mail-client/dist/common/validators/Validators","@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@social-mail/social-mail-client/dist/admin/pages/users/UserDetailsPage","@social-mail/social-mail-client/dist/common/NumberFormats","@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditor","@social-mail/social-mail-client/dist/admin/pages/users/domains/EditDomainUserPage","@social-mail/social-mail-client/dist/admin/pages/users/mailboxes/EditUserMailboxPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService","@social-mail/social-mail-client/dist/admin/pages/users/files/EditFileAccessPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage","@web-atoms/web-controls/dist/basic/ComboBox","@social-mail/social-mail-client/dist/admin/pages/users/ChooseUserPage","@social-mail/social-mail-client/dist/common/commands/CommonCommands","@social-mail/social-mail-client/dist/web/page/mails/MailsPage","@social-mail/social-mail-client/dist/web/page/mails/service/MailService","@social-mail/social-mail-client/dist/web/page/mails/ConversationPage","@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService","@web-atoms/email-dom/dist/DomToString","@web-atoms/email-dom/dist/dom/StyleHelper","@web-atoms/email-dom/dist/style/mergeStyle","@social-mail/social-mail-client/dist/common/events/CommonEvents","@social-mail/social-mail-client/dist/web/page/mails/ComposeMailPage","@social-mail/social-mail-client/dist/common/controls/html/InlineHtmlEditorWithToolbar","@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor","@web-atoms/web-controls/dist/html-editor/commands/AddImage","@web-atoms/web-controls/dist/html-editor/commands/CommandButton","@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands","@web-atoms/web-controls/dist/html-editor/commands/Toolbar","@web-atoms/web-controls/dist/html-editor/commands/Bold","@web-atoms/web-controls/dist/html-editor/commands/Command","@web-atoms/web-controls/dist/html-editor/commands/Italic","@web-atoms/web-controls/dist/html-editor/commands/Underline","@web-atoms/web-controls/dist/html-editor/commands/StrikeThrough","@web-atoms/web-controls/dist/html-editor/commands/Align","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/styles/popup-button-style","@web-atoms/web-controls/dist/html-editor/commands/HorizontalRule","@web-atoms/web-controls/dist/html-editor/commands/Separator","@web-atoms/web-controls/dist/html-editor/commands/Headings","@web-atoms/web-controls/dist/html-editor/commands/ChangeColor","@web-atoms/web-controls/dist/html-editor/commands/ChangeFont","@web-atoms/web-controls/dist/html-editor/commands/ChangeFontSize","@web-atoms/web-controls/dist/html-editor/commands/NumberedList","@web-atoms/web-controls/dist/html-editor/commands/UnorderedList","@web-atoms/web-controls/dist/html-editor/commands/IndentLess","@web-atoms/web-controls/dist/html-editor/commands/IndentMore","@web-atoms/web-controls/dist/html-editor/commands/AddLink","@web-atoms/core/dist/web/controls/AtomToggleButtonBar","@web-atoms/core/dist/web/styles/AtomToggleButtonBarStyle","@web-atoms/core/dist/web/styles/AtomListBoxStyle","@web-atoms/core/dist/web/controls/AtomListBox","@web-atoms/core/dist/web/controls/AtomItemsControl","@web-atoms/core/dist/core/AtomEnumerator","@web-atoms/web-controls/dist/html-editor/commands/Unlink","@web-atoms/web-controls/dist/html-editor/commands/RemoveFormat","@web-atoms/web-controls/dist/html-editor/commands/Source","@web-atoms/web-controls/dist/basic/UploadEvent","@social-mail/social-mail-client/dist/services/files/LocalFileService","@web-atoms/web-controls/dist/basic/TitleEditor","@web-atoms/web-controls/dist/basic/styles/title-editor-style","@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailRecipientChips","@web-atoms/web-controls/dist/basic/AtomChips","@web-atoms/web-controls/dist/basic/Chip","@web-atoms/web-controls/dist/basic/styles/chip-style","@web-atoms/web-controls/dist/basic/styles/chips-style","@web-atoms/web-controls/dist/basic/styles/item-suggestion-style","@social-mail/social-mail-client/dist/services/email-addresses/EmailAddressService","@social-mail/social-mail-client/dist/common/cache/CacheTTL","@social-mail/social-mail-client/dist/services/socket/sockets","@web-atoms/web-controls/dist/basic/LimitedText","@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage","@social-mail/social-mail-client/dist/web/commands/AppCommands","@social-mail/social-mail-client/dist/web/page/home/HomePage","@social-mail/social-mail-client/dist/web/page/files/FolderPage","@social-mail/social-mail-client/dist/common/controls/drag-drop/FilesDragDrop","@social-mail/social-mail-client/dist/web/page/files/shares/EditSharesPage","@social-mail/social-mail-client/dist/services/files/FileShareService","@social-mail/social-mail-client/dist/web/page/files/shares/AddSharePage","@web-atoms/web-controls/dist/basic/Switch","@web-atoms/web-controls/dist/basic/styles/switch-style","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/web-controls/dist/basic/Calendar","@web-atoms/web-controls/dist/basic/Select","@web-atoms/web-controls/dist/basic/styles/calendar-style","@web-atoms/web-controls/dist/basic/TimeEditor","@web-atoms/web-controls/dist/basic/styles/time-editor-style","@web-atoms/web-controls/dist/basic/styles/date-field-style","@social-mail/social-mail-client/dist/common/date/DateFormats","@social-mail/social-mail-client/dist/web/page/templates/EditTemplatePage","@social-mail/social-mail-client/dist/services/mime-service/MimeNode","@social-mail/social-mail-client/dist/common/QueryIterator","@social-mail/social-mail-client/dist/services/mime-service/AttachmentFile","@social-mail/social-mail-client/dist/services/mime-service/HeaderContentType","@social-mail/social-mail-client/dist/services/mime-service/parsePairs","@social-mail/social-mail-client/dist/services/mime-service/tokenizer","@social-mail/social-mail-client/dist/services/mime-service/HeaderContentDisposition","@social-mail/social-mail-client/dist/services/mime-service/encoder/word-encoding","@social-mail/social-mail-client/dist/services/mime-service/encoder/RawBuffer","@social-mail/social-mail-client/dist/services/mime-service/encoder/base64-to-blob","@social-mail/social-mail-client/dist/services/mime-service/encoder/quoted-printable","@social-mail/social-mail-client/dist/services/mime-service/MimeMessage","@social-mail/social-mail-client/dist/services/mime-service/stream/LineStream","@social-mail/social-mail-client/dist/services/mime-service/stream/TextWriter","@social-mail/social-mail-client/dist/common/pages/drives/DriveListPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxDetailPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/settings/EditSyncTargetPage","@social-mail/social-mail-client/dist/admin/pages/relays/edit/EditRelayPage","@social-mail/social-mail-client/dist/common/pages/user/LoginPage","@social-mail/social-mail-client/dist/admin/drawer/AdminDrawer","@social-mail/social-mail-client/dist/common/controls/menu/MenuItem","@social-mail/social-mail-client/dist/common/controls/ModuleInfo","@web-atoms/core/dist/web/WebApp","@web-atoms/core/dist/core/AtomOnce","@web-atoms/core/dist/web/services/WebBusyIndicatorService","@web-atoms/core/dist/web/styles/StyleBuilder","@web-atoms/core/dist/web/services/WindowService","@web-atoms/core/dist/Atom","@web-atoms/core/dist/core/FormattedError","@web-atoms/core/dist/view-model/AtomWindowViewModel","@web-atoms/core/dist/view-model/AtomViewModel","@web-atoms/core/dist/view-model/baseTypes","@web-atoms/core/dist/web/controls/AtomAlertWindow","@web-atoms/core/dist/web/styles/AtomAlertWindowStyle","@web-atoms/core/dist/web/styles/AtomWindowStyle","@web-atoms/core/src/web/images/close-button-hover.svg","@web-atoms/core/dist/web/controls/AtomWindow","@web-atoms/core/dist/web/controls/AtomTemplate","@web-atoms/core/dist/web/controls/AtomNotification","@web-atoms/core/dist/web/styles/AtomNotificationStyle","@web-atoms/core/dist/web/styles/AtomPopupStyle","@web-atoms/core/dist/web/services/NotificationPopup","@web-atoms/core/dist/web/styles/AtomTheme"]);
1868
+ ["@social-mail/social-mail-client/dist/admin/AdminAppIndex","@web-atoms/core/dist/Pack","@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/AtomLoader","@web-atoms/core/dist/services/JsonService","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/di/RegisterSingleton","@web-atoms/core/dist/di/Register","@web-atoms/core/dist/core/types","reflect-metadata","@web-atoms/core/dist/core/AtomMap","@web-atoms/core/dist/di/ServiceCollection","@web-atoms/core/dist/di/TypeKey","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan","@web-atoms/core/dist/services/ReferenceService","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/core/AtomUri","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/EventScope","@web-atoms/core/dist/core/Route","@web-atoms/core/dist/core/InheritedProperty","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/ExpressionParser","@web-atoms/core/dist/services/NavigationService","@web-atoms/core/dist/core/AtomComponent","@web-atoms/core/dist/App","@web-atoms/core/dist/core/AtomDispatcher","@web-atoms/core/dist/di/ServiceProvider","@web-atoms/core/dist/core/TransientDisposable","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/services/BusyIndicatorService","@web-atoms/core/dist/core/AtomBridge","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@web-atoms/core/dist/core/PropertyMap","@web-atoms/core/dist/core/FormattedString","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/WebImage","@web-atoms/core/dist/web/styles/AtomStyle","@web-atoms/core/dist/web/styles/AtomStyleSheet","@web-atoms/core/dist/web/services/PopupService","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/desktop-app/DesktopApp","@social-mail/social-mail-client/dist/style/GlobalStyle","@web-atoms/core/dist/core/AtomList","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@web-atoms/data-styles/data-styles","@social-mail/social-mail-client/dist/services/LoginService","@social-mail/social-mail-client/dist/services/EntityService","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/entity/dist/models/Cloner","@web-atoms/entity/dist/models/cloneSource","@web-atoms/entity/dist/models/IEntityModel","@web-atoms/entity/dist/services/HttpSession","@web-atoms/core/dist/services/http/JsonError","@web-atoms/entity/dist/models/TaskManager","@web-atoms/entity/dist/models/Queue","@web-atoms/entity/dist/services/mergeProperties","@web-atoms/entity/dist/services/Query","@web-atoms/entity/dist/services/StringHelper","@web-atoms/entity/dist/services/resolve","@social-mail/social-mail-client/dist/services/BusyProgress","@social-mail/social-mail-client/dist/model/model","@social-mail/social-mail-client/dist/common/SocialMailApp","@web-atoms/core/dist/core/InjectProperty","@social-mail/social-mail-client/dist/admin/commands/AdminCommands","@social-mail/social-mail-client/dist/admin/pages/home/AdminHome","@social-mail/social-mail-client/dist/admin/pages/domains/DomainListPage","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/core/WatchProperty","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/styles/inline-popup-style","@web-atoms/web-controls/dist/basic/MergeNode","@web-atoms/web-controls/dist/basic/ItemPath","@web-atoms/web-controls/dist/basic/styles/ui-display-none-style","@web-atoms/web-controls/dist/basic/styles/popup-style","@web-atoms/web-controls/dist/basic/styles/suggestion-popup","@web-atoms/web-controls/dist/basic/styles/repeater-style","@social-mail/social-mail-client/dist/admin/pages/domains/services/AdminDomainService","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/view-model/Action","@social-mail/social-mail-client/dist/admin/pages/domains/edit/EditDomainPage","@web-atoms/web-controls/dist/basic/Form","@social-mail/social-mail-client/dist/common/controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/styles/form-field-style","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/web-controls/dist/basic/styles/password-box-style","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/styles/checkbox-style","@web-atoms/web-controls/dist/basic/Expander","@web-atoms/web-controls/dist/basic/styles/expander-style","@social-mail/social-mail-client/dist/common/controls/buttons/IconButton","@social-mail/social-mail-client/dist/admin/pages/domains/edit/DomainKeySetupPage","@social-mail/social-mail-client/dist/common/controls/buttons/CopyIcon","@social-mail/social-mail-client/dist/admin/pages/domains/domain-user/DomainUserEditor","@social-mail/social-mail-client/dist/common/controls/drop-downs/user/UserDropDown","@web-atoms/web-controls/dist/basic/DropDown","@web-atoms/web-controls/dist/basic/styles/drop-down-style","@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/common/pages/folders/ChooserFolderPage","@social-mail/social-mail-client/dist/web/page/files/service/CloudFileService","@social-mail/social-mail-client/dist/common/controls/tree/TreeView","@social-mail/social-mail-client/dist/admin/pages/users/UserListPage","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/admin/pages/users/EditUserPage","@social-mail/social-mail-client/dist/common/validators/Validators","@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@social-mail/social-mail-client/dist/admin/pages/users/UserDetailsPage","@social-mail/social-mail-client/dist/common/NumberFormats","@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditor","@social-mail/social-mail-client/dist/admin/pages/users/domains/EditDomainUserPage","@social-mail/social-mail-client/dist/admin/pages/users/mailboxes/EditUserMailboxPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService","@social-mail/social-mail-client/dist/admin/pages/users/files/EditFileAccessPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage","@web-atoms/web-controls/dist/basic/ComboBox","@social-mail/social-mail-client/dist/admin/pages/users/ChooseUserPage","@social-mail/social-mail-client/dist/common/commands/CommonCommands","@social-mail/social-mail-client/dist/web/page/mails/MailboxContacts","@social-mail/social-mail-client/dist/web/page/mails/service/MailService","@social-mail/social-mail-client/dist/web/page/mails/ConversationPage","@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService","@web-atoms/email-dom/dist/DomToString","@web-atoms/email-dom/dist/dom/StyleHelper","@web-atoms/email-dom/dist/style/mergeStyle","@social-mail/social-mail-client/dist/common/events/CommonEvents","@social-mail/social-mail-client/dist/web/page/mails/ComposeMailPage","@social-mail/social-mail-client/dist/common/controls/html/InlineHtmlEditorWithToolbar","@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor","@web-atoms/web-controls/dist/html-editor/commands/AddImage","@web-atoms/web-controls/dist/html-editor/commands/CommandButton","@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands","@web-atoms/web-controls/dist/html-editor/commands/Toolbar","@web-atoms/web-controls/dist/html-editor/commands/Bold","@web-atoms/web-controls/dist/html-editor/commands/Command","@web-atoms/web-controls/dist/html-editor/commands/Italic","@web-atoms/web-controls/dist/html-editor/commands/Underline","@web-atoms/web-controls/dist/html-editor/commands/StrikeThrough","@web-atoms/web-controls/dist/html-editor/commands/Align","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/styles/popup-button-style","@web-atoms/web-controls/dist/html-editor/commands/HorizontalRule","@web-atoms/web-controls/dist/html-editor/commands/Separator","@web-atoms/web-controls/dist/html-editor/commands/Headings","@web-atoms/web-controls/dist/html-editor/commands/ChangeColor","@web-atoms/web-controls/dist/html-editor/commands/ChangeFont","@web-atoms/web-controls/dist/html-editor/commands/ChangeFontSize","@web-atoms/web-controls/dist/html-editor/commands/NumberedList","@web-atoms/web-controls/dist/html-editor/commands/UnorderedList","@web-atoms/web-controls/dist/html-editor/commands/IndentLess","@web-atoms/web-controls/dist/html-editor/commands/IndentMore","@web-atoms/web-controls/dist/html-editor/commands/AddLink","@web-atoms/core/dist/web/controls/AtomToggleButtonBar","@web-atoms/core/dist/web/styles/AtomToggleButtonBarStyle","@web-atoms/core/dist/web/styles/AtomListBoxStyle","@web-atoms/core/dist/web/controls/AtomListBox","@web-atoms/core/dist/web/controls/AtomItemsControl","@web-atoms/core/dist/core/AtomEnumerator","@web-atoms/web-controls/dist/html-editor/commands/Unlink","@web-atoms/web-controls/dist/html-editor/commands/RemoveFormat","@web-atoms/web-controls/dist/html-editor/commands/Source","@web-atoms/web-controls/dist/basic/UploadEvent","@social-mail/social-mail-client/dist/services/files/LocalFileService","@web-atoms/web-controls/dist/basic/TitleEditor","@web-atoms/web-controls/dist/basic/styles/title-editor-style","@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailRecipientChips","@web-atoms/web-controls/dist/basic/AtomChips","@web-atoms/web-controls/dist/basic/Chip","@web-atoms/web-controls/dist/basic/styles/chip-style","@web-atoms/web-controls/dist/basic/styles/chips-style","@web-atoms/web-controls/dist/basic/styles/item-suggestion-style","@social-mail/social-mail-client/dist/services/email-addresses/EmailAddressService","@social-mail/social-mail-client/dist/common/cache/CacheTTL","@social-mail/social-mail-client/dist/services/socket/sockets","@web-atoms/web-controls/dist/basic/LimitedText","@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage","@social-mail/social-mail-client/dist/web/commands/AppCommands","@social-mail/social-mail-client/dist/web/page/home/HomePage","@social-mail/social-mail-client/dist/web/page/files/FolderPage","@social-mail/social-mail-client/dist/common/controls/drag-drop/FilesDragDrop","@social-mail/social-mail-client/dist/web/page/files/shares/EditSharesPage","@social-mail/social-mail-client/dist/services/files/FileShareService","@social-mail/social-mail-client/dist/web/page/files/shares/AddSharePage","@web-atoms/web-controls/dist/basic/Switch","@web-atoms/web-controls/dist/basic/styles/switch-style","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/web-controls/dist/basic/Calendar","@web-atoms/web-controls/dist/basic/Select","@web-atoms/web-controls/dist/basic/styles/calendar-style","@web-atoms/web-controls/dist/basic/TimeEditor","@web-atoms/web-controls/dist/basic/styles/time-editor-style","@web-atoms/web-controls/dist/basic/styles/date-field-style","@social-mail/social-mail-client/dist/common/date/DateFormats","@social-mail/social-mail-client/dist/web/page/templates/EditTemplatePage","@social-mail/social-mail-client/dist/services/mime-service/MimeNode","@social-mail/social-mail-client/dist/common/QueryIterator","@social-mail/social-mail-client/dist/services/mime-service/AttachmentFile","@social-mail/social-mail-client/dist/services/mime-service/HeaderContentType","@social-mail/social-mail-client/dist/services/mime-service/parsePairs","@social-mail/social-mail-client/dist/services/mime-service/tokenizer","@social-mail/social-mail-client/dist/services/mime-service/HeaderContentDisposition","@social-mail/social-mail-client/dist/services/mime-service/encoder/word-encoding","@social-mail/social-mail-client/dist/services/mime-service/encoder/RawBuffer","@social-mail/social-mail-client/dist/services/mime-service/encoder/base64-to-blob","@social-mail/social-mail-client/dist/services/mime-service/encoder/quoted-printable","@social-mail/social-mail-client/dist/services/mime-service/MimeMessage","@social-mail/social-mail-client/dist/services/mime-service/stream/LineStream","@social-mail/social-mail-client/dist/services/mime-service/stream/TextWriter","@social-mail/social-mail-client/dist/common/pages/folders/ChooseTemplatePage","@social-mail/social-mail-client/dist/common/pages/drives/DriveListPage","@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage","@social-mail/social-mail-client/dist/common/pages/user/services/UserService","@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxDetailPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/settings/EditSyncTargetPage","@social-mail/social-mail-client/dist/admin/pages/relays/edit/EditRelayPage","@social-mail/social-mail-client/dist/common/pages/user/login/LoginPage","@web-atoms/web-controls/dist/basic/ToggleButtonBar","@web-atoms/web-controls/dist/basic/styles/toggle-button-bar-style","@social-mail/social-mail-client/dist/admin/drawer/AdminDrawer","@social-mail/social-mail-client/dist/common/controls/menu/MenuItem","@social-mail/social-mail-client/dist/common/controls/ModuleInfo","@web-atoms/core/dist/web/WebApp","@web-atoms/core/dist/core/AtomOnce","@web-atoms/core/dist/web/services/WebBusyIndicatorService","@web-atoms/core/dist/web/styles/StyleBuilder","@web-atoms/core/dist/web/services/WindowService","@web-atoms/core/dist/Atom","@web-atoms/core/dist/core/FormattedError","@web-atoms/core/dist/view-model/AtomWindowViewModel","@web-atoms/core/dist/view-model/AtomViewModel","@web-atoms/core/dist/view-model/baseTypes","@web-atoms/core/dist/web/controls/AtomAlertWindow","@web-atoms/core/dist/web/styles/AtomAlertWindowStyle","@web-atoms/core/dist/web/styles/AtomWindowStyle","@web-atoms/core/src/web/images/close-button-hover.svg","@web-atoms/core/dist/web/controls/AtomWindow","@web-atoms/core/dist/web/controls/AtomTemplate","@web-atoms/core/dist/web/controls/AtomNotification","@web-atoms/core/dist/web/styles/AtomNotificationStyle","@web-atoms/core/dist/web/styles/AtomPopupStyle","@web-atoms/core/dist/web/services/NotificationPopup","@web-atoms/core/dist/web/styles/AtomTheme"]);
1869
1869
 
1870
1870
  System.register([], function (_export, _context) {
1871
1871
  "use strict";
@@ -13375,6 +13375,9 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
13375
13375
  dateCreated: new DateTime()
13376
13376
  }));
13377
13377
  _export("AppFileAccessTypeArray", AppFileAccessTypeArray = [{
13378
+ "label": "create",
13379
+ "value": "create"
13380
+ }, {
13378
13381
  "label": "read",
13379
13382
  "value": "read"
13380
13383
  }, {
@@ -13527,7 +13530,6 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
13527
13530
  }));
13528
13531
  _export("MailboxEmail", MailboxEmail = new Model("MailboxEmail", ["mailboxID", "emailID"], {}));
13529
13532
  _export("MailboxThread", MailboxThread = new Model("MailboxThread", ["mailboxID", "emailAddressID"], {
13530
- lastEmailID: 0,
13531
13533
  dateUpdated: new DateTime(),
13532
13534
  unread: 0,
13533
13535
  total: 0
@@ -13564,7 +13566,8 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
13564
13566
  isSecure: false,
13565
13567
  syncAllFolders: false,
13566
13568
  syncJunkMails: false,
13567
- intervalSeconds: 0
13569
+ intervalSeconds: 0,
13570
+ active: false
13568
13571
  }));
13569
13572
  _export("User", User = new Model("User", ["userID"], {
13570
13573
  userName: "",
@@ -13632,7 +13635,7 @@ System.register([], function (_export, _context) {
13632
13635
  System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/core/dist/di/Inject", "./EntityService", "../model/model", "../common/SocialMailApp"], function (_export, _context) {
13633
13636
  "use strict";
13634
13637
 
13635
- var __awaiter, __decorate, __metadata, DISingleton, Inject, EntityService, LoginSession, SocialMailApp, UserService;
13638
+ var __awaiter, __decorate, __metadata, DISingleton, Inject, EntityService, LoginSession, SocialMailApp, LoginService;
13636
13639
  return {
13637
13640
  setters: [function (_tslib) {
13638
13641
  __awaiter = _tslib.__awaiter;
@@ -13650,7 +13653,7 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
13650
13653
  SocialMailApp = _commonSocialMailApp.default;
13651
13654
  }],
13652
13655
  execute: function () {
13653
- UserService = class UserService {
13656
+ LoginService = class LoginService {
13654
13657
  getUser() {
13655
13658
  var _a, _b;
13656
13659
  return __awaiter(this, void 0, void 0, function* () {
@@ -13662,19 +13665,22 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
13662
13665
  login(session) {
13663
13666
  return __awaiter(this, void 0, void 0, function* () {
13664
13667
  yield this.entityService.save(session);
13668
+ if (session.invalid) {
13669
+ return session.status;
13670
+ }
13665
13671
  location.reload();
13666
13672
  });
13667
13673
  }
13668
13674
  };
13669
- __decorate([Inject, __metadata("design:type", EntityService)], UserService.prototype, "entityService", void 0);
13670
- UserService = __decorate([DISingleton()], UserService);
13671
- _export("default", UserService);
13675
+ __decorate([Inject, __metadata("design:type", EntityService)], LoginService.prototype, "entityService", void 0);
13676
+ LoginService = __decorate([DISingleton()], LoginService);
13677
+ _export("default", LoginService);
13672
13678
  }
13673
13679
  };
13674
13680
  });
13675
- //# sourceMappingURL=UserService.js.map
13681
+ //# sourceMappingURL=LoginService.js.map
13676
13682
 
13677
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/UserService");
13683
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/LoginService");
13678
13684
 
13679
13685
  System.register([], function (_export, _context) {
13680
13686
  "use strict";
@@ -14238,6 +14244,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/AtomDisposableList", "@web-
14238
14244
  return yield new Promise((resolve, reject) => {
14239
14245
  var _a;
14240
14246
  const disposables = new AtomDisposableList();
14247
+ disposables.add(() => targetElement.removeAttribute("data-popup-open"));
14241
14248
  let resolved = false;
14242
14249
  const close = r => {
14243
14250
  if (resolved) {
@@ -14321,6 +14328,10 @@ System.register(["tslib", "@web-atoms/core/dist/core/AtomDisposableList", "@web-
14321
14328
  if (!start) {
14322
14329
  return;
14323
14330
  }
14331
+ if (start.getAttribute("data-popup-open")) {
14332
+ return;
14333
+ }
14334
+ start.setAttribute("data-popup-open", "true");
14324
14335
  const control = AtomControl.from(start);
14325
14336
  const app = control.app;
14326
14337
  const target = start;
@@ -15932,8 +15943,14 @@ System.register(["tslib", "@web-atoms/core/dist/di/DITransient", "@web-atoms/cor
15932
15943
  return this.entityService.query(HostedDomain).include(x => x.domain).include(x => x.domainUsers).include(x => x.templates.forEach(f => f.folder)).toArray();
15933
15944
  }
15934
15945
  save(domain) {
15946
+ var _a;
15935
15947
  return __awaiter(this, void 0, void 0, function* () {
15936
- const clone = this.entityService.cloner(domain).include(x => x.domainUsers).include(x => x.domain).include(x => x.templates);
15948
+ if (!domain.domainID) {
15949
+ if ((_a = domain.domain) === null || _a === void 0 ? void 0 : _a.name) {
15950
+ domain.domainNameToCreate = domain.domain.name;
15951
+ }
15952
+ }
15953
+ const clone = this.entityService.cloner(domain).include(x => x.domainUsers).include(x => x.templates);
15937
15954
  const d = yield this.entityService.save(clone.copy);
15938
15955
  return this.entityService.query(HostedDomain).where({
15939
15956
  domainID: d.domainID
@@ -17935,6 +17952,16 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
17935
17952
  });
17936
17953
  });
17937
17954
  }
17955
+ allTemplates() {
17956
+ return __awaiter(this, void 0, void 0, function* () {
17957
+ const children = yield this.entityService.query(AppFile).where(x => x.templates.some(c => true)).toArray();
17958
+ const roots = children.map(x => x.path + "%");
17959
+ const all = yield this.entityService.query(AppFile).where({
17960
+ roots
17961
+ }, p => x => Sql.text.likeAny(x.path, p.roots)).toArray();
17962
+ return all.filter(x => !x.parentID);
17963
+ });
17964
+ }
17938
17965
  root({
17939
17966
  id,
17940
17967
  templates = false
@@ -18162,6 +18189,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/di
18162
18189
  constructor() {
18163
18190
  super(...arguments);
18164
18191
  this.map = new WeakMap();
18192
+ this.canSelect = x => true;
18165
18193
  }
18166
18194
  onPropertyChanging(name, oldValue, newValue) {
18167
18195
  if (name === "selectedItem") {
@@ -18287,7 +18315,10 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/di
18287
18315
  bubbles: true,
18288
18316
  cancelable: true
18289
18317
  }));
18290
- this.updateExpanded(dataItem, false);
18318
+ const children = this.childrenProperty(element.dataItem);
18319
+ for (const iterator of children) {
18320
+ this.updateExpanded(iterator, false);
18321
+ }
18291
18322
  }
18292
18323
  } else {
18293
18324
  element.setAttribute("data-expanded", "true");
@@ -20482,7 +20513,7 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
20482
20513
  search = "",
20483
20514
  mailboxID,
20484
20515
  start = 0,
20485
- size = 100,
20516
+ size = 20,
20486
20517
  version = 1,
20487
20518
  cancelToken
20488
20519
  }) {
@@ -20497,7 +20528,7 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
20497
20528
  likeSearch
20498
20529
  }, p => x => x.emailAddress.emailAddress === p.search || Sql.text.like(x.lastEmail.textBody, p.likeSearch));
20499
20530
  }
20500
- return q.include(x => [x.emailAddress, x.lastEmail.recipients, x.lastEmail.attachments]).toPagedList({
20531
+ return q.include(x => [x.emailAddress, x.lastEmail]).toPagedList({
20501
20532
  start,
20502
20533
  size,
20503
20534
  cancelToken
@@ -23701,7 +23732,9 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
23701
23732
  for (const key in extra) {
23702
23733
  if (Object.prototype.hasOwnProperty.call(extra, key)) {
23703
23734
  const element = extra[key];
23704
- s.append(key, element);
23735
+ if (element) {
23736
+ s.append(key, element);
23737
+ }
23705
23738
  }
23706
23739
  }
23707
23740
  }
@@ -28788,7 +28821,7 @@ System.register(["@web-atoms/core/dist/core/Command", "../../common/commands/Com
28788
28821
  AppCommands.openMails = Command.create({
28789
28822
  route: "/mails",
28790
28823
  routeOrder: 100,
28791
- openPage: () => _context.import("../page/mails/MailsPage")
28824
+ openPage: () => _context.import("../page/mails/MailboxContacts")
28792
28825
  });
28793
28826
  AppCommands.openFiles = Command.create({
28794
28827
  route: "/files/{id}",
@@ -28884,10 +28917,130 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
28884
28917
 
28885
28918
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage");
28886
28919
 
28887
- System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/core/XNode", "./service/MailService", "@web-atoms/web-controls/dist/basic/AtomRepeater", "../../../common/controls/repeater/InfiniteRepeater", "@web-atoms/core/dist/core/Bind", "@web-atoms/web-controls/dist/mobile-app/MasterDetailPage", "@web-atoms/core/dist/view-model/Action", "./ConversationPage", "@web-atoms/web-controls/dist/PageNavigator", "./ComposeMailPage", "@web-atoms/core/dist/style/styled", "../../../services/socket/sockets", "./ChooseMailboxPage"], function (_export, _context) {
28920
+ 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) {
28921
+ "use strict";
28922
+
28923
+ var __awaiter, __decorate, __metadata, PopupWindowPage, CloudFileService, XNode, TreeView, AppFile, InjectProperty, SaveIconTextButton, Bind, styled, MimeMessage, ChooserTemplatePage, css;
28924
+ _export("default", void 0);
28925
+ return {
28926
+ setters: [function (_tslib) {
28927
+ __awaiter = _tslib.__awaiter;
28928
+ __decorate = _tslib.__decorate;
28929
+ __metadata = _tslib.__metadata;
28930
+ }, function (_webAtomsWebControlsDistMobileAppMobileApp) {
28931
+ PopupWindowPage = _webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage;
28932
+ }, function (_webPageFilesServiceCloudFileService) {
28933
+ CloudFileService = _webPageFilesServiceCloudFileService.default;
28934
+ }, function (_webAtomsCoreDistCoreXNode) {
28935
+ XNode = _webAtomsCoreDistCoreXNode.default;
28936
+ }, function (_controlsTreeTreeView) {
28937
+ TreeView = _controlsTreeTreeView.default;
28938
+ }, function (_modelModel) {
28939
+ AppFile = _modelModel.AppFile;
28940
+ }, function (_webAtomsCoreDistCoreInjectProperty) {
28941
+ InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
28942
+ }, function (_controlsButtonsIconButton) {
28943
+ SaveIconTextButton = _controlsButtonsIconButton.SaveIconTextButton;
28944
+ }, function (_webAtomsCoreDistCoreBind) {
28945
+ Bind = _webAtomsCoreDistCoreBind.default;
28946
+ }, function (_webAtomsCoreDistStyleStyled) {
28947
+ styled = _webAtomsCoreDistStyleStyled.default;
28948
+ }, function (_servicesMimeServiceMimeMessage) {
28949
+ MimeMessage = _servicesMimeServiceMimeMessage.default;
28950
+ }],
28951
+ execute: function () {
28952
+ css = styled.css`
28953
+ display: grid;
28954
+ grid-template-columns: auto auto;
28955
+
28956
+ & > .folders {
28957
+ grid-column: 1;
28958
+ }
28959
+ & > .files {
28960
+ grid-column: 2;
28961
+ }
28962
+ `.installLocal();
28963
+ _export("default", ChooserTemplatePage = class ChooserTemplatePage extends PopupWindowPage {
28964
+ constructor() {
28965
+ super(...arguments);
28966
+ this.selected = null;
28967
+ this.selectedFile = null;
28968
+ this.search = "";
28969
+ }
28970
+ init() {
28971
+ var _a, _b;
28972
+ var _c;
28973
+ return __awaiter(this, void 0, void 0, function* () {
28974
+ (_a = this.parameters) !== null && _a !== void 0 ? _a : this.parameters = {};
28975
+ (_b = (_c = this.parameters).chooseFile) !== null && _b !== void 0 ? _b : _c.chooseFile = false;
28976
+ this.title = "Choose the template";
28977
+ this.root = AppFile.create({
28978
+ name: "Drives"
28979
+ });
28980
+ const drives = yield this.cloudFileService.allTemplates();
28981
+ this.root.children = drives;
28982
+ this.renderer = XNode.create("div", {
28983
+ class: css
28984
+ }, XNode.create(TreeView, {
28985
+ class: "folders",
28986
+ root: this.root,
28987
+ childrenProperty: item => {
28988
+ var _a;
28989
+ return (_a = item.children) !== null && _a !== void 0 ? _a : item.children = [];
28990
+ },
28991
+ selectedItem: Bind.twoWaysImmediate(() => this.selected),
28992
+ labelRenderer: x => XNode.create("span", {
28993
+ text: x.name,
28994
+ title: x.title,
28995
+ "data-click-event": x.isFolder ? "none" : "select-item"
28996
+ })
28997
+ }), XNode.create("div", {
28998
+ class: "files"
28999
+ }, XNode.create("div", {
29000
+ innerHTML: Bind.oneWayAsync((c, e, cancelToken) => this.loadTemplate(this.selected, cancelToken))
29001
+ })));
29002
+ this.footerRenderer = () => XNode.create("div", {
29003
+ "data-layout": "command-row",
29004
+ "style-display": Bind.oneWay(() => !!(this.parameters.chooseFile ? this.selectedFile : this.selected))
29005
+ }, XNode.create(SaveIconTextButton, {
29006
+ "event-click": () => this.close(this.selected),
29007
+ text: "Choose"
29008
+ }));
29009
+ });
29010
+ }
29011
+ loadTemplate(file, cancelToken) {
29012
+ return __awaiter(this, void 0, void 0, function* () {
29013
+ if (!(file === null || file === void 0 ? void 0 : file.url)) {
29014
+ return;
29015
+ }
29016
+ const ac = new AbortController();
29017
+ const {
29018
+ signal
29019
+ } = ac;
29020
+ cancelToken === null || cancelToken === void 0 ? void 0 : cancelToken.registerForCancel(() => ac.abort());
29021
+ const data = yield fetch(file.url, {
29022
+ signal
29023
+ });
29024
+ const node = yield MimeMessage.load(data.body, file.name);
29025
+ if (cancelToken === null || cancelToken === void 0 ? void 0 : cancelToken.cancelled) {
29026
+ throw new Error("cancelled");
29027
+ }
29028
+ return node.html;
29029
+ });
29030
+ }
29031
+ });
29032
+ __decorate([InjectProperty, __metadata("design:type", CloudFileService)], ChooserTemplatePage.prototype, "cloudFileService", void 0);
29033
+ }
29034
+ };
29035
+ });
29036
+ //# sourceMappingURL=ChooseTemplatePage.js.map
29037
+
29038
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/folders/ChooseTemplatePage");
29039
+
29040
+ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/core/XNode", "./service/MailService", "@web-atoms/web-controls/dist/basic/AtomRepeater", "../../../common/controls/repeater/InfiniteRepeater", "@web-atoms/core/dist/core/Bind", "@web-atoms/web-controls/dist/mobile-app/MasterDetailPage", "@web-atoms/core/dist/view-model/Action", "./ConversationPage", "@web-atoms/web-controls/dist/PageNavigator", "./ComposeMailPage", "@web-atoms/core/dist/style/styled", "../../../services/socket/sockets", "./ChooseMailboxPage", "@web-atoms/web-controls/dist/basic/PopupButton", "../../../common/pages/folders/ChooseTemplatePage"], function (_export, _context) {
28888
29041
  "use strict";
28889
29042
 
28890
- var __awaiter, __decorate, __metadata, InjectProperty, XNode, MailService, AtomRepeater, InfiniteRepeater, Bind, MasterDetailPage, Action, ConversationPage, PageNavigator, ComposeMailPage, styled, MailboxSocket, ChooseMailboxPage, MailsPage, css;
29043
+ var __awaiter, __decorate, __metadata, InjectProperty, XNode, MailService, AtomRepeater, InfiniteRepeater, Bind, MasterDetailPage, Action, ConversationPage, PageNavigator, ComposeMailPage, styled, MailboxSocket, ChooseMailboxPage, MenuItem, PopupActionButton, ChooserTemplatePage, MailsPage, css;
28891
29044
  _export("default", void 0);
28892
29045
  return {
28893
29046
  setters: [function (_tslib) {
@@ -28922,6 +29075,11 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
28922
29075
  MailboxSocket = _servicesSocketSockets.MailboxSocket;
28923
29076
  }, function (_ChooseMailboxPage) {
28924
29077
  ChooseMailboxPage = _ChooseMailboxPage.default;
29078
+ }, function (_webAtomsWebControlsDistBasicPopupButton) {
29079
+ MenuItem = _webAtomsWebControlsDistBasicPopupButton.MenuItem;
29080
+ PopupActionButton = _webAtomsWebControlsDistBasicPopupButton.PopupActionButton;
29081
+ }, function (_commonPagesFoldersChooseTemplatePage) {
29082
+ ChooserTemplatePage = _commonPagesFoldersChooseTemplatePage.default;
28925
29083
  }],
28926
29084
  execute: function () {
28927
29085
  css = styled.css`
@@ -28933,6 +29091,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
28933
29091
  display: flex;
28934
29092
  gap: 5px;
28935
29093
  flex-direction: column;
29094
+ overflow-x: hidden !important;
28936
29095
  & .mailbox-thread {
28937
29096
  display: grid;
28938
29097
  grid-template-columns: 1fr auto auto;
@@ -28980,14 +29139,27 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
28980
29139
  const mailboxID = this.parameters.id;
28981
29140
  const mailbox = this.currentMailbox = yield this.mailService.mailbox(mailboxID);
28982
29141
  this.element.className = css;
28983
- this.actionRenderer = () => XNode.create("i", {
28984
- class: "fas fa-plus",
28985
- "data-click-event": "compose-email"
28986
- });
29142
+ this.actionRenderer = () => XNode.create("div", null, XNode.create(PopupActionButton, {
29143
+ icon: "fa-solid fa-plus",
29144
+ popup: () => XNode.create("div", {
29145
+ "data-click-event": "none",
29146
+ "data-click-animate": "no"
29147
+ }, XNode.create(MenuItem, {
29148
+ label: "Compose",
29149
+ "data-click-event": "compose-email"
29150
+ }), XNode.create(MenuItem, {
29151
+ label: "From Template",
29152
+ "data-click-event": "compose-template"
29153
+ }))
29154
+ }));
28987
29155
  document.title = (_a = mailbox.emailAddress) === null || _a === void 0 ? void 0 : _a.emailAddress;
28988
29156
  this.titleRenderer = () => XNode.create("div", {
28989
29157
  "data-layout": "row"
28990
- }, XNode.create("div", {
29158
+ }, XNode.create("input", {
29159
+ value: Bind.twoWaysImmediate(() => this.search),
29160
+ type: "search",
29161
+ placeholder: "Sender Search"
29162
+ }), XNode.create("div", {
28991
29163
  "data-click-event": "search-mailbox",
28992
29164
  "data-cursor": "pointer",
28993
29165
  text: mailbox.emailAddress.emailAddress
@@ -29002,7 +29174,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
29002
29174
  items: this.mails
29003
29175
  }, InfiniteRepeater.pagedItems(start => (c, e, cancelToken) => this.mailService.list({
29004
29176
  start,
29005
- size: 200,
29177
+ size: 20,
29006
29178
  search: this.search,
29007
29179
  mailboxID: this.currentMailbox.mailboxID,
29008
29180
  version: this.version,
@@ -29030,6 +29202,11 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
29030
29202
  }));
29031
29203
  });
29032
29204
  }
29205
+ composeTemplate() {
29206
+ return __awaiter(this, void 0, void 0, function* () {
29207
+ const template = yield PageNavigator.pushPageForResult(ChooserTemplatePage);
29208
+ });
29209
+ }
29033
29210
  mailsAvailable() {
29034
29211
  return __awaiter(this, void 0, void 0, function* () {
29035
29212
  if (!this.selectedThread) {
@@ -29070,6 +29247,9 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
29070
29247
  }
29071
29248
  });
29072
29249
  __decorate([InjectProperty, __metadata("design:type", MailService)], MailsPage.prototype, "mailService", void 0);
29250
+ __decorate([Action({
29251
+ onEvent: "compose-template"
29252
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], MailsPage.prototype, "composeTemplate", null);
29073
29253
  __decorate([Action({
29074
29254
  onEvent: "mails-available",
29075
29255
  defer: 100
@@ -29087,9 +29267,9 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
29087
29267
  }
29088
29268
  };
29089
29269
  });
29090
- //# sourceMappingURL=MailsPage.js.map
29270
+ //# sourceMappingURL=MailboxContacts.js.map
29091
29271
 
29092
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/MailsPage");
29272
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/MailboxContacts");
29093
29273
 
29094
29274
  System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@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", "../../../web/page/files/service/CloudFileService", "../../controls/repeater/InfiniteRepeater", "../../NumberFormats", "@web-atoms/core/dist/view-model/Action"], function (_export, _context) {
29095
29275
  "use strict";
@@ -29185,6 +29365,409 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
29185
29365
 
29186
29366
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/drives/DriveListPage");
29187
29367
 
29368
+ System.register(["tslib", "@web-atoms/core/dist/di/DITransient", "@web-atoms/core/dist/di/Inject", "../../../../services/EntityService", "../../../../model/model", "../../../SocialMailApp"], function (_export, _context) {
29369
+ "use strict";
29370
+
29371
+ var __awaiter, __decorate, __metadata, DITransient, Inject, EntityService, User, UserAuthFactor, SocialMailApp, UserService;
29372
+ return {
29373
+ setters: [function (_tslib) {
29374
+ __awaiter = _tslib.__awaiter;
29375
+ __decorate = _tslib.__decorate;
29376
+ __metadata = _tslib.__metadata;
29377
+ }, function (_webAtomsCoreDistDiDITransient) {
29378
+ DITransient = _webAtomsCoreDistDiDITransient.default;
29379
+ }, function (_webAtomsCoreDistDiInject) {
29380
+ Inject = _webAtomsCoreDistDiInject.Inject;
29381
+ }, function (_servicesEntityService) {
29382
+ EntityService = _servicesEntityService.default;
29383
+ }, function (_modelModel) {
29384
+ User = _modelModel.User;
29385
+ UserAuthFactor = _modelModel.UserAuthFactor;
29386
+ }, function (_SocialMailApp) {
29387
+ SocialMailApp = _SocialMailApp.default;
29388
+ }],
29389
+ execute: function () {
29390
+ UserService = class UserService {
29391
+ getCurrent() {
29392
+ return __awaiter(this, void 0, void 0, function* () {
29393
+ const {
29394
+ userID
29395
+ } = SocialMailApp.user;
29396
+ return this.entityService.query(User).where({
29397
+ userID
29398
+ }, p => x => x.userID === p.userID).include(x => x.authFactors).firstOrDefault();
29399
+ });
29400
+ }
29401
+ save(user) {
29402
+ return __awaiter(this, void 0, void 0, function* () {
29403
+ let cloner = this.entityService.cloner(user).include(x => x.authFactors);
29404
+ if (user.changePassword) {
29405
+ cloner = cloner.include(x => x.changePassword);
29406
+ }
29407
+ yield this.entityService.save(cloner.copy);
29408
+ });
29409
+ }
29410
+ createAuthFactor(user, method = "totp") {
29411
+ var _a;
29412
+ return __awaiter(this, void 0, void 0, function* () {
29413
+ const authFactor = UserAuthFactor.create({
29414
+ method
29415
+ });
29416
+ ((_a = user.authFactors) !== null && _a !== void 0 ? _a : user.authFactors = []).add(authFactor);
29417
+ yield this.save(user);
29418
+ return authFactor;
29419
+ });
29420
+ }
29421
+ };
29422
+ __decorate([Inject, __metadata("design:type", EntityService)], UserService.prototype, "entityService", void 0);
29423
+ UserService = __decorate([DITransient()], UserService);
29424
+ _export("default", UserService);
29425
+ }
29426
+ };
29427
+ });
29428
+ //# sourceMappingURL=UserService.js.map
29429
+
29430
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/services/UserService");
29431
+
29432
+ 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) {
29433
+ "use strict";
29434
+
29435
+ var __awaiter, __decorate, __metadata, PopupWindowPage, InjectProperty, UserService, XNode, Form, PasswordFormField, Bind, PasswordStrength, FormField, PasswordBox, Validators, SaveIconTextButton, Action, ChangePasswordPage;
29436
+ _export("default", void 0);
29437
+ return {
29438
+ setters: [function (_tslib) {
29439
+ __awaiter = _tslib.__awaiter;
29440
+ __decorate = _tslib.__decorate;
29441
+ __metadata = _tslib.__metadata;
29442
+ }, function (_webAtomsWebControlsDistMobileAppMobileApp) {
29443
+ PopupWindowPage = _webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage;
29444
+ }, function (_webAtomsCoreDistCoreInjectProperty) {
29445
+ InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
29446
+ }, function (_servicesUserService) {
29447
+ UserService = _servicesUserService.default;
29448
+ }, function (_webAtomsCoreDistCoreXNode) {
29449
+ XNode = _webAtomsCoreDistCoreXNode.default;
29450
+ }, function (_webAtomsWebControlsDistBasicForm) {
29451
+ Form = _webAtomsWebControlsDistBasicForm.default;
29452
+ }, function (_controlsFormRequiredFormField) {
29453
+ PasswordFormField = _controlsFormRequiredFormField.PasswordFormField;
29454
+ }, function (_webAtomsCoreDistCoreBind) {
29455
+ Bind = _webAtomsCoreDistCoreBind.default;
29456
+ }, function (_controlsPasswordPasswordStrength) {
29457
+ PasswordStrength = _controlsPasswordPasswordStrength.default;
29458
+ }, function (_webAtomsWebControlsDistBasicFormField) {
29459
+ FormField = _webAtomsWebControlsDistBasicFormField.default;
29460
+ }, function (_webAtomsWebControlsDistBasicPasswordBox) {
29461
+ PasswordBox = _webAtomsWebControlsDistBasicPasswordBox.default;
29462
+ }, function (_validatorsValidators) {
29463
+ Validators = _validatorsValidators.Validators;
29464
+ }, function (_controlsButtonsIconButton) {
29465
+ SaveIconTextButton = _controlsButtonsIconButton.SaveIconTextButton;
29466
+ }, function (_webAtomsCoreDistViewModelAction) {
29467
+ Action = _webAtomsCoreDistViewModelAction.default;
29468
+ }],
29469
+ execute: function () {
29470
+ _export("default", ChangePasswordPage = class ChangePasswordPage extends PopupWindowPage {
29471
+ constructor() {
29472
+ super(...arguments);
29473
+ this.password = "";
29474
+ }
29475
+ init() {
29476
+ return __awaiter(this, void 0, void 0, function* () {
29477
+ this.model = yield this.userService.getCurrent();
29478
+ this.title = "Change Password";
29479
+ this.model.changePassword = {
29480
+ oldPassword: "",
29481
+ newPassword: "",
29482
+ forceChangePasswordOnLogin: false
29483
+ };
29484
+ this.renderer = XNode.create("div", null, XNode.create(Form, null, XNode.create(PasswordFormField, {
29485
+ label: "Current Password",
29486
+ value: () => this.model.changePassword.oldPassword
29487
+ }), XNode.create(FormField, {
29488
+ label: "Password",
29489
+ required: true,
29490
+ error: Bind.oneWay(() => Validators.isValidPassword(this.password) ? "" : "Password is invalid")
29491
+ }, XNode.create(PasswordBox, {
29492
+ value: Bind.twoWaysImmediate(() => this.password)
29493
+ })), XNode.create(PasswordStrength, {
29494
+ password: Bind.oneWay(() => this.password)
29495
+ }), XNode.create(FormField, {
29496
+ label: "Password again",
29497
+ required: true,
29498
+ error: Bind.oneWay(() => this.password !== this.model.changePassword.newPassword ? "Passwords do not match" : "")
29499
+ }, XNode.create(PasswordBox, {
29500
+ value: Bind.twoWaysImmediate(() => this.model.changePassword.newPassword)
29501
+ })), XNode.create("div", {
29502
+ "data-layout": "command-row"
29503
+ }, XNode.create(SaveIconTextButton, {
29504
+ "data-submit-event": "save-user",
29505
+ text: "Change"
29506
+ }))));
29507
+ });
29508
+ }
29509
+ saveUser() {
29510
+ return __awaiter(this, void 0, void 0, function* () {
29511
+ yield this.userService.save(this.model);
29512
+ });
29513
+ }
29514
+ });
29515
+ __decorate([InjectProperty, __metadata("design:type", UserService)], ChangePasswordPage.prototype, "userService", void 0);
29516
+ __decorate([Action({
29517
+ onEvent: "save-user",
29518
+ success: "Password changed successfully."
29519
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], ChangePasswordPage.prototype, "saveUser", null);
29520
+ }
29521
+ };
29522
+ });
29523
+ //# sourceMappingURL=ChangePasswordPage.js.map
29524
+
29525
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage");
29526
+
29527
+ 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) {
29528
+ "use strict";
29529
+
29530
+ var __awaiter, __decorate, __metadata, ContentPage, UserAuthFactor, InjectProperty, UserService, XNode, Form, AddIconTextButton, DeleteIconTextButton, SaveIconTextButton, FormField, Bind, Action, AtomRepeater, DateFormats, MultiFactorSetupPage;
29531
+ _export("default", void 0);
29532
+ return {
29533
+ setters: [function (_tslib) {
29534
+ __awaiter = _tslib.__awaiter;
29535
+ __decorate = _tslib.__decorate;
29536
+ __metadata = _tslib.__metadata;
29537
+ }, function (_webAtomsWebControlsDistMobileAppMobileApp) {
29538
+ ContentPage = _webAtomsWebControlsDistMobileAppMobileApp.ContentPage;
29539
+ }, function (_modelModel) {
29540
+ UserAuthFactor = _modelModel.UserAuthFactor;
29541
+ }, function (_webAtomsCoreDistCoreInjectProperty) {
29542
+ InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
29543
+ }, function (_servicesUserService) {
29544
+ UserService = _servicesUserService.default;
29545
+ }, function (_webAtomsCoreDistCoreXNode) {
29546
+ XNode = _webAtomsCoreDistCoreXNode.default;
29547
+ }, function (_webAtomsWebControlsDistBasicForm) {
29548
+ Form = _webAtomsWebControlsDistBasicForm.default;
29549
+ }, function (_controlsButtonsIconButton) {
29550
+ AddIconTextButton = _controlsButtonsIconButton.AddIconTextButton;
29551
+ DeleteIconTextButton = _controlsButtonsIconButton.DeleteIconTextButton;
29552
+ SaveIconTextButton = _controlsButtonsIconButton.SaveIconTextButton;
29553
+ }, function (_webAtomsWebControlsDistBasicFormField) {
29554
+ FormField = _webAtomsWebControlsDistBasicFormField.default;
29555
+ }, function (_webAtomsCoreDistCoreBind) {
29556
+ Bind = _webAtomsCoreDistCoreBind.default;
29557
+ }, function (_webAtomsCoreDistViewModelAction) {
29558
+ Action = _webAtomsCoreDistViewModelAction.default;
29559
+ }, function (_webAtomsWebControlsDistBasicAtomRepeater) {
29560
+ AtomRepeater = _webAtomsWebControlsDistBasicAtomRepeater.default;
29561
+ }, function (_dateDateFormats) {
29562
+ DateFormats = _dateDateFormats.DateFormats;
29563
+ }],
29564
+ execute: function () {
29565
+ _export("default", MultiFactorSetupPage = class MultiFactorSetupPage extends ContentPage {
29566
+ init() {
29567
+ var _a, _b;
29568
+ return __awaiter(this, void 0, void 0, function* () {
29569
+ this.model = yield this.userService.getCurrent();
29570
+ const {
29571
+ multiFactor
29572
+ } = this.model;
29573
+ this.title = "Setup Multi Factor Authentication";
29574
+ if (!((_a = this.model.authFactors) === null || _a === void 0 ? void 0 : _a.length)) {
29575
+ yield this.notSetup();
29576
+ return;
29577
+ }
29578
+ if (multiFactor) {
29579
+ this.renderer = XNode.create("div", {
29580
+ "data-layout": "center-page-900px"
29581
+ }, XNode.create(Form, null, XNode.create(FormField, {
29582
+ label: "Methods"
29583
+ }, XNode.create(AtomRepeater, {
29584
+ for: "table",
29585
+ items: this.model.authFactors,
29586
+ itemRenderer: item => this.renderAuthFactor(item)
29587
+ })), !multiFactor && XNode.create("div", {
29588
+ "data-layout": "command-row"
29589
+ }, XNode.create(AddIconTextButton, {
29590
+ "event-click": () => this.addAuthenticator(),
29591
+ text: "Add Authenticator"
29592
+ }), XNode.create(AddIconTextButton, {
29593
+ "event-click": () => this.generateOTP(),
29594
+ text: "Generate OTP"
29595
+ })), XNode.create("div", {
29596
+ "data-layout": "command-row"
29597
+ }, XNode.create("div", null, "Multi factor authentication is enabled."), XNode.create(DeleteIconTextButton, {
29598
+ text: "Disable"
29599
+ }))));
29600
+ return;
29601
+ }
29602
+ 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;
29603
+ this.renderer = XNode.create("div", {
29604
+ "data-layout": "center-page-900px"
29605
+ }, XNode.create(Form, null, XNode.create(FormField, {
29606
+ label: "Methods"
29607
+ }, XNode.create(AtomRepeater, {
29608
+ for: "table",
29609
+ items: this.model.authFactors,
29610
+ itemRenderer: item => this.renderAuthFactor(item)
29611
+ })), !multiFactor && XNode.create("div", {
29612
+ "data-layout": "command-row"
29613
+ }, XNode.create(AddIconTextButton, {
29614
+ "event-click": () => this.addAuthenticator(),
29615
+ text: "Add Authenticator"
29616
+ }), XNode.create(AddIconTextButton, {
29617
+ "event-click": () => this.generateOTP(),
29618
+ text: "Generate OTP"
29619
+ })), 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", {
29620
+ "data-layout": "command-row"
29621
+ }, XNode.create(SaveIconTextButton, {
29622
+ disabled: disable,
29623
+ "style-color": disable ? "gray" : "",
29624
+ "data-click-event": "enable-multi-factor",
29625
+ text: "Enable"
29626
+ }), XNode.create(DeleteIconTextButton, {
29627
+ "data-submit-event": "clear-all",
29628
+ text: "Clear All"
29629
+ })), multiFactor && XNode.create("div", {
29630
+ "data-layout": "command-row"
29631
+ }, XNode.create(DeleteIconTextButton, {
29632
+ text: "Disable"
29633
+ }))));
29634
+ });
29635
+ }
29636
+ renderAuthFactor(item) {
29637
+ if (item.method === "totp") {
29638
+ 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", {
29639
+ class: "fas fa-check green"
29640
+ })));
29641
+ }
29642
+ if (item.method === "one-time") {
29643
+ 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", {
29644
+ class: "fas fa-check green"
29645
+ })));
29646
+ }
29647
+ 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", {
29648
+ class: "fas fa-check green"
29649
+ })));
29650
+ }
29651
+ notSetup() {
29652
+ return __awaiter(this, void 0, void 0, function* () {
29653
+ this.renderer = XNode.create("div", {
29654
+ "data-layout": "center-page-900px"
29655
+ }, XNode.create("p", null, "You account is not secure, please setup multi factor authentication."), XNode.create(AddIconTextButton, {
29656
+ "event-click": () => this.addAuthenticator(),
29657
+ text: "Add Authenticator"
29658
+ }));
29659
+ });
29660
+ }
29661
+ addAuthenticator() {
29662
+ return __awaiter(this, void 0, void 0, function* () {
29663
+ const authFactor = yield this.userService.createAuthFactor(this.model);
29664
+ this.authFactor = authFactor;
29665
+ this.renderer = XNode.create("div", {
29666
+ "data-layout": "center-page-900px"
29667
+ }, XNode.create(Form, null, XNode.create(FormField, {
29668
+ label: ""
29669
+ }, 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, {
29670
+ label: "Secret"
29671
+ }, XNode.create("img", {
29672
+ src: authFactor.qrCodeDataUrl
29673
+ })), XNode.create(FormField, {
29674
+ label: "Code",
29675
+ required: true,
29676
+ error: Bind.oneWay(() => this.authFactor.token ? "" : "Code is required")
29677
+ }, XNode.create("input", {
29678
+ type: "tel",
29679
+ value: Bind.twoWaysImmediate(() => this.authFactor.token)
29680
+ })), XNode.create("div", {
29681
+ "data-layout": "command-row"
29682
+ }, XNode.create(SaveIconTextButton, {
29683
+ "data-submit-event": "save-auth-factor",
29684
+ text: "Verify"
29685
+ }))));
29686
+ });
29687
+ }
29688
+ generateOTP() {
29689
+ var _a;
29690
+ var _b;
29691
+ return __awaiter(this, void 0, void 0, function* () {
29692
+ const authList = (_a = (_b = this.model).authFactors) !== null && _a !== void 0 ? _a : _b.authFactors = [];
29693
+ for (let index = 0; index < 8; index++) {
29694
+ authList.push(UserAuthFactor.create({
29695
+ method: "one-time"
29696
+ }));
29697
+ }
29698
+ yield this.userService.save(this.model);
29699
+ let text = "";
29700
+ for (const iterator of authList) {
29701
+ if (!(iterator === null || iterator === void 0 ? void 0 : iterator.displaySecret)) {
29702
+ continue;
29703
+ }
29704
+ text += "\r\n" + iterator.displaySecret;
29705
+ }
29706
+ text += "\r\n";
29707
+ this.renderer = XNode.create("div", {
29708
+ "data-layout": "center-page-900px"
29709
+ }, XNode.create(Form, null, XNode.create(FormField, {
29710
+ label: "One Time Passwords"
29711
+ }, 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, {
29712
+ label: ""
29713
+ }, XNode.create("textarea", {
29714
+ rows: 12,
29715
+ value: text
29716
+ })), XNode.create("div", null, "After copying, click go to previous screen."), XNode.create("div", {
29717
+ "data-layout": "command-row"
29718
+ }, XNode.create(SaveIconTextButton, {
29719
+ "event-click": () => this.init(),
29720
+ text: "Go"
29721
+ }))));
29722
+ });
29723
+ }
29724
+ clearAll() {
29725
+ return __awaiter(this, void 0, void 0, function* () {
29726
+ const all = this.model.authFactors;
29727
+ if (!(all === null || all === void 0 ? void 0 : all.length)) {
29728
+ return;
29729
+ }
29730
+ for (const iterator of all) {
29731
+ iterator.$deleted = true;
29732
+ }
29733
+ yield this.userService.save(this.model);
29734
+ yield this.init();
29735
+ });
29736
+ }
29737
+ enableMultiFactor() {
29738
+ return __awaiter(this, void 0, void 0, function* () {
29739
+ this.model.multiFactor = true;
29740
+ yield this.userService.save(this.model);
29741
+ yield this.init();
29742
+ });
29743
+ }
29744
+ saveAuthFactor() {
29745
+ return __awaiter(this, void 0, void 0, function* () {
29746
+ yield this.userService.save(this.model);
29747
+ yield this.init();
29748
+ });
29749
+ }
29750
+ });
29751
+ __decorate([InjectProperty, __metadata("design:type", UserService)], MultiFactorSetupPage.prototype, "userService", void 0);
29752
+ __decorate([Action({
29753
+ onEvent: "clear-all",
29754
+ confirm: "Are you sure you want to delete all existing methods?"
29755
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], MultiFactorSetupPage.prototype, "clearAll", null);
29756
+ __decorate([Action({
29757
+ onEvent: "enable-multi-factor",
29758
+ success: "Multi factor authentication enabled successfully."
29759
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], MultiFactorSetupPage.prototype, "enableMultiFactor", null);
29760
+ __decorate([Action({
29761
+ onEvent: "save-auth-factor",
29762
+ success: "Authenticator setup successfully."
29763
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], MultiFactorSetupPage.prototype, "saveAuthFactor", null);
29764
+ }
29765
+ };
29766
+ });
29767
+ //# sourceMappingURL=MultiFactorSetupPage.js.map
29768
+
29769
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage");
29770
+
29188
29771
  System.register(["@web-atoms/core/dist/core/Command"], function (_export, _context) {
29189
29772
  "use strict";
29190
29773
 
@@ -29200,13 +29783,21 @@ System.register(["@web-atoms/core/dist/core/Command"], function (_export, _conte
29200
29783
  CommonCommands.openMailbox = Command.create({
29201
29784
  route: "/mailbox/{id}",
29202
29785
  routeOrder: 50,
29203
- openPage: () => _context.import("../../web/page/mails/MailsPage")
29786
+ openPage: () => _context.import("../../web/page/mails/MailboxContacts")
29204
29787
  });
29205
29788
  CommonCommands.openDrives = Command.create({
29206
29789
  route: "/drives",
29207
29790
  routeOrder: 100,
29208
29791
  openPage: () => _context.import("../pages/drives/DriveListPage")
29209
29792
  });
29793
+ CommonCommands.changePassword = Command.create({
29794
+ route: "/user/change-password",
29795
+ pushPage: () => _context.import("../pages/user/change-password/ChangePasswordPage")
29796
+ });
29797
+ CommonCommands.setupMultiFactor = Command.create({
29798
+ route: "/user/multi-factor/setup",
29799
+ pushPage: () => _context.import("../pages/user/multi-factor/MultiFactorSetupPage")
29800
+ });
29210
29801
  }
29211
29802
  };
29212
29803
  });
@@ -29254,6 +29845,7 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
29254
29845
  var _a;
29255
29846
  return __awaiter(this, void 0, void 0, function* () {
29256
29847
  this.model = ((_a = this.parameters) === null || _a === void 0 ? void 0 : _a.syncTargetID) ? this.parameters : MailboxSyncTarget.create({
29848
+ active: true,
29257
29849
  port: 993,
29258
29850
  isSecure: true,
29259
29851
  newPassword: "",
@@ -29644,10 +30236,114 @@ System.register(["@web-atoms/core/dist/core/Command", "../../common/commands/Com
29644
30236
 
29645
30237
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/commands/AdminCommands");
29646
30238
 
29647
- System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "@web-atoms/web-controls/dist/basic/Form", "@web-atoms/web-controls/dist/basic/FormField", "../../../model/model", "@web-atoms/core/dist/core/Bind", "@web-atoms/web-controls/dist/basic/PasswordBox", "@web-atoms/core/dist/view-model/Action", "@web-atoms/core/dist/core/InjectProperty", "../../../services/UserService", "../../controls/password/PasswordStrength", "../../validators/Validators"], function (_export, _context) {
30239
+ System.register(["@web-atoms/core/dist/style/styled"], function (_export, _context) {
30240
+ "use strict";
30241
+
30242
+ var styled;
30243
+ return {
30244
+ setters: [function (_webAtomsCoreDistStyleStyled) {
30245
+ styled = _webAtomsCoreDistStyleStyled.default;
30246
+ }],
30247
+ execute: function () {
30248
+ styled.css`
30249
+
30250
+ display: inline-grid;
30251
+ grid-auto-flow: column;
30252
+ align-content: center;
30253
+ justify-items: stretch;
30254
+ text-align: center;
30255
+ border-style: solid;
30256
+ border-width: 1px;
30257
+ border-color: #d3d3d3;
30258
+ border-radius: 9999px;
30259
+
30260
+ & > [data-item-type=toggle-button] {
30261
+ padding: 5px;
30262
+ background-color: #ffffff;
30263
+ cursor: pointer;
30264
+
30265
+ &:first-child {
30266
+ padding-left: 10px;
30267
+ border-top-left-radius: 9999px;
30268
+ border-bottom-left-radius: 9999px;
30269
+ }
30270
+
30271
+ &:last-child {
30272
+ border-top-right-radius: 9999px;
30273
+ border-bottom-right-radius: 9999px;
30274
+ padding-right: 10px;
30275
+ }
30276
+
30277
+ &[data-selected-item=true] {
30278
+ background-color: var(--accent-color, black);
30279
+ color: #ffffff;
30280
+ }
30281
+ }
30282
+ `.installGlobal("[data-button-bar=button-bar]");
30283
+ }
30284
+ };
30285
+ });
30286
+ //# sourceMappingURL=toggle-button-bar-style.js.map
30287
+
30288
+ AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/toggle-button-bar-style");
30289
+
30290
+ System.register(["tslib", "@web-atoms/core/dist/core/BindableProperty", "@web-atoms/core/dist/core/XNode", "./AtomRepeater", "./styles/toggle-button-bar-style"], function (_export, _context) {
29648
30291
  "use strict";
29649
30292
 
29650
- var __awaiter, __decorate, __metadata, XNode, ContentPage, Form, FormField, LoginSession, Bind, PasswordBox, Action, InjectProperty, UserService, PasswordStrength, Validators, LoginPage;
30293
+ var __decorate, __metadata, BindableProperty, XNode, AtomRepeater, ToggleButtonBar;
30294
+ _export("default", void 0);
30295
+ return {
30296
+ setters: [function (_tslib) {
30297
+ __decorate = _tslib.__decorate;
30298
+ __metadata = _tslib.__metadata;
30299
+ }, function (_webAtomsCoreDistCoreBindableProperty) {
30300
+ BindableProperty = _webAtomsCoreDistCoreBindableProperty.BindableProperty;
30301
+ }, function (_webAtomsCoreDistCoreXNode) {
30302
+ XNode = _webAtomsCoreDistCoreXNode.default;
30303
+ }, function (_AtomRepeater) {
30304
+ AtomRepeater = _AtomRepeater.default;
30305
+ }, function (_stylesToggleButtonBarStyle) {}],
30306
+ execute: function () {
30307
+ _export("default", ToggleButtonBar = class ToggleButtonBar extends AtomRepeater {
30308
+ onPropertyChanged(name) {
30309
+ super.onPropertyChanged(name);
30310
+ if (name === "labelPath") {
30311
+ this.updateItems();
30312
+ return;
30313
+ }
30314
+ }
30315
+ preCreate() {
30316
+ super.preCreate();
30317
+ this.element.dataset.buttonBar = "button-bar";
30318
+ this.bindEvent(this.element, "itemClick", e => {
30319
+ this.selectedItem = e.detail;
30320
+ });
30321
+ this.valuePath = item => {
30322
+ var _a;
30323
+ return (_a = item === null || item === void 0 ? void 0 : item.value) !== null && _a !== void 0 ? _a : item;
30324
+ };
30325
+ this.labelPath = item => {
30326
+ var _a;
30327
+ return (_a = item === null || item === void 0 ? void 0 : item.label) !== null && _a !== void 0 ? _a : item;
30328
+ };
30329
+ this.itemRenderer = item => XNode.create("div", {
30330
+ "data-item-type": "toggle-button",
30331
+ text: this.labelPath(item)
30332
+ });
30333
+ }
30334
+ });
30335
+ __decorate([BindableProperty, __metadata("design:type", Object)], ToggleButtonBar.prototype, "labelPath", void 0);
30336
+ }
30337
+ };
30338
+ });
30339
+ //# sourceMappingURL=ToggleButtonBar.js.map
30340
+
30341
+ AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/ToggleButtonBar");
30342
+
30343
+ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "@web-atoms/web-controls/dist/basic/Form", "@web-atoms/web-controls/dist/basic/FormField", "../../../../model/model", "@web-atoms/core/dist/core/Bind", "@web-atoms/web-controls/dist/basic/PasswordBox", "@web-atoms/core/dist/view-model/Action", "@web-atoms/core/dist/core/InjectProperty", "../../../../services/LoginService", "../../../controls/password/PasswordStrength", "../../../validators/Validators", "@web-atoms/web-controls/dist/basic/ToggleButtonBar", "../../../controls/buttons/IconButton"], function (_export, _context) {
30344
+ "use strict";
30345
+
30346
+ var __awaiter, __decorate, __metadata, XNode, ContentPage, Form, FormField, LoginSession, Bind, PasswordBox, Action, InjectProperty, LoginService, PasswordStrength, Validators, ToggleButtonBar, SaveIconTextButton, LoginPage, authTypes;
29651
30347
  _export("default", void 0);
29652
30348
  return {
29653
30349
  setters: [function (_tslib) {
@@ -29672,24 +30368,38 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-con
29672
30368
  Action = _webAtomsCoreDistViewModelAction.default;
29673
30369
  }, function (_webAtomsCoreDistCoreInjectProperty) {
29674
30370
  InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
29675
- }, function (_servicesUserService) {
29676
- UserService = _servicesUserService.default;
30371
+ }, function (_servicesLoginService) {
30372
+ LoginService = _servicesLoginService.default;
29677
30373
  }, function (_controlsPasswordPasswordStrength) {
29678
30374
  PasswordStrength = _controlsPasswordPasswordStrength.default;
29679
30375
  }, function (_validatorsValidators) {
29680
30376
  Validators = _validatorsValidators.Validators;
30377
+ }, function (_webAtomsWebControlsDistBasicToggleButtonBar) {
30378
+ ToggleButtonBar = _webAtomsWebControlsDistBasicToggleButtonBar.default;
30379
+ }, function (_controlsButtonsIconButton) {
30380
+ SaveIconTextButton = _controlsButtonsIconButton.SaveIconTextButton;
29681
30381
  }],
29682
30382
  execute: function () {
30383
+ authTypes = [{
30384
+ label: "Authenticator (TOTP)",
30385
+ value: "totp"
30386
+ }, {
30387
+ label: "One Time Password",
30388
+ value: "one-time"
30389
+ }];
29683
30390
  _export("default", LoginPage = class LoginPage extends ContentPage {
29684
30391
  constructor() {
29685
30392
  super(...arguments);
29686
30393
  this.password = "";
30394
+ this.authType = "totp";
29687
30395
  }
29688
30396
  init() {
29689
30397
  return __awaiter(this, void 0, void 0, function* () {
29690
30398
  this.model = LoginSession.create({});
29691
30399
  this.model.userName = "";
29692
30400
  this.model.checkPassword = "";
30401
+ this.model.timeToken = "";
30402
+ this.model.oneTimePassword = "";
29693
30403
  this.render(XNode.create("div", null, XNode.create("div", {
29694
30404
  "data-layout": "center-all"
29695
30405
  }, XNode.create(Form, null, XNode.create(FormField, {
@@ -29708,16 +30418,41 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-con
29708
30418
  });
29709
30419
  }
29710
30420
  login() {
29711
- var _a;
29712
30421
  return __awaiter(this, void 0, void 0, function* () {
29713
- try {
29714
- yield this.userService.login(this.model);
30422
+ const status = yield this.userService.login(this.model);
30423
+ if (status === "change-password") {
30424
+ yield this.showChangePassword();
29715
30425
  return;
29716
- } catch (error) {
29717
- if (!/change the password/i.test((_a = error.stack) !== null && _a !== void 0 ? _a : error)) {
29718
- throw error;
29719
- }
29720
30426
  }
30427
+ this.renderer = XNode.create("div", {
30428
+ "data-layout": "center-all"
30429
+ }, XNode.create(Form, null, XNode.create(FormField, {
30430
+ label: "Enter"
30431
+ }, XNode.create(ToggleButtonBar, {
30432
+ items: authTypes,
30433
+ value: Bind.twoWays(() => this.authType)
30434
+ })), XNode.create(FormField, {
30435
+ label: "Code",
30436
+ "style-display": Bind.oneWay(() => this.authType === "totp")
30437
+ }, XNode.create("input", {
30438
+ type: "tel",
30439
+ value: Bind.twoWaysImmediate(() => this.model.timeToken)
30440
+ })), XNode.create(FormField, {
30441
+ label: "One Time Password",
30442
+ "style-display": Bind.oneWay(() => this.authType !== "totp")
30443
+ }, XNode.create("input", {
30444
+ type: "tel",
30445
+ value: Bind.twoWaysImmediate(() => this.model.oneTimePassword)
30446
+ })), XNode.create("div", {
30447
+ "data-layout": "command-row"
30448
+ }, XNode.create(SaveIconTextButton, {
30449
+ "event-click": () => this.login(),
30450
+ text: "Go"
30451
+ }))));
30452
+ });
30453
+ }
30454
+ showChangePassword() {
30455
+ return __awaiter(this, void 0, void 0, function* () {
29721
30456
  this.model.newPassword = "";
29722
30457
  this.renderer = XNode.create("div", null, XNode.create("div", {
29723
30458
  "data-layout": "center-all"
@@ -29744,7 +30479,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-con
29744
30479
  });
29745
30480
  }
29746
30481
  });
29747
- __decorate([InjectProperty, __metadata("design:type", UserService)], LoginPage.prototype, "userService", void 0);
30482
+ __decorate([InjectProperty, __metadata("design:type", LoginService)], LoginPage.prototype, "userService", void 0);
29748
30483
  __decorate([Action({
29749
30484
  onEvent: "login"
29750
30485
  }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], LoginPage.prototype, "login", null);
@@ -29753,7 +30488,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-con
29753
30488
  });
29754
30489
  //# sourceMappingURL=LoginPage.js.map
29755
30490
 
29756
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/LoginPage");
30491
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/login/LoginPage");
29757
30492
 
29758
30493
  System.register(["@web-atoms/core/dist/core/XNode"], function (_export, _context) {
29759
30494
  "use strict";
@@ -29897,10 +30632,10 @@ System.register(["@web-atoms/core/dist/core/XNode"], function (_export, _context
29897
30632
 
29898
30633
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/ModuleInfo");
29899
30634
 
29900
- System.register(["tslib", "@web-atoms/core/dist/Pack", "@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp", "../style/GlobalStyle", "../services/UserService", "@web-atoms/core/dist/core/InjectProperty", "./commands/AdminCommands", "@web-atoms/web-controls/dist/PageNavigator", "../common/pages/user/LoginPage", "./drawer/AdminDrawer", "@web-atoms/core/dist/core/Command", "@web-atoms/core/dist/core/Route", "../services/files/LocalFileService", "@web-atoms/core/dist/core/XNode", "../common/controls/ModuleInfo"], function (_export, _context) {
30635
+ System.register(["tslib", "@web-atoms/core/dist/Pack", "@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp", "../style/GlobalStyle", "../services/LoginService", "@web-atoms/core/dist/core/InjectProperty", "./commands/AdminCommands", "@web-atoms/web-controls/dist/PageNavigator", "../common/pages/user/login/LoginPage", "./drawer/AdminDrawer", "@web-atoms/core/dist/core/Command", "@web-atoms/core/dist/core/Route", "../services/files/LocalFileService", "@web-atoms/core/dist/core/XNode", "../common/controls/ModuleInfo"], function (_export, _context) {
29901
30636
  "use strict";
29902
30637
 
29903
- var __awaiter, __decorate, __metadata, Pack, MobileDesktopApp, UserService, InjectProperty, AdminCommands, PageNavigator, LoginPage, AdminDrawer, Command, Route, LocalFileService, XNode, ModuleInfo, AdminAppIndex;
30638
+ var __awaiter, __decorate, __metadata, Pack, MobileDesktopApp, LoginService, InjectProperty, AdminCommands, PageNavigator, LoginPage, AdminDrawer, Command, Route, LocalFileService, XNode, ModuleInfo, AdminAppIndex;
29904
30639
  return {
29905
30640
  setters: [function (_tslib) {
29906
30641
  __awaiter = _tslib.__awaiter;
@@ -29910,16 +30645,16 @@ System.register(["tslib", "@web-atoms/core/dist/Pack", "@web-atoms/web-controls/
29910
30645
  Pack = _webAtomsCoreDistPack.default;
29911
30646
  }, function (_webAtomsWebControlsDistDesktopAppMobileDesktopApp) {
29912
30647
  MobileDesktopApp = _webAtomsWebControlsDistDesktopAppMobileDesktopApp.default;
29913
- }, function (_styleGlobalStyle) {}, function (_servicesUserService) {
29914
- UserService = _servicesUserService.default;
30648
+ }, function (_styleGlobalStyle) {}, function (_servicesLoginService) {
30649
+ LoginService = _servicesLoginService.default;
29915
30650
  }, function (_webAtomsCoreDistCoreInjectProperty) {
29916
30651
  InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
29917
30652
  }, function (_commandsAdminCommands) {
29918
30653
  AdminCommands = _commandsAdminCommands.default;
29919
30654
  }, function (_webAtomsWebControlsDistPageNavigator) {
29920
30655
  PageNavigator = _webAtomsWebControlsDistPageNavigator.default;
29921
- }, function (_commonPagesUserLoginPage) {
29922
- LoginPage = _commonPagesUserLoginPage.default;
30656
+ }, function (_commonPagesUserLoginLoginPage) {
30657
+ LoginPage = _commonPagesUserLoginLoginPage.default;
29923
30658
  }, function (_drawerAdminDrawer) {
29924
30659
  AdminDrawer = _drawerAdminDrawer.default;
29925
30660
  }, function (_webAtomsCoreDistCoreCommand) {
@@ -29959,7 +30694,7 @@ System.register(["tslib", "@web-atoms/core/dist/Pack", "@web-atoms/web-controls/
29959
30694
  });
29960
30695
  }
29961
30696
  };
29962
- __decorate([InjectProperty, __metadata("design:type", UserService)], AdminAppIndex.prototype, "userService", void 0);
30697
+ __decorate([InjectProperty, __metadata("design:type", LoginService)], AdminAppIndex.prototype, "userService", void 0);
29963
30698
  AdminAppIndex = __decorate([Pack], AdminAppIndex);
29964
30699
  _export("default", AdminAppIndex);
29965
30700
  Route.encodeUrl = url => {