@social-mail/social-mail-client 1.0.44 → 1.0.45

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 (43) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +404 -189
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +47 -38
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/common/Sql.js.map +1 -1
  6. package/dist/common/cache/CacheTTL.js +18 -0
  7. package/dist/common/cache/CacheTTL.js.map +1 -0
  8. package/dist/common/controls/email-recipients/EmailRecipientChips.js +94 -0
  9. package/dist/common/controls/email-recipients/EmailRecipientChips.js.map +1 -0
  10. package/dist/services/email-addresses/EmailAddressService.js +69 -0
  11. package/dist/services/email-addresses/EmailAddressService.js.map +1 -0
  12. package/dist/style/GlobalStyle.js +9 -0
  13. package/dist/style/GlobalStyle.js.map +1 -1
  14. package/dist/tsconfig.tsbuildinfo +1 -1
  15. package/dist/web/AppIndex.pack.js +404 -189
  16. package/dist/web/AppIndex.pack.js.map +1 -1
  17. package/dist/web/AppIndex.pack.min.js +47 -38
  18. package/dist/web/AppIndex.pack.min.js.map +1 -1
  19. package/dist/web/page/mails/ComposeMailPage.js +6 -20
  20. package/dist/web/page/mails/ComposeMailPage.js.map +1 -1
  21. package/dist/web/page/mails/ConversationPage.js +21 -3
  22. package/dist/web/page/mails/ConversationPage.js.map +1 -1
  23. package/dist/web/page/mails/service/ConversationService.js +3 -1
  24. package/dist/web/page/mails/service/ConversationService.js.map +1 -1
  25. package/node_modules/@web-atoms/web-controls/dist/basic/AtomChips.d.ts.map +1 -1
  26. package/node_modules/@web-atoms/web-controls/dist/basic/AtomChips.js +10 -6
  27. package/node_modules/@web-atoms/web-controls/dist/basic/AtomChips.js.map +1 -1
  28. package/node_modules/@web-atoms/web-controls/dist/mobile-app/MobileApp.d.ts.map +1 -1
  29. package/node_modules/@web-atoms/web-controls/dist/mobile-app/MobileApp.js +7 -1
  30. package/node_modules/@web-atoms/web-controls/dist/mobile-app/MobileApp.js.map +1 -1
  31. package/node_modules/@web-atoms/web-controls/dist/tsconfig.tsbuildinfo +1 -1
  32. package/node_modules/@web-atoms/web-controls/package.json +1 -1
  33. package/node_modules/@web-atoms/web-controls/src/basic/AtomChips.tsx +10 -6
  34. package/node_modules/@web-atoms/web-controls/src/mobile-app/MobileApp.tsx +6 -0
  35. package/package.json +2 -2
  36. package/src/common/Sql.ts +8 -0
  37. package/src/common/cache/CacheTTL.ts +7 -0
  38. package/src/common/controls/email-recipients/EmailRecipientChips.tsx +80 -0
  39. package/src/services/email-addresses/EmailAddressService.ts +53 -0
  40. package/src/style/GlobalStyle.ts +9 -0
  41. package/src/web/page/mails/ComposeMailPage.tsx +3 -13
  42. package/src/web/page/mails/ConversationPage.tsx +7 -1
  43. package/src/web/page/mails/service/ConversationService.tsx +3 -1
@@ -1864,7 +1864,7 @@ const UMD = new UMDClass();
1864
1864
 
