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

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 (54) 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 +602 -37
  4. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  5. package/dist/admin/AdminAppIndex.pack.min.js +42 -8
  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/commands/CommonCommands.js +8 -0
  10. package/dist/common/commands/CommonCommands.js.map +1 -1
  11. package/dist/common/controls/tree/TreeView.js +1 -0
  12. package/dist/common/controls/tree/TreeView.js.map +1 -1
  13. package/dist/common/pages/folders/ChooseTemplatePage.js +97 -0
  14. package/dist/common/pages/folders/ChooseTemplatePage.js.map +1 -0
  15. package/dist/common/pages/user/change-password/ChangePasswordPage.js +92 -0
  16. package/dist/common/pages/user/change-password/ChangePasswordPage.js.map +1 -0
  17. package/dist/common/pages/user/{LoginPage.js → login/LoginPage.js} +51 -12
  18. package/dist/common/pages/user/login/LoginPage.js.map +1 -0
  19. package/dist/common/pages/user/multi-factor/MultiFactorSetupPage.js +221 -0
  20. package/dist/common/pages/user/multi-factor/MultiFactorSetupPage.js.map +1 -0
  21. package/dist/common/pages/user/services/UserService.js +61 -0
  22. package/dist/common/pages/user/services/UserService.js.map +1 -0
  23. package/dist/model/model.js +5 -2
  24. package/dist/model/model.js.map +1 -1
  25. package/dist/services/{UserService.js → LoginService.js} +9 -6
  26. package/dist/services/LoginService.js.map +1 -0
  27. package/dist/tsconfig.tsbuildinfo +1 -1
  28. package/dist/web/AppIndex.js +15 -8
  29. package/dist/web/AppIndex.js.map +1 -1
  30. package/dist/web/AppIndex.pack.js +914 -335
  31. package/dist/web/AppIndex.pack.js.map +1 -1
  32. package/dist/web/AppIndex.pack.min.js +42 -8
  33. package/dist/web/AppIndex.pack.min.js.map +1 -1
  34. package/dist/web/drawer/AppDrawer.js +16 -3
  35. package/dist/web/drawer/AppDrawer.js.map +1 -1
  36. package/dist/web/page/mails/MailsPage.js +24 -6
  37. package/dist/web/page/mails/MailsPage.js.map +1 -1
  38. package/package.json +1 -1
  39. package/src/admin/AdminAppIndex.tsx +3 -3
  40. package/src/admin/pages/domains/services/AdminDomainService.ts +5 -1
  41. package/src/common/commands/CommonCommands.ts +10 -0
  42. package/src/common/controls/tree/TreeView.tsx +2 -0
  43. package/src/common/pages/folders/ChooseTemplatePage.tsx +77 -0
  44. package/src/common/pages/user/change-password/ChangePasswordPage.tsx +80 -0
  45. package/src/common/pages/user/{LoginPage.tsx → login/LoginPage.tsx} +54 -12
  46. package/src/common/pages/user/multi-factor/MultiFactorSetupPage.tsx +231 -0
  47. package/src/common/pages/user/services/UserService.ts +41 -0
  48. package/src/model/model.ts +9 -5
  49. package/src/services/{UserService.ts → LoginService.ts} +4 -1
  50. package/src/web/AppIndex.tsx +9 -4
  51. package/src/web/drawer/AppDrawer.tsx +17 -2
  52. package/src/web/page/mails/MailsPage.tsx +20 -1
  53. package/dist/common/pages/user/LoginPage.js.map +0 -1
  54. package/dist/services/UserService.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/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/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";
@@ -15932,8 +15938,14 @@ System.register(["tslib", "@web-atoms/core/dist/di/DITransient", "@web-atoms/cor
15932
15938
  return this.entityService.query(HostedDomain).include(x => x.domain).include(x => x.domainUsers).include(x => x.templates.forEach(f => f.folder)).toArray();
15933
15939
  }
15934
15940
  save(domain) {
15941
+ var _a;
15935
15942
  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);
15943
+ if (!domain.domainID) {
15944
+ if ((_a = domain.domain) === null || _a === void 0 ? void 0 : _a.name) {
15945
+ domain.domainNameToCreate = domain.domain.name;
15946
+ }
15947
+ }
15948
+ const clone = this.entityService.cloner(domain).include(x => x.domainUsers).include(x => x.templates);
15937
15949
  const d = yield this.entityService.save(clone.copy);
15938
15950
  return this.entityService.query(HostedDomain).where({
15939
15951
  domainID: d.domainID
@@ -18162,6 +18174,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/di
18162
18174
  constructor() {
18163
18175
  super(...arguments);
18164
18176
  this.map = new WeakMap();
18177
+ this.canSelect = x => true;
18165
18178
  }
18166
18179
  onPropertyChanging(name, oldValue, newValue) {
18167
18180
  if (name === "selectedItem") {
@@ -28884,10 +28897,10 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
28884
28897
 
28885
28898
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage");
28886
28899
 
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) {
28900
+ 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"], function (_export, _context) {
28888
28901
  "use strict";
28889
28902
 
28890
- var __awaiter, __decorate, __metadata, InjectProperty, XNode, MailService, AtomRepeater, InfiniteRepeater, Bind, MasterDetailPage, Action, ConversationPage, PageNavigator, ComposeMailPage, styled, MailboxSocket, ChooseMailboxPage, MailsPage, css;
28903
+ var __awaiter, __decorate, __metadata, InjectProperty, XNode, MailService, AtomRepeater, InfiniteRepeater, Bind, MasterDetailPage, Action, ConversationPage, PageNavigator, ComposeMailPage, styled, MailboxSocket, ChooseMailboxPage, MenuItem, PopupActionButton, MailsPage, css;
28891
28904
  _export("default", void 0);
28892
28905
  return {
28893
28906
  setters: [function (_tslib) {
@@ -28922,6 +28935,9 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
28922
28935
  MailboxSocket = _servicesSocketSockets.MailboxSocket;
28923
28936
  }, function (_ChooseMailboxPage) {
28924
28937
  ChooseMailboxPage = _ChooseMailboxPage.default;
28938
+ }, function (_webAtomsWebControlsDistBasicPopupButton) {
28939
+ MenuItem = _webAtomsWebControlsDistBasicPopupButton.MenuItem;
28940
+ PopupActionButton = _webAtomsWebControlsDistBasicPopupButton.PopupActionButton;
28925
28941
  }],
28926
28942
  execute: function () {
28927
28943
  css = styled.css`
@@ -28980,10 +28996,19 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
28980
28996
  const mailboxID = this.parameters.id;
28981
28997
  const mailbox = this.currentMailbox = yield this.mailService.mailbox(mailboxID);
28982
28998
  this.element.className = css;
28983
- this.actionRenderer = () => XNode.create("i", {
28984
- class: "fas fa-plus",
28985
- "data-click-event": "compose-email"
28986
- });
28999
+ this.actionRenderer = () => XNode.create("div", null, XNode.create(PopupActionButton, {
29000
+ icon: "fa-solid fa-plus",
29001
+ popup: () => XNode.create("div", {
29002
+ "data-click-event": "none",
29003
+ "data-click-animate": "no"
29004
+ }, XNode.create(MenuItem, {
29005
+ label: "Compose",
29006
+ "data-click-event": "compose-email"
29007
+ }), XNode.create(MenuItem, {
29008
+ label: "From Template",
29009
+ "data-click-event": "compose-template"
29010
+ }))
29011
+ }));
28987
29012
  document.title = (_a = mailbox.emailAddress) === null || _a === void 0 ? void 0 : _a.emailAddress;
28988
29013
  this.titleRenderer = () => XNode.create("div", {
28989
29014
  "data-layout": "row"
@@ -29030,6 +29055,9 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
29030
29055
  }));
29031
29056
  });
29032
29057
  }
29058
+ composeTemplate() {
29059
+ return __awaiter(this, void 0, void 0, function* () {});
29060
+ }
29033
29061
  mailsAvailable() {
29034
29062
  return __awaiter(this, void 0, void 0, function* () {
29035
29063
  if (!this.selectedThread) {
@@ -29070,6 +29098,9 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
29070
29098
  }
29071
29099
  });
29072
29100
  __decorate([InjectProperty, __metadata("design:type", MailService)], MailsPage.prototype, "mailService", void 0);
29101
+ __decorate([Action({
29102
+ onEvent: "compose-template"
29103
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], MailsPage.prototype, "composeTemplate", null);
29073
29104
  __decorate([Action({
29074
29105
  onEvent: "mails-available",
29075
29106
  defer: 100
@@ -29185,6 +29216,389 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
29185
29216
 
29186
29217
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/drives/DriveListPage");
29187
29218
 
29219
+ System.register(["tslib", "@web-atoms/core/dist/di/DITransient", "@web-atoms/core/dist/di/Inject", "../../../../services/EntityService", "../../../../model/model", "../../../SocialMailApp"], function (_export, _context) {
29220
+ "use strict";
29221
+
29222
+ var __awaiter, __decorate, __metadata, DITransient, Inject, EntityService, User, UserAuthFactor, SocialMailApp, UserService;
29223
+ return {
29224
+ setters: [function (_tslib) {
29225
+ __awaiter = _tslib.__awaiter;
29226
+ __decorate = _tslib.__decorate;
29227
+ __metadata = _tslib.__metadata;
29228
+ }, function (_webAtomsCoreDistDiDITransient) {
29229
+ DITransient = _webAtomsCoreDistDiDITransient.default;
29230
+ }, function (_webAtomsCoreDistDiInject) {
29231
+ Inject = _webAtomsCoreDistDiInject.Inject;
29232
+ }, function (_servicesEntityService) {
29233
+ EntityService = _servicesEntityService.default;
29234
+ }, function (_modelModel) {
29235
+ User = _modelModel.User;
29236
+ UserAuthFactor = _modelModel.UserAuthFactor;
29237
+ }, function (_SocialMailApp) {
29238
+ SocialMailApp = _SocialMailApp.default;
29239
+ }],
29240
+ execute: function () {
29241
+ UserService = class UserService {
29242
+ getCurrent() {
29243
+ return __awaiter(this, void 0, void 0, function* () {
29244
+ const {
29245
+ userID
29246
+ } = SocialMailApp.user;
29247
+ return this.entityService.query(User).where({
29248
+ userID
29249
+ }, p => x => x.userID === p.userID).include(x => x.authFactors).firstOrDefault();
29250
+ });
29251
+ }
29252
+ save(user) {
29253
+ return __awaiter(this, void 0, void 0, function* () {
29254
+ let cloner = this.entityService.cloner(user).include(x => x.authFactors);
29255
+ if (user.changePassword) {
29256
+ cloner = cloner.include(x => x.changePassword);
29257
+ }
29258
+ yield this.entityService.save(cloner.copy);
29259
+ });
29260
+ }
29261
+ createAuthFactor(user, method = "totp") {
29262
+ var _a;
29263
+ return __awaiter(this, void 0, void 0, function* () {
29264
+ const authFactor = UserAuthFactor.create({
29265
+ method
29266
+ });
29267
+ ((_a = user.authFactors) !== null && _a !== void 0 ? _a : user.authFactors = []).add(authFactor);
29268
+ yield this.save(user);
29269
+ return authFactor;
29270
+ });
29271
+ }
29272
+ };
29273
+ __decorate([Inject, __metadata("design:type", EntityService)], UserService.prototype, "entityService", void 0);
29274
+ UserService = __decorate([DITransient()], UserService);
29275
+ _export("default", UserService);
29276
+ }
29277
+ };
29278
+ });
29279
+ //# sourceMappingURL=UserService.js.map
29280
+
29281
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/services/UserService");
29282
+
29283
+ 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) {
29284
+ "use strict";
29285
+
29286
+ var __awaiter, __decorate, __metadata, PopupWindowPage, InjectProperty, UserService, XNode, Form, PasswordFormField, Bind, PasswordStrength, FormField, PasswordBox, Validators, SaveIconTextButton, Action, ChangePasswordPage;
29287
+ _export("default", void 0);
29288
+ return {
29289
+ setters: [function (_tslib) {
29290
+ __awaiter = _tslib.__awaiter;
29291
+ __decorate = _tslib.__decorate;
29292
+ __metadata = _tslib.__metadata;
29293
+ }, function (_webAtomsWebControlsDistMobileAppMobileApp) {
29294
+ PopupWindowPage = _webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage;
29295
+ }, function (_webAtomsCoreDistCoreInjectProperty) {
29296
+ InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
29297
+ }, function (_servicesUserService) {
29298
+ UserService = _servicesUserService.default;
29299
+ }, function (_webAtomsCoreDistCoreXNode) {
29300
+ XNode = _webAtomsCoreDistCoreXNode.default;
29301
+ }, function (_webAtomsWebControlsDistBasicForm) {
29302
+ Form = _webAtomsWebControlsDistBasicForm.default;
29303
+ }, function (_controlsFormRequiredFormField) {
29304
+ PasswordFormField = _controlsFormRequiredFormField.PasswordFormField;
29305
+ }, function (_webAtomsCoreDistCoreBind) {
29306
+ Bind = _webAtomsCoreDistCoreBind.default;
29307
+ }, function (_controlsPasswordPasswordStrength) {
29308
+ PasswordStrength = _controlsPasswordPasswordStrength.default;
29309
+ }, function (_webAtomsWebControlsDistBasicFormField) {
29310
+ FormField = _webAtomsWebControlsDistBasicFormField.default;
29311
+ }, function (_webAtomsWebControlsDistBasicPasswordBox) {
29312
+ PasswordBox = _webAtomsWebControlsDistBasicPasswordBox.default;
29313
+ }, function (_validatorsValidators) {
29314
+ Validators = _validatorsValidators.Validators;
29315
+ }, function (_controlsButtonsIconButton) {
29316
+ SaveIconTextButton = _controlsButtonsIconButton.SaveIconTextButton;
29317
+ }, function (_webAtomsCoreDistViewModelAction) {
29318
+ Action = _webAtomsCoreDistViewModelAction.default;
29319
+ }],
29320
+ execute: function () {
29321
+ _export("default", ChangePasswordPage = class ChangePasswordPage extends PopupWindowPage {
29322
+ constructor() {
29323
+ super(...arguments);
29324
+ this.password = "";
29325
+ }
29326
+ init() {
29327
+ return __awaiter(this, void 0, void 0, function* () {
29328
+ this.model = yield this.userService.getCurrent();
29329
+ this.title = "Change Password";
29330
+ this.model.changePassword = {
29331
+ oldPassword: "",
29332
+ newPassword: "",
29333
+ forceChangePasswordOnLogin: false
29334
+ };
29335
+ this.renderer = XNode.create("div", null, XNode.create(Form, null, XNode.create(PasswordFormField, {
29336
+ label: "Current Password",
29337
+ value: () => this.model.changePassword.oldPassword
29338
+ }), XNode.create(FormField, {
29339
+ label: "Password",
29340
+ required: true,
29341
+ error: Bind.oneWay(() => Validators.isValidPassword(this.password) ? "" : "Password is invalid")
29342
+ }, XNode.create(PasswordBox, {
29343
+ value: Bind.twoWaysImmediate(() => this.password)
29344
+ })), XNode.create(PasswordStrength, {
29345
+ password: Bind.oneWay(() => this.password)
29346
+ }), XNode.create(FormField, {
29347
+ label: "Password again",
29348
+ required: true,
29349
+ error: Bind.oneWay(() => this.password !== this.model.changePassword.newPassword ? "Passwords do not match" : "")
29350
+ }, XNode.create(PasswordBox, {
29351
+ value: Bind.twoWaysImmediate(() => this.model.changePassword.newPassword)
29352
+ })), XNode.create("div", {
29353
+ "data-layout": "command-row"
29354
+ }, XNode.create(SaveIconTextButton, {
29355
+ "data-submit-event": "save-user",
29356
+ text: "Change"
29357
+ }))));
29358
+ });
29359
+ }
29360
+ saveUser() {
29361
+ return __awaiter(this, void 0, void 0, function* () {
29362
+ yield this.userService.save(this.model);
29363
+ });
29364
+ }
29365
+ });
29366
+ __decorate([InjectProperty, __metadata("design:type", UserService)], ChangePasswordPage.prototype, "userService", void 0);
29367
+ __decorate([Action({
29368
+ onEvent: "save-user",
29369
+ success: "Password changed successfully."
29370
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], ChangePasswordPage.prototype, "saveUser", null);
29371
+ }
29372
+ };
29373
+ });
29374
+ //# sourceMappingURL=ChangePasswordPage.js.map
29375
+
29376
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage");
29377
+
29378
+ 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) {
29379
+ "use strict";
29380
+
29381
+ var __awaiter, __decorate, __metadata, ContentPage, UserAuthFactor, InjectProperty, UserService, XNode, Form, AddIconTextButton, DeleteIconTextButton, SaveIconTextButton, FormField, Bind, Action, AtomRepeater, DateFormats, MultiFactorSetupPage;
29382
+ _export("default", void 0);
29383
+ return {
29384
+ setters: [function (_tslib) {
29385
+ __awaiter = _tslib.__awaiter;
29386
+ __decorate = _tslib.__decorate;
29387
+ __metadata = _tslib.__metadata;
29388
+ }, function (_webAtomsWebControlsDistMobileAppMobileApp) {
29389
+ ContentPage = _webAtomsWebControlsDistMobileAppMobileApp.ContentPage;
29390
+ }, function (_modelModel) {
29391
+ UserAuthFactor = _modelModel.UserAuthFactor;
29392
+ }, function (_webAtomsCoreDistCoreInjectProperty) {
29393
+ InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
29394
+ }, function (_servicesUserService) {
29395
+ UserService = _servicesUserService.default;
29396
+ }, function (_webAtomsCoreDistCoreXNode) {
29397
+ XNode = _webAtomsCoreDistCoreXNode.default;
29398
+ }, function (_webAtomsWebControlsDistBasicForm) {
29399
+ Form = _webAtomsWebControlsDistBasicForm.default;
29400
+ }, function (_controlsButtonsIconButton) {
29401
+ AddIconTextButton = _controlsButtonsIconButton.AddIconTextButton;
29402
+ DeleteIconTextButton = _controlsButtonsIconButton.DeleteIconTextButton;
29403
+ SaveIconTextButton = _controlsButtonsIconButton.SaveIconTextButton;
29404
+ }, function (_webAtomsWebControlsDistBasicFormField) {
29405
+ FormField = _webAtomsWebControlsDistBasicFormField.default;
29406
+ }, function (_webAtomsCoreDistCoreBind) {
29407
+ Bind = _webAtomsCoreDistCoreBind.default;
29408
+ }, function (_webAtomsCoreDistViewModelAction) {
29409
+ Action = _webAtomsCoreDistViewModelAction.default;
29410
+ }, function (_webAtomsWebControlsDistBasicAtomRepeater) {
29411
+ AtomRepeater = _webAtomsWebControlsDistBasicAtomRepeater.default;
29412
+ }, function (_dateDateFormats) {
29413
+ DateFormats = _dateDateFormats.DateFormats;
29414
+ }],
29415
+ execute: function () {
29416
+ _export("default", MultiFactorSetupPage = class MultiFactorSetupPage extends ContentPage {
29417
+ init() {
29418
+ var _a, _b;
29419
+ return __awaiter(this, void 0, void 0, function* () {
29420
+ this.model = yield this.userService.getCurrent();
29421
+ const {
29422
+ multiFactor
29423
+ } = this.model;
29424
+ this.title = "Setup Multi Factor Authentication";
29425
+ if (!((_a = this.model.authFactors) === null || _a === void 0 ? void 0 : _a.length)) {
29426
+ yield this.notSetup();
29427
+ return;
29428
+ }
29429
+ if (multiFactor) {
29430
+ this.renderer = XNode.create("div", {
29431
+ "data-layout": "center-page-900px"
29432
+ }, XNode.create(Form, null, XNode.create(FormField, {
29433
+ label: "Methods"
29434
+ }, XNode.create(AtomRepeater, {
29435
+ for: "table",
29436
+ items: this.model.authFactors,
29437
+ itemRenderer: item => this.renderAuthFactor(item)
29438
+ })), !multiFactor && XNode.create("div", {
29439
+ "data-layout": "command-row"
29440
+ }, XNode.create(AddIconTextButton, {
29441
+ "event-click": () => this.addAuthenticator(),
29442
+ text: "Add Authenticator"
29443
+ }), XNode.create(AddIconTextButton, {
29444
+ "event-click": () => this.generateOTP(),
29445
+ text: "Generate OTP"
29446
+ })), XNode.create("div", {
29447
+ "data-layout": "command-row"
29448
+ }, XNode.create("div", null, "Multi factor authentication is enabled."), XNode.create(DeleteIconTextButton, {
29449
+ text: "Disable"
29450
+ }))));
29451
+ return;
29452
+ }
29453
+ 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;
29454
+ this.renderer = XNode.create("div", {
29455
+ "data-layout": "center-page-900px"
29456
+ }, XNode.create(Form, null, XNode.create(FormField, {
29457
+ label: "Methods"
29458
+ }, XNode.create(AtomRepeater, {
29459
+ for: "table",
29460
+ items: this.model.authFactors,
29461
+ itemRenderer: item => this.renderAuthFactor(item)
29462
+ })), !multiFactor && XNode.create("div", {
29463
+ "data-layout": "command-row"
29464
+ }, XNode.create(AddIconTextButton, {
29465
+ "event-click": () => this.addAuthenticator(),
29466
+ text: "Add Authenticator"
29467
+ }), XNode.create(AddIconTextButton, {
29468
+ "event-click": () => this.generateOTP(),
29469
+ text: "Generate OTP"
29470
+ })), 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", {
29471
+ "data-layout": "command-row"
29472
+ }, XNode.create(SaveIconTextButton, {
29473
+ disabled: disable,
29474
+ "style-color": disable ? "gray" : "",
29475
+ "data-click-event": "enable-multi-factor",
29476
+ text: "Enable"
29477
+ })), multiFactor && XNode.create("div", {
29478
+ "data-layout": "command-row"
29479
+ }, XNode.create(DeleteIconTextButton, {
29480
+ text: "Disable"
29481
+ }))));
29482
+ });
29483
+ }
29484
+ renderAuthFactor(item) {
29485
+ if (item.method === "totp") {
29486
+ 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", {
29487
+ class: "fas fa-check green"
29488
+ })));
29489
+ }
29490
+ if (item.method === "one-time") {
29491
+ 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", {
29492
+ class: "fas fa-check green"
29493
+ })));
29494
+ }
29495
+ 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", {
29496
+ class: "fas fa-check green"
29497
+ })));
29498
+ }
29499
+ notSetup() {
29500
+ return __awaiter(this, void 0, void 0, function* () {
29501
+ this.renderer = XNode.create("div", {
29502
+ "data-layout": "center-page-900px"
29503
+ }, XNode.create("p", null, "You account is not secure, please setup multi factor authentication."), XNode.create(AddIconTextButton, {
29504
+ "event-click": () => this.addAuthenticator(),
29505
+ text: "Add Authenticator"
29506
+ }));
29507
+ });
29508
+ }
29509
+ addAuthenticator() {
29510
+ return __awaiter(this, void 0, void 0, function* () {
29511
+ const authFactor = yield this.userService.createAuthFactor(this.model);
29512
+ this.authFactor = authFactor;
29513
+ this.renderer = XNode.create("div", {
29514
+ "data-layout": "center-page-900px"
29515
+ }, XNode.create(Form, null, XNode.create(FormField, {
29516
+ label: ""
29517
+ }, 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, {
29518
+ label: "Secret"
29519
+ }, XNode.create("img", {
29520
+ src: authFactor.qrCodeDataUrl
29521
+ })), XNode.create(FormField, {
29522
+ label: "Code",
29523
+ required: true,
29524
+ error: Bind.oneWay(() => this.authFactor.token ? "" : "Code is required")
29525
+ }, XNode.create("input", {
29526
+ type: "tel",
29527
+ value: Bind.twoWaysImmediate(() => this.authFactor.token)
29528
+ })), XNode.create("div", {
29529
+ "data-layout": "command-row"
29530
+ }, XNode.create(SaveIconTextButton, {
29531
+ "data-submit-event": "save-auth-factor",
29532
+ text: "Verify"
29533
+ }))));
29534
+ });
29535
+ }
29536
+ generateOTP() {
29537
+ var _a;
29538
+ var _b;
29539
+ return __awaiter(this, void 0, void 0, function* () {
29540
+ const authList = (_a = (_b = this.model).authFactors) !== null && _a !== void 0 ? _a : _b.authFactors = [];
29541
+ for (let index = 0; index < 8; index++) {
29542
+ authList.push(UserAuthFactor.create({
29543
+ method: "one-time"
29544
+ }));
29545
+ }
29546
+ yield this.userService.save(this.model);
29547
+ let text = "";
29548
+ for (const iterator of authList) {
29549
+ if (!(iterator === null || iterator === void 0 ? void 0 : iterator.displaySecret)) {
29550
+ continue;
29551
+ }
29552
+ text += "\r\n" + iterator.displaySecret;
29553
+ }
29554
+ text += "\r\n";
29555
+ this.renderer = XNode.create("div", {
29556
+ "data-layout": "center-page-900px"
29557
+ }, XNode.create(Form, null, XNode.create(FormField, {
29558
+ label: "One Time Passwords"
29559
+ }, 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, {
29560
+ label: ""
29561
+ }, XNode.create("textarea", {
29562
+ rows: 12,
29563
+ value: text
29564
+ })), XNode.create("div", null, "After copying, click go to previous screen."), XNode.create("div", {
29565
+ "data-layout": "command-row"
29566
+ }, XNode.create(SaveIconTextButton, {
29567
+ "event-click": () => this.init(),
29568
+ text: "Go"
29569
+ }))));
29570
+ });
29571
+ }
29572
+ enableMultiFactor() {
29573
+ return __awaiter(this, void 0, void 0, function* () {
29574
+ this.model.multiFactor = true;
29575
+ yield this.userService.save(this.model);
29576
+ yield this.init();
29577
+ });
29578
+ }
29579
+ saveAuthFactor() {
29580
+ return __awaiter(this, void 0, void 0, function* () {
29581
+ yield this.userService.save(this.model);
29582
+ yield this.init();
29583
+ });
29584
+ }
29585
+ });
29586
+ __decorate([InjectProperty, __metadata("design:type", UserService)], MultiFactorSetupPage.prototype, "userService", void 0);
29587
+ __decorate([Action({
29588
+ onEvent: "enable-multi-factor",
29589
+ success: "Multi factor authentication enabled successfully."
29590
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], MultiFactorSetupPage.prototype, "enableMultiFactor", null);
29591
+ __decorate([Action({
29592
+ onEvent: "save-auth-factor",
29593
+ success: "Authenticator setup successfully."
29594
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], MultiFactorSetupPage.prototype, "saveAuthFactor", null);
29595
+ }
29596
+ };
29597
+ });
29598
+ //# sourceMappingURL=MultiFactorSetupPage.js.map
29599
+
29600
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage");
29601
+
29188
29602
  System.register(["@web-atoms/core/dist/core/Command"], function (_export, _context) {
29189
29603
  "use strict";
29190
29604
 
@@ -29207,6 +29621,14 @@ System.register(["@web-atoms/core/dist/core/Command"], function (_export, _conte
29207
29621
  routeOrder: 100,
29208
29622
  openPage: () => _context.import("../pages/drives/DriveListPage")
29209
29623
  });
29624
+ CommonCommands.changePassword = Command.create({
29625
+ route: "/user/change-password",
29626
+ pushPage: () => _context.import("../pages/user/change-password/ChangePasswordPage")
29627
+ });
29628
+ CommonCommands.setupMultiFactor = Command.create({
29629
+ route: "/user/multi-factor/setup",
29630
+ pushPage: () => _context.import("../pages/user/multi-factor/MultiFactorSetupPage")
29631
+ });
29210
29632
  }
29211
29633
  };
29212
29634
  });
@@ -29644,10 +30066,114 @@ System.register(["@web-atoms/core/dist/core/Command", "../../common/commands/Com
29644
30066
 
29645
30067
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/commands/AdminCommands");
29646
30068
 
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) {
30069
+ System.register(["@web-atoms/core/dist/style/styled"], function (_export, _context) {
30070
+ "use strict";
30071
+
30072
+ var styled;
30073
+ return {
30074
+ setters: [function (_webAtomsCoreDistStyleStyled) {
30075
+ styled = _webAtomsCoreDistStyleStyled.default;
30076
+ }],
30077
+ execute: function () {
30078
+ styled.css`
30079
+
30080
+ display: inline-grid;
30081
+ grid-auto-flow: column;
30082
+ align-content: center;
30083
+ justify-items: stretch;
30084
+ text-align: center;
30085
+ border-style: solid;
30086
+ border-width: 1px;
30087
+ border-color: #d3d3d3;
30088
+ border-radius: 9999px;
30089
+
30090
+ & > [data-item-type=toggle-button] {
30091
+ padding: 5px;
30092
+ background-color: #ffffff;
30093
+ cursor: pointer;
30094
+
30095
+ &:first-child {
30096
+ padding-left: 10px;
30097
+ border-top-left-radius: 9999px;
30098
+ border-bottom-left-radius: 9999px;
30099
+ }
30100
+
30101
+ &:last-child {
30102
+ border-top-right-radius: 9999px;
30103
+ border-bottom-right-radius: 9999px;
30104
+ padding-right: 10px;
30105
+ }
30106
+
30107
+ &[data-selected-item=true] {
30108
+ background-color: var(--accent-color, black);
30109
+ color: #ffffff;
30110
+ }
30111
+ }
30112
+ `.installGlobal("[data-button-bar=button-bar]");
30113
+ }
30114
+ };
30115
+ });
30116
+ //# sourceMappingURL=toggle-button-bar-style.js.map
30117
+
30118
+ AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/toggle-button-bar-style");
30119
+
30120
+ 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
30121
  "use strict";
29649
30122
 
29650
- var __awaiter, __decorate, __metadata, XNode, ContentPage, Form, FormField, LoginSession, Bind, PasswordBox, Action, InjectProperty, UserService, PasswordStrength, Validators, LoginPage;
30123
+ var __decorate, __metadata, BindableProperty, XNode, AtomRepeater, ToggleButtonBar;
30124
+ _export("default", void 0);
30125
+ return {
30126
+ setters: [function (_tslib) {
30127
+ __decorate = _tslib.__decorate;
30128
+ __metadata = _tslib.__metadata;
30129
+ }, function (_webAtomsCoreDistCoreBindableProperty) {
30130
+ BindableProperty = _webAtomsCoreDistCoreBindableProperty.BindableProperty;
30131
+ }, function (_webAtomsCoreDistCoreXNode) {
30132
+ XNode = _webAtomsCoreDistCoreXNode.default;
30133
+ }, function (_AtomRepeater) {
30134
+ AtomRepeater = _AtomRepeater.default;
30135
+ }, function (_stylesToggleButtonBarStyle) {}],
30136
+ execute: function () {
30137
+ _export("default", ToggleButtonBar = class ToggleButtonBar extends AtomRepeater {
30138
+ onPropertyChanged(name) {
30139
+ super.onPropertyChanged(name);
30140
+ if (name === "labelPath") {
30141
+ this.updateItems();
30142
+ return;
30143
+ }
30144
+ }
30145
+ preCreate() {
30146
+ super.preCreate();
30147
+ this.element.dataset.buttonBar = "button-bar";
30148
+ this.bindEvent(this.element, "itemClick", e => {
30149
+ this.selectedItem = e.detail;
30150
+ });
30151
+ this.valuePath = item => {
30152
+ var _a;
30153
+ return (_a = item === null || item === void 0 ? void 0 : item.value) !== null && _a !== void 0 ? _a : item;
30154
+ };
30155
+ this.labelPath = item => {
30156
+ var _a;
30157
+ return (_a = item === null || item === void 0 ? void 0 : item.label) !== null && _a !== void 0 ? _a : item;
30158
+ };
30159
+ this.itemRenderer = item => XNode.create("div", {
30160
+ "data-item-type": "toggle-button",
30161
+ text: this.labelPath(item)
30162
+ });
30163
+ }
30164
+ });
30165
+ __decorate([BindableProperty, __metadata("design:type", Object)], ToggleButtonBar.prototype, "labelPath", void 0);
30166
+ }
30167
+ };
30168
+ });
30169
+ //# sourceMappingURL=ToggleButtonBar.js.map
30170
+
30171
+ AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/ToggleButtonBar");
30172
+
30173
+ 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) {
30174
+ "use strict";
30175
+
30176
+ var __awaiter, __decorate, __metadata, XNode, ContentPage, Form, FormField, LoginSession, Bind, PasswordBox, Action, InjectProperty, LoginService, PasswordStrength, Validators, ToggleButtonBar, SaveIconTextButton, LoginPage, authTypes;
29651
30177
  _export("default", void 0);
29652
30178
  return {
29653
30179
  setters: [function (_tslib) {
@@ -29672,24 +30198,38 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-con
29672
30198
  Action = _webAtomsCoreDistViewModelAction.default;
29673
30199
  }, function (_webAtomsCoreDistCoreInjectProperty) {
29674
30200
  InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
29675
- }, function (_servicesUserService) {
29676
- UserService = _servicesUserService.default;
30201
+ }, function (_servicesLoginService) {
30202
+ LoginService = _servicesLoginService.default;
29677
30203
  }, function (_controlsPasswordPasswordStrength) {
29678
30204
  PasswordStrength = _controlsPasswordPasswordStrength.default;
29679
30205
  }, function (_validatorsValidators) {
29680
30206
  Validators = _validatorsValidators.Validators;
30207
+ }, function (_webAtomsWebControlsDistBasicToggleButtonBar) {
30208
+ ToggleButtonBar = _webAtomsWebControlsDistBasicToggleButtonBar.default;
30209
+ }, function (_controlsButtonsIconButton) {
30210
+ SaveIconTextButton = _controlsButtonsIconButton.SaveIconTextButton;
29681
30211
  }],
29682
30212
  execute: function () {
30213
+ authTypes = [{
30214
+ label: "Authenticator (TOTP)",
30215
+ value: "totp"
30216
+ }, {
30217
+ label: "One Time Password",
30218
+ value: "one-time"
30219
+ }];
29683
30220
  _export("default", LoginPage = class LoginPage extends ContentPage {
29684
30221
  constructor() {
29685
30222
  super(...arguments);
29686
30223
  this.password = "";
30224
+ this.authType = "totp";
29687
30225
  }
29688
30226
  init() {
29689
30227
  return __awaiter(this, void 0, void 0, function* () {
29690
30228
  this.model = LoginSession.create({});
29691
30229
  this.model.userName = "";
29692
30230
  this.model.checkPassword = "";
30231
+ this.model.timeToken = "";
30232
+ this.model.oneTimePassword = "";
29693
30233
  this.render(XNode.create("div", null, XNode.create("div", {
29694
30234
  "data-layout": "center-all"
29695
30235
  }, XNode.create(Form, null, XNode.create(FormField, {
@@ -29708,16 +30248,41 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-con
29708
30248
  });
29709
30249
  }
29710
30250
  login() {
29711
- var _a;
29712
30251
  return __awaiter(this, void 0, void 0, function* () {
29713
- try {
29714
- yield this.userService.login(this.model);
30252
+ const status = yield this.userService.login(this.model);
30253
+ if (status === "change-password") {
30254
+ yield this.showChangePassword();
29715
30255
  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
30256
  }
30257
+ this.renderer = XNode.create("div", {
30258
+ "data-layout": "center-all"
30259
+ }, XNode.create(Form, null, XNode.create(FormField, {
30260
+ label: "Enter"
30261
+ }, XNode.create(ToggleButtonBar, {
30262
+ items: authTypes,
30263
+ value: Bind.twoWays(() => this.authType)
30264
+ })), XNode.create(FormField, {
30265
+ label: "Code",
30266
+ "style-display": Bind.oneWay(() => this.authType === "totp")
30267
+ }, XNode.create("input", {
30268
+ type: "tel",
30269
+ value: Bind.twoWaysImmediate(() => this.model.timeToken)
30270
+ })), XNode.create(FormField, {
30271
+ label: "One Time Password",
30272
+ "style-display": Bind.oneWay(() => this.authType !== "totp")
30273
+ }, XNode.create("input", {
30274
+ type: "tel",
30275
+ value: Bind.twoWaysImmediate(() => this.model.oneTimePassword)
30276
+ })), XNode.create("div", {
30277
+ "data-layout": "command-row"
30278
+ }, XNode.create(SaveIconTextButton, {
30279
+ "event-click": () => this.login(),
30280
+ text: "Go"
30281
+ }))));
30282
+ });
30283
+ }
30284
+ showChangePassword() {
30285
+ return __awaiter(this, void 0, void 0, function* () {
29721
30286
  this.model.newPassword = "";
29722
30287
  this.renderer = XNode.create("div", null, XNode.create("div", {
29723
30288
  "data-layout": "center-all"
@@ -29744,7 +30309,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-con
29744
30309
  });
29745
30310
  }
29746
30311
  });
29747
- __decorate([InjectProperty, __metadata("design:type", UserService)], LoginPage.prototype, "userService", void 0);
30312
+ __decorate([InjectProperty, __metadata("design:type", LoginService)], LoginPage.prototype, "userService", void 0);
29748
30313
  __decorate([Action({
29749
30314
  onEvent: "login"
29750
30315
  }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], LoginPage.prototype, "login", null);
@@ -29753,7 +30318,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-con
29753
30318
  });
29754
30319
  //# sourceMappingURL=LoginPage.js.map
29755
30320
 
29756
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/LoginPage");
30321
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/login/LoginPage");
29757
30322
 
29758
30323
  System.register(["@web-atoms/core/dist/core/XNode"], function (_export, _context) {
29759
30324
  "use strict";
@@ -29897,10 +30462,10 @@ System.register(["@web-atoms/core/dist/core/XNode"], function (_export, _context
29897
30462
 
29898
30463
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/ModuleInfo");
29899
30464
 
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) {
30465
+ 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
30466
  "use strict";
29902
30467
 
29903
- var __awaiter, __decorate, __metadata, Pack, MobileDesktopApp, UserService, InjectProperty, AdminCommands, PageNavigator, LoginPage, AdminDrawer, Command, Route, LocalFileService, XNode, ModuleInfo, AdminAppIndex;
30468
+ var __awaiter, __decorate, __metadata, Pack, MobileDesktopApp, LoginService, InjectProperty, AdminCommands, PageNavigator, LoginPage, AdminDrawer, Command, Route, LocalFileService, XNode, ModuleInfo, AdminAppIndex;
29904
30469
  return {
29905
30470
  setters: [function (_tslib) {
29906
30471
  __awaiter = _tslib.__awaiter;
@@ -29910,16 +30475,16 @@ System.register(["tslib", "@web-atoms/core/dist/Pack", "@web-atoms/web-controls/
29910
30475
  Pack = _webAtomsCoreDistPack.default;
29911
30476
  }, function (_webAtomsWebControlsDistDesktopAppMobileDesktopApp) {
29912
30477
  MobileDesktopApp = _webAtomsWebControlsDistDesktopAppMobileDesktopApp.default;
29913
- }, function (_styleGlobalStyle) {}, function (_servicesUserService) {
29914
- UserService = _servicesUserService.default;
30478
+ }, function (_styleGlobalStyle) {}, function (_servicesLoginService) {
30479
+ LoginService = _servicesLoginService.default;
29915
30480
  }, function (_webAtomsCoreDistCoreInjectProperty) {
29916
30481
  InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
29917
30482
  }, function (_commandsAdminCommands) {
29918
30483
  AdminCommands = _commandsAdminCommands.default;
29919
30484
  }, function (_webAtomsWebControlsDistPageNavigator) {
29920
30485
  PageNavigator = _webAtomsWebControlsDistPageNavigator.default;
29921
- }, function (_commonPagesUserLoginPage) {
29922
- LoginPage = _commonPagesUserLoginPage.default;
30486
+ }, function (_commonPagesUserLoginLoginPage) {
30487
+ LoginPage = _commonPagesUserLoginLoginPage.default;
29923
30488
  }, function (_drawerAdminDrawer) {
29924
30489
  AdminDrawer = _drawerAdminDrawer.default;
29925
30490
  }, function (_webAtomsCoreDistCoreCommand) {
@@ -29959,7 +30524,7 @@ System.register(["tslib", "@web-atoms/core/dist/Pack", "@web-atoms/web-controls/
29959
30524
  });
29960
30525
  }
29961
30526
  };
29962
- __decorate([InjectProperty, __metadata("design:type", UserService)], AdminAppIndex.prototype, "userService", void 0);
30527
+ __decorate([InjectProperty, __metadata("design:type", LoginService)], AdminAppIndex.prototype, "userService", void 0);
29963
30528
  AdminAppIndex = __decorate([Pack], AdminAppIndex);
29964
30529
  _export("default", AdminAppIndex);
29965
30530
  Route.encodeUrl = url => {