1865
1865
  AmdLoader.instance.register(
1866
1866
  ["@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"],
1867
- ["@social-mail/social-mail-client/dist/admin/AdminAppIndex","@web-atoms/core/dist/Pack","@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/AtomLoader","@web-atoms/core/dist/services/JsonService","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/di/RegisterSingleton","@web-atoms/core/dist/di/Register","@web-atoms/core/dist/core/types","reflect-metadata","@web-atoms/core/dist/core/AtomMap","@web-atoms/core/dist/di/ServiceCollection","@web-atoms/core/dist/di/TypeKey","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan","@web-atoms/core/dist/services/ReferenceService","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/core/AtomUri","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/EventScope","@web-atoms/core/dist/core/Route","@web-atoms/core/dist/core/InheritedProperty","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/ExpressionParser","@web-atoms/core/dist/services/NavigationService","@web-atoms/core/dist/core/AtomComponent","@web-atoms/core/dist/App","@web-atoms/core/dist/core/AtomDispatcher","@web-atoms/core/dist/di/ServiceProvider","@web-atoms/core/dist/core/TransientDisposable","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/services/BusyIndicatorService","@web-atoms/core/dist/core/AtomBridge","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@web-atoms/core/dist/core/PropertyMap","@web-atoms/core/dist/core/FormattedString","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/WebImage","@web-atoms/core/dist/web/styles/AtomStyle","@web-atoms/core/dist/web/styles/AtomStyleSheet","@web-atoms/core/dist/web/services/PopupService","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/desktop-app/DesktopApp","@social-mail/social-mail-client/dist/style/GlobalStyle","@web-atoms/core/dist/core/AtomList","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@web-atoms/data-styles/data-styles","@social-mail/social-mail-client/dist/services/UserService","@social-mail/social-mail-client/dist/services/EntityService","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/entity/dist/models/Cloner","@web-atoms/entity/dist/models/cloneSource","@web-atoms/entity/dist/models/IEntityModel","@web-atoms/entity/dist/services/HttpSession","@web-atoms/core/dist/services/http/JsonError","@web-atoms/entity/dist/services/mergeProperties","@web-atoms/entity/dist/services/Query","@web-atoms/entity/dist/services/StringHelper","@web-atoms/entity/dist/services/resolve","@social-mail/social-mail-client/dist/services/BusyProgress","@social-mail/social-mail-client/dist/model/model","@social-mail/social-mail-client/dist/common/SocialMailApp","@web-atoms/core/dist/core/InjectProperty","@social-mail/social-mail-client/dist/admin/commands/AdminCommands","@social-mail/social-mail-client/dist/admin/pages/home/AdminHome","@social-mail/social-mail-client/dist/admin/pages/domains/DomainListPage","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/core/WatchProperty","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/styles/inline-popup-style","@web-atoms/web-controls/dist/basic/MergeNode","@web-atoms/web-controls/dist/basic/ItemPath","@web-atoms/web-controls/dist/basic/styles/ui-display-none-style","@web-atoms/web-controls/dist/basic/styles/popup-style","@web-atoms/web-controls/dist/basic/styles/suggestion-popup","@web-atoms/web-controls/dist/basic/styles/repeater-style","@social-mail/social-mail-client/dist/admin/pages/domains/services/AdminDomainService","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/view-model/Action","@social-mail/social-mail-client/dist/admin/pages/domains/edit/EditDomainPage","@web-atoms/web-controls/dist/basic/Form","@social-mail/social-mail-client/dist/common/controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/styles/form-field-style","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/web-controls/dist/basic/styles/password-box-style","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/styles/checkbox-style","@web-atoms/web-controls/dist/basic/Expander","@web-atoms/web-controls/dist/basic/styles/expander-style","@social-mail/social-mail-client/dist/common/controls/buttons/IconButton","@social-mail/social-mail-client/dist/admin/pages/domains/edit/DomainKeySetupPage","@social-mail/social-mail-client/dist/common/controls/buttons/CopyIcon","@social-mail/social-mail-client/dist/admin/pages/domains/domain-user/DomainUserEditor","@social-mail/social-mail-client/dist/common/controls/drop-downs/user/UserDropDown","@web-atoms/web-controls/dist/basic/DropDown","@web-atoms/web-controls/dist/basic/styles/drop-down-style","@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/admin/pages/users/UserListPage","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/admin/pages/users/EditUserPage","@social-mail/social-mail-client/dist/common/validators/Validators","@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage","@web-atoms/web-controls/dist/basic/ComboBox","@social-mail/social-mail-client/dist/common/NumberFormats","@social-mail/social-mail-client/dist/common/commands/CommonCommands","@social-mail/social-mail-client/dist/web/page/mails/MailsPage","@social-mail/social-mail-client/dist/web/page/mails/service/MailService","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@social-mail/social-mail-client/dist/web/page/mails/ConversationPage","@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService","@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/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","@web-atoms/web-controls/dist/basic/TitleEditor","@web-atoms/web-controls/dist/basic/styles/title-editor-style","@social-mail/social-mail-client/dist/services/socket/sockets","@web-atoms/web-controls/dist/basic/LimitedText","@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"]);
1867
+ ["@social-mail/social-mail-client/dist/admin/AdminAppIndex","@web-atoms/core/dist/Pack","@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/AtomLoader","@web-atoms/core/dist/services/JsonService","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/di/RegisterSingleton","@web-atoms/core/dist/di/Register","@web-atoms/core/dist/core/types","reflect-metadata","@web-atoms/core/dist/core/AtomMap","@web-atoms/core/dist/di/ServiceCollection","@web-atoms/core/dist/di/TypeKey","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan","@web-atoms/core/dist/services/ReferenceService","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/core/AtomUri","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/EventScope","@web-atoms/core/dist/core/Route","@web-atoms/core/dist/core/InheritedProperty","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/ExpressionParser","@web-atoms/core/dist/services/NavigationService","@web-atoms/core/dist/core/AtomComponent","@web-atoms/core/dist/App","@web-atoms/core/dist/core/AtomDispatcher","@web-atoms/core/dist/di/ServiceProvider","@web-atoms/core/dist/core/TransientDisposable","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/services/BusyIndicatorService","@web-atoms/core/dist/core/AtomBridge","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@web-atoms/core/dist/core/PropertyMap","@web-atoms/core/dist/core/FormattedString","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/WebImage","@web-atoms/core/dist/web/styles/AtomStyle","@web-atoms/core/dist/web/styles/AtomStyleSheet","@web-atoms/core/dist/web/services/PopupService","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/desktop-app/DesktopApp","@social-mail/social-mail-client/dist/style/GlobalStyle","@web-atoms/core/dist/core/AtomList","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@web-atoms/data-styles/data-styles","@social-mail/social-mail-client/dist/services/UserService","@social-mail/social-mail-client/dist/services/EntityService","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/entity/dist/models/Cloner","@web-atoms/entity/dist/models/cloneSource","@web-atoms/entity/dist/models/IEntityModel","@web-atoms/entity/dist/services/HttpSession","@web-atoms/core/dist/services/http/JsonError","@web-atoms/entity/dist/services/mergeProperties","@web-atoms/entity/dist/services/Query","@web-atoms/entity/dist/services/StringHelper","@web-atoms/entity/dist/services/resolve","@social-mail/social-mail-client/dist/services/BusyProgress","@social-mail/social-mail-client/dist/model/model","@social-mail/social-mail-client/dist/common/SocialMailApp","@web-atoms/core/dist/core/InjectProperty","@social-mail/social-mail-client/dist/admin/commands/AdminCommands","@social-mail/social-mail-client/dist/admin/pages/home/AdminHome","@social-mail/social-mail-client/dist/admin/pages/domains/DomainListPage","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/core/WatchProperty","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/styles/inline-popup-style","@web-atoms/web-controls/dist/basic/MergeNode","@web-atoms/web-controls/dist/basic/ItemPath","@web-atoms/web-controls/dist/basic/styles/ui-display-none-style","@web-atoms/web-controls/dist/basic/styles/popup-style","@web-atoms/web-controls/dist/basic/styles/suggestion-popup","@web-atoms/web-controls/dist/basic/styles/repeater-style","@social-mail/social-mail-client/dist/admin/pages/domains/services/AdminDomainService","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/view-model/Action","@social-mail/social-mail-client/dist/admin/pages/domains/edit/EditDomainPage","@web-atoms/web-controls/dist/basic/Form","@social-mail/social-mail-client/dist/common/controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/styles/form-field-style","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/web-controls/dist/basic/styles/password-box-style","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/styles/checkbox-style","@web-atoms/web-controls/dist/basic/Expander","@web-atoms/web-controls/dist/basic/styles/expander-style","@social-mail/social-mail-client/dist/common/controls/buttons/IconButton","@social-mail/social-mail-client/dist/admin/pages/domains/edit/DomainKeySetupPage","@social-mail/social-mail-client/dist/common/controls/buttons/CopyIcon","@social-mail/social-mail-client/dist/admin/pages/domains/domain-user/DomainUserEditor","@social-mail/social-mail-client/dist/common/controls/drop-downs/user/UserDropDown","@web-atoms/web-controls/dist/basic/DropDown","@web-atoms/web-controls/dist/basic/styles/drop-down-style","@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/admin/pages/users/UserListPage","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/admin/pages/users/EditUserPage","@social-mail/social-mail-client/dist/common/validators/Validators","@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage","@web-atoms/web-controls/dist/basic/ComboBox","@social-mail/social-mail-client/dist/common/NumberFormats","@social-mail/social-mail-client/dist/common/commands/CommonCommands","@social-mail/social-mail-client/dist/web/page/mails/MailsPage","@social-mail/social-mail-client/dist/web/page/mails/service/MailService","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@social-mail/social-mail-client/dist/web/page/mails/ConversationPage","@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService","@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/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
1868
 
1869
1869
  System.register([], function (_export, _context) {
1870
1870
  "use strict";
@@ -10460,7 +10460,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/types", "@web-atoms/core/di
10460
10460
  System.register(["tslib", "@web-atoms/core/dist/core/AtomLoader", "@web-atoms/core/dist/core/sleep", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/services/NavigationService", "@web-atoms/core/dist/web/controls/AtomControl", "@web-atoms/core/dist/web/services/PopupService", "../PageNavigator", "@web-atoms/core/dist/core/StringHelper", "@web-atoms/core/dist/style/styled", "@web-atoms/core/dist/core/BindableProperty", "@web-atoms/core/dist/core/AtomDisposableList", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/core/types", "@web-atoms/core/dist/web/core/AtomUI", "@web-atoms/core/dist/core/Command", "@web-atoms/core/dist/core/Route"], function (_export, _context) {
10461
10461
  "use strict";
10462
10462
 
10463
- var __awaiter, __decorate, __metadata, AtomLoader, sleep, XNode, NavigationService, AtomControl, PopupService, PopupWindow, PageNavigator, StringHelper, styled, BindableProperty, AtomDisposableList, Bind, CancelToken, ChildEnumerator, displayRouteSymbol, Route, Drawer, BasePage, ContentPage, TabbedPage, MobileApp, PopupWindowEx, PopupWindowPage, _a, isMobileView, isPopupPage, root;
10463
+ var __awaiter, __decorate, __metadata, AtomLoader, sleep, XNode, NavigationService, AtomControl, PopupService, PopupWindow, PageNavigator, StringHelper, styled, BindableProperty, AtomDisposableList, Bind, CancelToken, ChildEnumerator, displayRouteSymbol, Route, Drawer, BasePage, ContentPage, TabbedPage, MobileApp, PopupWindowEx, PopupWindowPage, _a, historyBackCalled, isMobileView, isPopupPage, root;
10464
10464
  function PullToRefresh() {
10465
10465
  return XNode.create("div", null, XNode.create("i", {
10466
10466
  class: "pull-icon fa-solid fa-down"
@@ -10785,6 +10785,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/AtomLoader", "@web-atoms/co
10785
10785
  }
10786
10786
  });
10787
10787
  delete Drawer.prototype.init;
10788
+ historyBackCalled = false;
10788
10789
  _export("BasePage", BasePage = class BasePage extends AtomControl {
10789
10790
  constructor() {
10790
10791
  super(...arguments);
@@ -10815,6 +10816,9 @@ System.register(["tslib", "@web-atoms/core/dist/core/AtomLoader", "@web-atoms/co
10815
10816
  history.pushState(state, "", url);
10816
10817
  const eventRegistration = e => {
10817
10818
  var _b;
10819
+ if (historyBackCalled) {
10820
+ return;
10821
+ }
10818
10822
  if (((_b = e.state) === null || _b === void 0 ? void 0 : _b.url) === last) {
10819
10823
  this.cancel();
10820
10824
  }
@@ -10825,7 +10829,9 @@ System.register(["tslib", "@web-atoms/core/dist/core/AtomLoader", "@web-atoms/co
10825
10829
  var _b;
10826
10830
  window.removeEventListener("popstate", eventRegistration);
10827
10831
  if (((_b = history.state) === null || _b === void 0 ? void 0 : _b.url) === state.url) {
10832
+ historyBackCalled = true;
10828
10833
  history.back();
10834
+ setTimeout(() => historyBackCalled = false, 500);
10829
10835
  }
10830
10836
  }
10831
10837
  };
@@ -11917,6 +11923,15 @@ body {
11917
11923
  & ul {
11918
11924
  padding-inline-start: 15px;
11919
11925
  }
11926
+
11927
+ & input[type=search] {
11928
+ border: none;
11929
+ outline: none;
11930
+ border-radius: 9999px;
11931
+ padding-right: 10px;
11932
+ padding-left: 25px;
11933
+ background: canvas url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' class='bi bi-search' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'%3E%3C/path%3E%3C/svg%3E") no-repeat 5px center;
11934
+ }
11920
11935
  }
11921
11936
 
11922
11937
  `.withId("global-styles").withOrder("medium").installGlobal();
@@ -19345,7 +19360,9 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
19345
19360
  emailAddressID
19346
19361
  }, p => x => x.mailboxID === p.mailboxID && x.emailAddressID === p.emailAddressID);
19347
19362
  if (search) {
19348
- search = `%${search}%`;
19363
+ if (!/\%/.test(search)) {
19364
+ search = `%${search}%`;
19365
+ }
19349
19366
  q = q.where({
19350
19367
  search
19351
19368
  }, p => x => Sql.text.iLike(x.email.subject, p.search) || Sql.text.iLike(x.email.textBody, p.search));
@@ -22437,6 +22454,192 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-con
22437
22454
 
22438
22455
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/html/InlineHtmlEditorWithToolbar");
22439
22456
 
22457
+ System.register(["@web-atoms/core/dist/style/styled"], function (_export, _context) {
22458
+ "use strict";
22459
+
22460
+ var styled;
22461
+ return {
22462
+ setters: [function (_webAtomsCoreDistStyleStyled) {
22463
+ styled = _webAtomsCoreDistStyleStyled.default;
22464
+ }],
22465
+ execute: function () {
22466
+ styled.css`
22467
+ display: inline-grid;
22468
+ grid-template-rows: 1fr auto;
22469
+ grid-template-columns: 1fr 40px;
22470
+ column-gap: 5px;
22471
+
22472
+ & > input {
22473
+ grid-row: 1 / span 2;
22474
+ grid-column: 1;
22475
+ }
22476
+
22477
+ & > i {
22478
+ grid-row: 1;
22479
+ grid-column: 2;
22480
+ font-size: smaller;
22481
+ padding-left: 5px;
22482
+ padding-right: 5px;
22483
+ align-self: stretch;
22484
+ justify-self: stretch;
22485
+ text-align: center;
22486
+ }
22487
+
22488
+ & > span {
22489
+ grid-row: 2;
22490
+ grid-column: 2;
22491
+ font-size: xx-small;
22492
+ align-self: stretch;
22493
+ justify-self: stretch;
22494
+ text-align: center;
22495
+ }
22496
+
22497
+ `.installGlobal("[data-title-editor=title-editor]");
22498
+ }
22499
+ };
22500
+ });
22501
+ //# sourceMappingURL=title-editor-style.js.map
22502
+
22503
+ AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/title-editor-style");
22504
+
22505
+ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "./styles/title-editor-style"], function (_export, _context) {
22506
+ "use strict";
22507
+
22508
+ var __rest, XNode, paste, formatText, capitalizeText, toText, changeCase;
22509
+ function TitleEditor(_a) {
22510
+ var {
22511
+ value,
22512
+ type,
22513
+ placeholder,
22514
+ capitalize = "on",
22515
+ capitalizationTitle = "Capitalization"
22516
+ } = _a,
22517
+ a = __rest(_a, ["value", "type", "placeholder", "capitalize", "capitalizationTitle"]);
22518
+ return XNode.create("div", Object.assign({
22519
+ "data-title-editor": "title-editor"
22520
+ }, a), XNode.create("input", {
22521
+ autocapitalize: capitalize,
22522
+ type: type,
22523
+ placeholder: placeholder,
22524
+ value: value,
22525
+ "event-input": capitalizeText,
22526
+ "event-paste": paste
22527
+ }), XNode.create("i", {
22528
+ "data-element": "icon",
22529
+ class: "fas fa-font-case",
22530
+ "event-click": changeCase,
22531
+ title: capitalizationTitle
22532
+ }), XNode.create("span", {
22533
+ "data-element": "text",
22534
+ text: toText(capitalize),
22535
+ "event-click": changeCase,
22536
+ title: capitalizationTitle
22537
+ }));
22538
+ }
22539
+ _export("default", TitleEditor);
22540
+ return {
22541
+ setters: [function (_tslib) {
22542
+ __rest = _tslib.__rest;
22543
+ }, function (_webAtomsCoreDistCoreXNode) {
22544
+ XNode = _webAtomsCoreDistCoreXNode.default;
22545
+ }, function (_stylesTitleEditorStyle) {}],
22546
+ execute: function () {
22547
+ paste = e => {
22548
+ const input = e.target;
22549
+ const capitalize = input.autocapitalize;
22550
+ if (!capitalize || capitalize === "off" || capitalize === "none") {
22551
+ return;
22552
+ }
22553
+ setTimeout(() => {
22554
+ const start = input.selectionStart;
22555
+ const end = input.selectionEnd;
22556
+ formatText(input, capitalize);
22557
+ input.setSelectionRange(start, end);
22558
+ }, 1);
22559
+ };
22560
+ formatText = (input, capitalize, all = true) => {
22561
+ let value = input.value;
22562
+ if (!value) {
22563
+ return;
22564
+ }
22565
+ switch (capitalize) {
22566
+ case "on":
22567
+ case "sentences":
22568
+ if (value.length === 1) {
22569
+ value = value.toLocaleUpperCase();
22570
+ }
22571
+ break;
22572
+ case "words":
22573
+ if (all) {
22574
+ value = value.replace(/(\S+)/g, s => s.substring(0, 1).toLocaleUpperCase() + s.substring(1));
22575
+ } else {
22576
+ value = value.replace(/(\S+)$/g, s => s.substring(0, 1).toLocaleUpperCase() + s.substring(1));
22577
+ }
22578
+ break;
22579
+ case "characters":
22580
+ value = value.toLocaleUpperCase();
22581
+ break;
22582
+ }
22583
+ input.value = value;
22584
+ };
22585
+ capitalizeText = /android|iPhone|iOS/i.test(navigator.userAgent) ? () => undefined : e => {
22586
+ const input = e.target;
22587
+ const capitalize = input.autocapitalize;
22588
+ if (!capitalize || capitalize === "off" || capitalize === "none") {
22589
+ return;
22590
+ }
22591
+ const start = input.selectionStart;
22592
+ const end = input.selectionEnd;
22593
+ formatText(input, capitalize, false);
22594
+ input.setSelectionRange(start, end);
22595
+ };
22596
+ toText = capitalize => {
22597
+ switch (capitalize) {
22598
+ case "off":
22599
+ case "none":
22600
+ return "Caps Off";
22601
+ case "characters":
22602
+ return "All Caps";
22603
+ case "on":
22604
+ case "sentences":
22605
+ return "Sentence";
22606
+ case "words":
22607
+ return "Title Case";
22608
+ }
22609
+ return "";
22610
+ };
22611
+ changeCase = e => {
22612
+ let element = e.target;
22613
+ if (element.tagName === "SPAN") {
22614
+ element = element.previousElementSibling;
22615
+ }
22616
+ const input = element.previousElementSibling;
22617
+ const span = element.nextElementSibling;
22618
+ let capitalize = input.autocapitalize;
22619
+ switch (capitalize) {
22620
+ case "sentences":
22621
+ capitalize = "words";
22622
+ break;
22623
+ case "words":
22624
+ capitalize = "characters";
22625
+ break;
22626
+ case "characters":
22627
+ capitalize = "off";
22628
+ break;
22629
+ default:
22630
+ capitalize = "sentences";
22631
+ break;
22632
+ }
22633
+ span.textContent = toText(capitalize);
22634
+ input.autocapitalize = capitalize;
22635
+ };
22636
+ }
22637
+ };
22638
+ });
22639
+ //# sourceMappingURL=TitleEditor.js.map
22640
+
22641
+ AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/TitleEditor");
22642
+
22440
22643
  System.register(["@web-atoms/core/dist/style/styled"], function (_export, _context) {
22441
22644
  "use strict";
22442
22645
 
@@ -22867,13 +23070,17 @@ System.register(["tslib", "@web-atoms/core/dist/core/AtomBinder", "@web-atoms/co
22867
23070
  this.bindEvent(this.element, "removeChip", e => e.defaultPrevented || this.removeItem(e.detail));
22868
23071
  this.bindEvent(this.element, "undoRemoveChip", e => e.defaultPrevented || this.undoRemoveItem(e.detail));
22869
23072
  this.bindEvent(this.searchInput, "blur", () => {
22870
- if (this.onBlurItemToChip && this.search) {
22871
- const item = this.onBlurItemToChip(this.search);
22872
- if (item) {
22873
- this.items.add(item);
22874
- this.searchInput.value = "";
23073
+ const search = this.search;
23074
+ setTimeout(() => {
23075
+ if (this.onBlurItemToChip && search) {
23076
+ const item = this.onBlurItemToChip(search);
23077
+ if (item) {
23078
+ this.items.add(item);
23079
+ this.searchInput.value = "";
23080
+ this.search = "";
23081
+ }
22875
23082
  }
22876
- }
23083
+ }, 50);
22877
23084
  });
22878
23085
  }
22879
23086
  setFocus(hasFocus) {
@@ -23061,196 +23268,200 @@ System.register(["tslib", "@web-atoms/core/dist/core/AtomBinder", "@web-atoms/co
23061
23268
 
23062
23269
  AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/AtomChips");
23063
23270
 
23064
- System.register(["@web-atoms/core/dist/style/styled"], function (_export, _context) {
23271
+ System.register([], function (_export, _context) {
23065
23272
  "use strict";
23066
23273
 
23067
- var styled;
23274
+ var CacheTTL;
23068
23275
  return {
23069
- setters: [function (_webAtomsCoreDistStyleStyled) {
23070
- styled = _webAtomsCoreDistStyleStyled.default;
23071
- }],
23276
+ setters: [],
23072
23277
  execute: function () {
23073
- styled.css`
23074
- display: inline-grid;
23075
- grid-template-rows: 1fr auto;
23076
- grid-template-columns: 1fr 40px;
23077
- column-gap: 5px;
23078
-
23079
- & > input {
23080
- grid-row: 1 / span 2;
23081
- grid-column: 1;
23278
+ _export("CacheTTL", CacheTTL = {
23279
+ seconds: {
23280
+ oneHour: 60 * 60,
23281
+ oneDay: 60 * 60 * 24,
23282
+ oneMonth: 60 * 60 * 24 * 30
23283
+ }
23284
+ });
23082
23285
  }
23286
+ };
23287
+ });
23288
+ //# sourceMappingURL=CacheTTL.js.map
23083
23289
 
23084
- & > i {
23085
- grid-row: 1;
23086
- grid-column: 2;
23087
- font-size: smaller;
23088
- padding-left: 5px;
23089
- padding-right: 5px;
23090
- align-self: stretch;
23091
- justify-self: stretch;
23092
- text-align: center;
23093
- }
23290
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/cache/CacheTTL");
23094
23291
 
23095
- & > span {
23096
- grid-row: 2;
23097
- grid-column: 2;
23098
- font-size: xx-small;
23099
- align-self: stretch;
23100
- justify-self: stretch;
23101
- text-align: center;
23102
- }
23292
+ System.register(["tslib", "@web-atoms/core/dist/di/Inject", "../EntityService", "../../common/Sql", "../../model/model", "../../common/cache/CacheTTL", "@web-atoms/core/dist/di/DISingleton"], function (_export, _context) {
23293
+ "use strict";
23103
23294
 
23104
- `.installGlobal("[data-title-editor=title-editor]");
23295
+ var __awaiter, __decorate, __metadata, Inject, EntityService, Sql, EmailAddress, CacheTTL, DISingleton, cacheVersion, cacheSeconds, hideActivityIndicator, EmailAddressService;
23296
+ return {
23297
+ setters: [function (_tslib) {
23298
+ __awaiter = _tslib.__awaiter;
23299
+ __decorate = _tslib.__decorate;
23300
+ __metadata = _tslib.__metadata;
23301
+ }, function (_webAtomsCoreDistDiInject) {
23302
+ Inject = _webAtomsCoreDistDiInject.Inject;
23303
+ }, function (_EntityService) {
23304
+ EntityService = _EntityService.default;
23305
+ }, function (_commonSql) {
23306
+ Sql = _commonSql.Sql;
23307
+ }, function (_modelModel) {
23308
+ EmailAddress = _modelModel.EmailAddress;
23309
+ }, function (_commonCacheCacheTTL) {
23310
+ CacheTTL = _commonCacheCacheTTL.CacheTTL;
23311
+ }, function (_webAtomsCoreDistDiDISingleton) {
23312
+ DISingleton = _webAtomsCoreDistDiDISingleton.default;
23313
+ }],
23314
+ execute: function () {
23315
+ cacheVersion = "1";
23316
+ cacheSeconds = CacheTTL.seconds.oneDay;
23317
+ hideActivityIndicator = true;
23318
+ EmailAddressService = class EmailAddressService {
23319
+ getName(ea) {
23320
+ return __awaiter(this, void 0, void 0, function* () {
23321
+ const f = yield this.entityService.query(EmailAddress).where({
23322
+ ea
23323
+ }, p => x => x.emailAddress === p.ea).firstOrDefault({
23324
+ cacheSeconds,
23325
+ cacheVersion,
23326
+ hideActivityIndicator
23327
+ });
23328
+ return f === null || f === void 0 ? void 0 : f.name;
23329
+ });
23330
+ }
23331
+ search(search, cancelToken) {
23332
+ return __awaiter(this, void 0, void 0, function* () {
23333
+ if (!search) {
23334
+ return [];
23335
+ }
23336
+ if (!/\%$/.test(search)) {
23337
+ search = search + "%";
23338
+ }
23339
+ const list = yield this.entityService.query(EmailAddress).where({
23340
+ search
23341
+ }, p => x => Sql.text.like(x.emailAddress, p.search)).orderByDescending(x => x.emailAddressID).toPagedList({
23342
+ start: 0,
23343
+ size: 10,
23344
+ count: false,
23345
+ cacheSeconds,
23346
+ cacheVersion,
23347
+ cancelToken,
23348
+ hideActivityIndicator
23349
+ });
23350
+ return list.items;
23351
+ });
23352
+ }
23353
+ };
23354
+ __decorate([Inject, __metadata("design:type", EntityService)], EmailAddressService.prototype, "entityService", void 0);
23355
+ EmailAddressService = __decorate([DISingleton()], EmailAddressService);
23356
+ _export("default", EmailAddressService);
23105
23357
  }
23106
23358
  };
23107
23359
  });
23108
- //# sourceMappingURL=title-editor-style.js.map
23360
+ //# sourceMappingURL=EmailAddressService.js.map
23109
23361
 
23110
- AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/title-editor-style");
23362
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/email-addresses/EmailAddressService");
23111
23363
 
23112
- System.register(["tslib", "@web-atoms/core/dist/core/XNode", "./styles/title-editor-style"], function (_export, _context) {
23364
+ System.register(["tslib", "@web-atoms/web-controls/dist/basic/AtomChips", "../../../model/model", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/core/InjectProperty", "../../../services/email-addresses/EmailAddressService"], function (_export, _context) {
23113
23365
  "use strict";
23114
23366
 
23115
- var __rest, XNode, paste, formatText, capitalizeText, toText, changeCase;
23116
- function TitleEditor(_a) {
23117
- var {
23118
- value,
23119
- type,
23120
- placeholder,
23121
- capitalize = "on",
23122
- capitalizationTitle = "Capitalization"
23123
- } = _a,
23124
- a = __rest(_a, ["value", "type", "placeholder", "capitalize", "capitalizationTitle"]);
23125
- return XNode.create("div", Object.assign({
23126
- "data-title-editor": "title-editor"
23127
- }, a), XNode.create("input", {
23128
- autocapitalize: capitalize,
23129
- type: type,
23130
- placeholder: placeholder,
23131
- value: value,
23132
- "event-input": capitalizeText,
23133
- "event-paste": paste
23134
- }), XNode.create("i", {
23135
- "data-element": "icon",
23136
- class: "fas fa-font-case",
23137
- "event-click": changeCase,
23138
- title: capitalizationTitle
23139
- }), XNode.create("span", {
23140
- "data-element": "text",
23141
- text: toText(capitalize),
23142
- "event-click": changeCase,
23143
- title: capitalizationTitle
23144
- }));
23145
- }
23146
- _export("default", TitleEditor);
23367
+ var __awaiter, __decorate, __metadata, AtomChips, Chip, EmailRecipient, XNode, Bind, InjectProperty, EmailAddressService, EmailRecipientChips;
23368
+ _export("default", void 0);
23147
23369
  return {
23148
23370
  setters: [function (_tslib) {
23149
- __rest = _tslib.__rest;
23371
+ __awaiter = _tslib.__awaiter;
23372
+ __decorate = _tslib.__decorate;
23373
+ __metadata = _tslib.__metadata;
23374
+ }, function (_webAtomsWebControlsDistBasicAtomChips) {
23375
+ AtomChips = _webAtomsWebControlsDistBasicAtomChips.default;
23376
+ Chip = _webAtomsWebControlsDistBasicAtomChips.Chip;
23377
+ }, function (_modelModel) {
23378
+ EmailRecipient = _modelModel.EmailRecipient;
23150
23379
  }, function (_webAtomsCoreDistCoreXNode) {
23151
23380
  XNode = _webAtomsCoreDistCoreXNode.default;
23152
- }, function (_stylesTitleEditorStyle) {}],
23381
+ }, function (_webAtomsCoreDistCoreBind) {
23382
+ Bind = _webAtomsCoreDistCoreBind.default;
23383
+ }, function (_webAtomsCoreDistCoreInjectProperty) {
23384
+ InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
23385
+ }, function (_servicesEmailAddressesEmailAddressService) {
23386
+ EmailAddressService = _servicesEmailAddressesEmailAddressService.default;
23387
+ }],
23153
23388
  execute: function () {
23154
- paste = e => {
23155
- const input = e.target;
23156
- const capitalize = input.autocapitalize;
23157
- if (!capitalize || capitalize === "off" || capitalize === "none") {
23158
- return;
23159
- }
23160
- setTimeout(() => {
23161
- const start = input.selectionStart;
23162
- const end = input.selectionEnd;
23163
- formatText(input, capitalize);
23164
- input.setSelectionRange(start, end);
23165
- }, 1);
23166
- };
23167
- formatText = (input, capitalize, all = true) => {
23168
- let value = input.value;
23169
- if (!value) {
23170
- return;
23171
- }
23172
- switch (capitalize) {
23173
- case "on":
23174
- case "sentences":
23175
- if (value.length === 1) {
23176
- value = value.toLocaleUpperCase();
23389
+ _export("default", EmailRecipientChips = class EmailRecipientChips extends AtomChips {
23390
+ preCreate() {
23391
+ super.preCreate();
23392
+ this.search = "";
23393
+ this.suggestions = [];
23394
+ this.itemToChip = (item, text) => {
23395
+ if (typeof item === "string") {
23396
+ return this.createRecipient(item);
23177
23397
  }
23178
- break;
23179
- case "words":
23180
- if (all) {
23181
- value = value.replace(/(\S+)/g, s => s.substring(0, 1).toLocaleUpperCase() + s.substring(1));
23182
- } else {
23183
- value = value.replace(/(\S+)$/g, s => s.substring(0, 1).toLocaleUpperCase() + s.substring(1));
23398
+ const {
23399
+ name,
23400
+ emailAddress,
23401
+ emailAddressID
23402
+ } = item;
23403
+ return EmailRecipient.create({
23404
+ emailAddressID,
23405
+ name,
23406
+ emailAddressText: emailAddress
23407
+ });
23408
+ };
23409
+ this.itemRenderer = item => XNode.create(Chip, {
23410
+ title: item.name ? item.emailAddressText : void 0,
23411
+ label: item.name || item.emailAddressText
23412
+ });
23413
+ this.suggestionRenderer = item => XNode.create("div", {
23414
+ "data-layout": "vertical-flex-stretch-items"
23415
+ }, item.name && item.name !== item.emailAddress && XNode.create("div", {
23416
+ text: item.name
23417
+ }), XNode.create("div", {
23418
+ text: item.emailAddress
23419
+ }));
23420
+ this.onKeyPressedItemToChip = (key, search) => {
23421
+ if (key === "Enter" || key === "Comma") {
23422
+ return this.createRecipient(search);
23184
23423
  }
23185
- break;
23186
- case "characters":
23187
- value = value.toLocaleUpperCase();
23188
- break;
23189
- }
23190
- input.value = value;
23191
- };
23192
- capitalizeText = /android|iPhone|iOS/i.test(navigator.userAgent) ? () => undefined : e => {
23193
- const input = e.target;
23194
- const capitalize = input.autocapitalize;
23195
- if (!capitalize || capitalize === "off" || capitalize === "none") {
23196
- return;
23197
- }
23198
- const start = input.selectionStart;
23199
- const end = input.selectionEnd;
23200
- formatText(input, capitalize, false);
23201
- input.setSelectionRange(start, end);
23202
- };
23203
- toText = capitalize => {
23204
- switch (capitalize) {
23205
- case "off":
23206
- case "none":
23207
- return "Caps Off";
23208
- case "characters":
23209
- return "All Caps";
23210
- case "on":
23211
- case "sentences":
23212
- return "Sentence";
23213
- case "words":
23214
- return "Title Case";
23215
- }
23216
- return "";
23217
- };
23218
- changeCase = e => {
23219
- let element = e.target;
23220
- if (element.tagName === "SPAN") {
23221
- element = element.previousElementSibling;
23424
+ };
23425
+ this.onBlurItemToChip = search => this.createRecipient(search);
23426
+ this.render(XNode.create("div", {
23427
+ suggestions: Bind.oneWayAsync((c, e, ct) => this.addressService.search(this.search, ct))
23428
+ }));
23222
23429
  }
23223
- const input = element.previousElementSibling;
23224
- const span = element.nextElementSibling;
23225
- let capitalize = input.autocapitalize;
23226
- switch (capitalize) {
23227
- case "sentences":
23228
- capitalize = "words";
23229
- break;
23230
- case "words":
23231
- capitalize = "characters";
23232
- break;
23233
- case "characters":
23234
- capitalize = "off";
23235
- break;
23236
- default:
23237
- capitalize = "sentences";
23238
- break;
23430
+ createRecipient(search) {
23431
+ search = search === null || search === void 0 ? void 0 : search.trim();
23432
+ if (!search) {
23433
+ return;
23434
+ }
23435
+ if (!/\@/.test(search)) {
23436
+ return;
23437
+ }
23438
+ const er = EmailRecipient.create({
23439
+ emailAddressText: search
23440
+ });
23441
+ if (!er.name && er.emailAddressText) {
23442
+ this.app.runAsync(() => __awaiter(this, void 0, void 0, function* () {
23443
+ const n = yield this.addressService.getName(er.emailAddressText);
23444
+ if (n) {
23445
+ er.name = n;
23446
+ this.refreshItem(er);
23447
+ }
23448
+ }));
23449
+ }
23450
+ return er;
23239
23451
  }
23240
- span.textContent = toText(capitalize);
23241
- input.autocapitalize = capitalize;
23242
- };
23452
+ });
23453
+ __decorate([InjectProperty, __metadata("design:type", EmailAddressService)], EmailRecipientChips.prototype, "addressService", void 0);
23243
23454
  }
23244
23455
  };
23245
23456
  });
23246
- //# sourceMappingURL=TitleEditor.js.map
23457
+ //# sourceMappingURL=EmailRecipientChips.js.map
23247
23458
 
23248
- AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/TitleEditor");
23459
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailRecipientChips");
23249
23460
 
23250
- System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "../../../common/controls/html/InlineHtmlEditorWithToolbar", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/core/Bind", "@web-atoms/web-controls/dist/basic/Form", "@web-atoms/web-controls/dist/basic/FormField", "../../../model/model", "@web-atoms/web-controls/dist/basic/AtomChips", "@web-atoms/core/dist/view-model/Action", "./service/MailService", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/date-time/dist/DateTime", "@web-atoms/web-controls/dist/basic/AtomRepeater", "@web-atoms/web-controls/dist/basic/TitleEditor"], function (_export, _context) {
23461
+ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "../../../common/controls/html/InlineHtmlEditorWithToolbar", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/core/Bind", "@web-atoms/web-controls/dist/basic/Form", "@web-atoms/web-controls/dist/basic/FormField", "../../../model/model", "@web-atoms/core/dist/view-model/Action", "./service/MailService", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/date-time/dist/DateTime", "@web-atoms/web-controls/dist/basic/AtomRepeater", "@web-atoms/web-controls/dist/basic/TitleEditor", "../../../common/controls/email-recipients/EmailRecipientChips"], function (_export, _context) {
23251
23462
  "use strict";
23252
23463
 
23253
- var __awaiter, __decorate, __metadata, PopupWindowPage, InlineHtmlEditorWithToolbar, XNode, Bind, Form, FormField, HorizontalFormField, AppFile, Email, EmailRecipient, AtomChips, Chip, Action, MailService, InjectProperty, DateTime, AtomRepeater, TitleEditor, ComposeMailPage;
23464
+ var __awaiter, __decorate, __metadata, PopupWindowPage, InlineHtmlEditorWithToolbar, XNode, Bind, Form, FormField, HorizontalFormField, AppFile, Email, EmailRecipient, Action, MailService, InjectProperty, DateTime, AtomRepeater, TitleEditor, EmailRecipientChips, ComposeMailPage;
23254
23465
  _export("default", void 0);
23255
23466
  return {
23256
23467
  setters: [function (_tslib) {
@@ -23274,9 +23485,6 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23274
23485
  AppFile = _modelModel.AppFile;
23275
23486
  Email = _modelModel.Email;
23276
23487
  EmailRecipient = _modelModel.EmailRecipient;
23277
- }, function (_webAtomsWebControlsDistBasicAtomChips) {
23278
- AtomChips = _webAtomsWebControlsDistBasicAtomChips.default;
23279
- Chip = _webAtomsWebControlsDistBasicAtomChips.Chip;
23280
23488
  }, function (_webAtomsCoreDistViewModelAction) {
23281
23489
  Action = _webAtomsCoreDistViewModelAction.default;
23282
23490
  }, function (_serviceMailService) {
@@ -23289,6 +23497,8 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23289
23497
  AtomRepeater = _webAtomsWebControlsDistBasicAtomRepeater.default;
23290
23498
  }, function (_webAtomsWebControlsDistBasicTitleEditor) {
23291
23499
  TitleEditor = _webAtomsWebControlsDistBasicTitleEditor.default;
23500
+ }, function (_commonControlsEmailRecipientsEmailRecipientChips) {
23501
+ EmailRecipientChips = _commonControlsEmailRecipientsEmailRecipientChips.default;
23292
23502
  }],
23293
23503
  execute: function () {
23294
23504
  _export("default", ComposeMailPage = class ComposeMailPage extends PopupWindowPage {
@@ -23315,21 +23525,8 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23315
23525
  }
23316
23526
  this.renderer = XNode.create("div", null, XNode.create(Form, null, XNode.create(HorizontalFormField, {
23317
23527
  label: "To:"
23318
- }, XNode.create(AtomChips, {
23319
- itemToChip: text => EmailRecipient.create({
23320
- emailAddressText: text
23321
- }),
23322
- items: this.model.recipients,
23323
- itemRenderer: item => XNode.create(Chip, {
23324
- label: item.name ? item.emailAddressText : void 0,
23325
- text: item.name || item.emailAddressText
23326
- }),
23327
- onKeyPressedItemToChip: (key, search) => key === "Enter" || key === "Comma" ? EmailRecipient.create({
23328
- emailAddressText: search.trim()
23329
- }) : void 0,
23330
- onBlurItemToChip: search => EmailRecipient.create({
23331
- emailAddressText: search.trim()
23332
- })
23528
+ }, XNode.create(EmailRecipientChips, {
23529
+ items: this.model.recipients
23333
23530
  })), XNode.create(FormField, {
23334
23531
  label: ""
23335
23532
  }, XNode.create(TitleEditor, {
@@ -23638,10 +23835,10 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/di
23638
23835
 
23639
23836
  AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/LimitedText");
23640
23837
 
23641
- System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "../../../model/model", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/basic/AtomRepeater", "../../../common/controls/repeater/InfiniteRepeater", "./service/ConversationService", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/style/styled", "@web-atoms/core/dist/view-model/Action", "@web-atoms/web-controls/dist/PageNavigator", "./ComposeMailPage", "../../../services/socket/sockets", "@web-atoms/web-controls/dist/basic/LimitedText"], function (_export, _context) {
23838
+ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "../../../model/model", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/basic/AtomRepeater", "../../../common/controls/repeater/InfiniteRepeater", "./service/ConversationService", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/style/styled", "@web-atoms/core/dist/view-model/Action", "@web-atoms/web-controls/dist/PageNavigator", "./ComposeMailPage", "../../../services/socket/sockets", "@web-atoms/web-controls/dist/basic/LimitedText"], function (_export, _context) {
23642
23839
  "use strict";
23643
23840
 
23644
- var __awaiter, __decorate, __metadata, ContentPage, Email, EmailRecipient, XNode, AtomRepeater, InfiniteRepeater, ConversationService, renderMail, InjectProperty, styled, Action, PageNavigator, ComposeMailPage, MailboxSocket, LimitedText, ConversationPage, css, id, fixLinks;
23841
+ var __awaiter, __decorate, __metadata, ContentPage, Email, EmailRecipient, XNode, AtomRepeater, InfiniteRepeater, ConversationService, renderMail, InjectProperty, Bind, styled, Action, PageNavigator, ComposeMailPage, MailboxSocket, LimitedText, ConversationPage, css, id, fixLinks;
23645
23842
  _export("default", void 0);
23646
23843
  return {
23647
23844
  setters: [function (_tslib) {
@@ -23664,6 +23861,8 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23664
23861
  renderMail = _serviceConversationService.renderMail;
23665
23862
  }, function (_webAtomsCoreDistCoreInjectProperty) {
23666
23863
  InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
23864
+ }, function (_webAtomsCoreDistCoreBind) {
23865
+ Bind = _webAtomsCoreDistCoreBind.default;
23667
23866
  }, function (_webAtomsCoreDistStyleStyled) {
23668
23867
  styled = _webAtomsCoreDistStyleStyled.default;
23669
23868
  }, function (_webAtomsCoreDistViewModelAction) {
@@ -23713,6 +23912,18 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23713
23912
  var _a;
23714
23913
  return __awaiter(this, void 0, void 0, function* () {
23715
23914
  const mb = this.parameters;
23915
+ this.titleRenderer = () => {
23916
+ var _a;
23917
+ return XNode.create("div", {
23918
+ "data-layout": "row"
23919
+ }, XNode.create("input", {
23920
+ value: Bind.twoWaysImmediate(() => this.search),
23921
+ type: "search",
23922
+ placeholder: "Search"
23923
+ }), XNode.create("span", {
23924
+ text: mb.lastEmail.senderID === mb.mailboxID ? (_a = mb.emailAddress) === null || _a === void 0 ? void 0 : _a.emailAddress : mb.lastEmail.senderName
23925
+ }));
23926
+ };
23716
23927
  this.title = mb.lastEmail.senderID === mb.mailboxID ? (_a = mb.emailAddress) === null || _a === void 0 ? void 0 : _a.emailAddress : mb.lastEmail.senderName;
23717
23928
  this.registerDisposable(yield this.resolve(MailboxSocket).join(mb.mailboxID.toString(), {
23718
23929
  newMail: () => {
@@ -23764,11 +23975,14 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23764
23975
  })));
23765
23976
  });
23766
23977
  }
23767
- replyEmail(email) {
23978
+ replyEmail({
23979
+ email
23980
+ }) {
23768
23981
  var _a, _b;
23769
23982
  return __awaiter(this, void 0, void 0, function* () {
23770
23983
  const parse = JSON.parse(email.headers);
23771
23984
  const emailAddressText = (_b = (_a = parse === null || parse === void 0 ? void 0 : parse.replyTo) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : this.parameters.emailAddress.emailAddress;
23985
+ const name = email.senderName;
23772
23986
  const parentID = email.emailID;
23773
23987
  const child = Email.create({
23774
23988
  senderID: this.parameters.mailboxID,
@@ -23776,6 +23990,7 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23776
23990
  parentID,
23777
23991
  received: false,
23778
23992
  recipients: [EmailRecipient.create({
23993
+ name,
23779
23994
  emailAddressText
23780
23995
  })],
23781
23996
  htmlBody: `<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`