@social-mail/social-mail-client 1.0.43 → 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 (55) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +531 -197
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +82 -36
  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 +10 -1
  13. package/dist/style/GlobalStyle.js.map +1 -1
  14. package/dist/tsconfig.tsbuildinfo +1 -1
  15. package/dist/web/AppIndex.pack.js +531 -197
  16. package/dist/web/AppIndex.pack.js.map +1 -1
  17. package/dist/web/AppIndex.pack.min.js +82 -36
  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 +29 -5
  22. package/dist/web/page/mails/ConversationPage.js.map +1 -1
  23. package/dist/web/page/mails/MailsPage.js +1 -1
  24. package/dist/web/page/mails/MailsPage.js.map +1 -1
  25. package/dist/web/page/mails/service/ConversationService.js +3 -1
  26. package/dist/web/page/mails/service/ConversationService.js.map +1 -1
  27. package/node_modules/@web-atoms/web-controls/dist/basic/AtomChips.d.ts.map +1 -1
  28. package/node_modules/@web-atoms/web-controls/dist/basic/AtomChips.js +10 -6
  29. package/node_modules/@web-atoms/web-controls/dist/basic/AtomChips.js.map +1 -1
  30. package/node_modules/@web-atoms/web-controls/dist/basic/LimitedText.d.ts +4 -3
  31. package/node_modules/@web-atoms/web-controls/dist/basic/LimitedText.d.ts.map +1 -1
  32. package/node_modules/@web-atoms/web-controls/dist/basic/LimitedText.js +5 -5
  33. package/node_modules/@web-atoms/web-controls/dist/basic/LimitedText.js.map +1 -1
  34. package/node_modules/@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor.d.ts +1 -1
  35. package/node_modules/@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor.d.ts.map +1 -1
  36. package/node_modules/@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor.js.map +1 -1
  37. package/node_modules/@web-atoms/web-controls/dist/mobile-app/MobileApp.d.ts.map +1 -1
  38. package/node_modules/@web-atoms/web-controls/dist/mobile-app/MobileApp.js +16 -5
  39. package/node_modules/@web-atoms/web-controls/dist/mobile-app/MobileApp.js.map +1 -1
  40. package/node_modules/@web-atoms/web-controls/dist/tsconfig.tsbuildinfo +1 -1
  41. package/node_modules/@web-atoms/web-controls/package.json +1 -1
  42. package/node_modules/@web-atoms/web-controls/src/basic/AtomChips.tsx +10 -6
  43. package/node_modules/@web-atoms/web-controls/src/basic/LimitedText.tsx +6 -5
  44. package/node_modules/@web-atoms/web-controls/src/html-editor/InlineHtmlEditor.tsx +2 -1
  45. package/node_modules/@web-atoms/web-controls/src/mobile-app/MobileApp.tsx +13 -3
  46. package/package.json +2 -2
  47. package/src/common/Sql.ts +8 -0
  48. package/src/common/cache/CacheTTL.ts +7 -0
  49. package/src/common/controls/email-recipients/EmailRecipientChips.tsx +80 -0
  50. package/src/services/email-addresses/EmailAddressService.ts +53 -0
  51. package/src/style/GlobalStyle.ts +10 -1
  52. package/src/web/page/mails/ComposeMailPage.tsx +3 -13
  53. package/src/web/page/mails/ConversationPage.tsx +13 -2
  54. package/src/web/page/mails/MailsPage.tsx +2 -2
  55. 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","@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
  };
@@ -11096,12 +11102,17 @@ System.register(["tslib", "@web-atoms/core/dist/core/AtomLoader", "@web-atoms/co
11096
11102
  }
11097
11103
  hide() {
11098
11104
  var _b;
11099
- this.element.dataset.pageState = "hidden";
11100
- this.element._logicalParent = this.element.parentElement;
11105
+ const {
11106
+ element
11107
+ } = this;
11108
+ if (!element) {
11109
+ return;
11110
+ }
11111
+ element.dataset.pageState = "hidden";
11112
+ element._logicalParent = element.parentElement;
11101
11113
  this.scrollTop = (_b = this.contentElement) === null || _b === void 0 ? void 0 : _b.scrollTop;
11102
11114
  setTimeout(() => {
11103
- var _b;
11104
- (_b = this.element) === null || _b === void 0 ? void 0 : _b.remove();
11115
+ element === null || element === void 0 ? void 0 : element.remove();
11105
11116
  }, 400);
11106
11117
  }
11107
11118
  show() {
@@ -11855,7 +11866,7 @@ System.register(["@web-atoms/core/dist/core/types", "@web-atoms/core/dist/core/A
11855
11866
  execute: function () {
11856
11867
  _export("___UMD", ___UMD = UMD);
11857
11868
  addLinkTag("https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap");
11858
- addLinkTag("https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.4.0/css/all.min.css");
11869
+ addLinkTag("https://npm-git.azureedge.net/npm/package/@c8private/fa-icons@6.4.2/css/all.min.css");
11859
11870
  styled.css`
11860
11871
 
11861
11872
  :root {
@@ -11912,6 +11923,15 @@ body {
11912
11923
  & ul {
11913
11924
  padding-inline-start: 15px;
11914
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
+ }
11915
11935
  }
11916
11936
 
11917
11937
  `.withId("global-styles").withOrder("medium").installGlobal();
@@ -19340,7 +19360,9 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
19340
19360
  emailAddressID
19341
19361
  }, p => x => x.mailboxID === p.mailboxID && x.emailAddressID === p.emailAddressID);
19342
19362
  if (search) {
19343
- search = `%${search}%`;
19363
+ if (!/\%/.test(search)) {
19364
+ search = `%${search}%`;
19365
+ }
19344
19366
  q = q.where({
19345
19367
  search
19346
19368
  }, p => x => Sql.text.iLike(x.email.subject, p.search) || Sql.text.iLike(x.email.textBody, p.search));
@@ -22432,6 +22454,192 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-con
22432
22454
 
22433
22455
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/html/InlineHtmlEditorWithToolbar");
22434
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
+
22435
22643
  System.register(["@web-atoms/core/dist/style/styled"], function (_export, _context) {
22436
22644
  "use strict";
22437
22645
 
@@ -22862,13 +23070,17 @@ System.register(["tslib", "@web-atoms/core/dist/core/AtomBinder", "@web-atoms/co
22862
23070
  this.bindEvent(this.element, "removeChip", e => e.defaultPrevented || this.removeItem(e.detail));
22863
23071
  this.bindEvent(this.element, "undoRemoveChip", e => e.defaultPrevented || this.undoRemoveItem(e.detail));
22864
23072
  this.bindEvent(this.searchInput, "blur", () => {
22865
- if (this.onBlurItemToChip && this.search) {
22866
- const item = this.onBlurItemToChip(this.search);
22867
- if (item) {
22868
- this.items.add(item);
22869
- 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
+ }
22870
23082
  }
22871
- }
23083
+ }, 50);
22872
23084
  });
22873
23085
  }
22874
23086
  setFocus(hasFocus) {
@@ -23056,196 +23268,200 @@ System.register(["tslib", "@web-atoms/core/dist/core/AtomBinder", "@web-atoms/co
23056
23268
 
23057
23269
  AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/AtomChips");
23058
23270
 
23059
- System.register(["@web-atoms/core/dist/style/styled"], function (_export, _context) {
23271
+ System.register([], function (_export, _context) {
23060
23272
  "use strict";
23061
23273
 
23062
- var styled;
23274
+ var CacheTTL;
23063
23275
  return {
23064
- setters: [function (_webAtomsCoreDistStyleStyled) {
23065
- styled = _webAtomsCoreDistStyleStyled.default;
23066
- }],
23276
+ setters: [],
23067
23277
  execute: function () {
23068
- styled.css`
23069
- display: inline-grid;
23070
- grid-template-rows: 1fr auto;
23071
- grid-template-columns: 1fr 40px;
23072
- column-gap: 5px;
23073
-
23074
- & > input {
23075
- grid-row: 1 / span 2;
23076
- 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
+ });
23077
23285
  }
23286
+ };
23287
+ });
23288
+ //# sourceMappingURL=CacheTTL.js.map
23078
23289
 
23079
- & > i {
23080
- grid-row: 1;
23081
- grid-column: 2;
23082
- font-size: smaller;
23083
- padding-left: 5px;
23084
- padding-right: 5px;
23085
- align-self: stretch;
23086
- justify-self: stretch;
23087
- text-align: center;
23088
- }
23290
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/cache/CacheTTL");
23089
23291
 
23090
- & > span {
23091
- grid-row: 2;
23092
- grid-column: 2;
23093
- font-size: xx-small;
23094
- align-self: stretch;
23095
- justify-self: stretch;
23096
- text-align: center;
23097
- }
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";
23098
23294
 
23099
- `.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);
23100
23357
  }
23101
23358
  };
23102
23359
  });
23103
- //# sourceMappingURL=title-editor-style.js.map
23360
+ //# sourceMappingURL=EmailAddressService.js.map
23104
23361
 
23105
- 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");
23106
23363
 
23107
- 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) {
23108
23365
  "use strict";
23109
23366
 
23110
- var __rest, XNode, paste, formatText, capitalizeText, toText, changeCase;
23111
- function TitleEditor(_a) {
23112
- var {
23113
- value,
23114
- type,
23115
- placeholder,
23116
- capitalize = "on",
23117
- capitalizationTitle = "Capitalization"
23118
- } = _a,
23119
- a = __rest(_a, ["value", "type", "placeholder", "capitalize", "capitalizationTitle"]);
23120
- return XNode.create("div", Object.assign({
23121
- "data-title-editor": "title-editor"
23122
- }, a), XNode.create("input", {
23123
- autocapitalize: capitalize,
23124
- type: type,
23125
- placeholder: placeholder,
23126
- value: value,
23127
- "event-input": capitalizeText,
23128
- "event-paste": paste
23129
- }), XNode.create("i", {
23130
- "data-element": "icon",
23131
- class: "fas fa-font-case",
23132
- "event-click": changeCase,
23133
- title: capitalizationTitle
23134
- }), XNode.create("span", {
23135
- "data-element": "text",
23136
- text: toText(capitalize),
23137
- "event-click": changeCase,
23138
- title: capitalizationTitle
23139
- }));
23140
- }
23141
- _export("default", TitleEditor);
23367
+ var __awaiter, __decorate, __metadata, AtomChips, Chip, EmailRecipient, XNode, Bind, InjectProperty, EmailAddressService, EmailRecipientChips;
23368
+ _export("default", void 0);
23142
23369
  return {
23143
23370
  setters: [function (_tslib) {
23144
- __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;
23145
23379
  }, function (_webAtomsCoreDistCoreXNode) {
23146
23380
  XNode = _webAtomsCoreDistCoreXNode.default;
23147
- }, function (_stylesTitleEditorStyle) {}],
23381
+ }, function (_webAtomsCoreDistCoreBind) {
23382
+ Bind = _webAtomsCoreDistCoreBind.default;
23383
+ }, function (_webAtomsCoreDistCoreInjectProperty) {
23384
+ InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
23385
+ }, function (_servicesEmailAddressesEmailAddressService) {
23386
+ EmailAddressService = _servicesEmailAddressesEmailAddressService.default;
23387
+ }],
23148
23388
  execute: function () {
23149
- paste = e => {
23150
- const input = e.target;
23151
- const capitalize = input.autocapitalize;
23152
- if (!capitalize || capitalize === "off" || capitalize === "none") {
23153
- return;
23154
- }
23155
- setTimeout(() => {
23156
- const start = input.selectionStart;
23157
- const end = input.selectionEnd;
23158
- formatText(input, capitalize);
23159
- input.setSelectionRange(start, end);
23160
- }, 1);
23161
- };
23162
- formatText = (input, capitalize, all = true) => {
23163
- let value = input.value;
23164
- if (!value) {
23165
- return;
23166
- }
23167
- switch (capitalize) {
23168
- case "on":
23169
- case "sentences":
23170
- if (value.length === 1) {
23171
- 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);
23172
23397
  }
23173
- break;
23174
- case "words":
23175
- if (all) {
23176
- value = value.replace(/(\S+)/g, s => s.substring(0, 1).toLocaleUpperCase() + s.substring(1));
23177
- } else {
23178
- 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);
23179
23423
  }
23180
- break;
23181
- case "characters":
23182
- value = value.toLocaleUpperCase();
23183
- break;
23184
- }
23185
- input.value = value;
23186
- };
23187
- capitalizeText = /android|iPhone|iOS/i.test(navigator.userAgent) ? () => undefined : e => {
23188
- const input = e.target;
23189
- const capitalize = input.autocapitalize;
23190
- if (!capitalize || capitalize === "off" || capitalize === "none") {
23191
- return;
23192
- }
23193
- const start = input.selectionStart;
23194
- const end = input.selectionEnd;
23195
- formatText(input, capitalize, false);
23196
- input.setSelectionRange(start, end);
23197
- };
23198
- toText = capitalize => {
23199
- switch (capitalize) {
23200
- case "off":
23201
- case "none":
23202
- return "Caps Off";
23203
- case "characters":
23204
- return "All Caps";
23205
- case "on":
23206
- case "sentences":
23207
- return "Sentence";
23208
- case "words":
23209
- return "Title Case";
23210
- }
23211
- return "";
23212
- };
23213
- changeCase = e => {
23214
- let element = e.target;
23215
- if (element.tagName === "SPAN") {
23216
- 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
+ }));
23217
23429
  }
23218
- const input = element.previousElementSibling;
23219
- const span = element.nextElementSibling;
23220
- let capitalize = input.autocapitalize;
23221
- switch (capitalize) {
23222
- case "sentences":
23223
- capitalize = "words";
23224
- break;
23225
- case "words":
23226
- capitalize = "characters";
23227
- break;
23228
- case "characters":
23229
- capitalize = "off";
23230
- break;
23231
- default:
23232
- capitalize = "sentences";
23233
- 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;
23234
23451
  }
23235
- span.textContent = toText(capitalize);
23236
- input.autocapitalize = capitalize;
23237
- };
23452
+ });
23453
+ __decorate([InjectProperty, __metadata("design:type", EmailAddressService)], EmailRecipientChips.prototype, "addressService", void 0);
23238
23454
  }
23239
23455
  };
23240
23456
  });
23241
- //# sourceMappingURL=TitleEditor.js.map
23457
+ //# sourceMappingURL=EmailRecipientChips.js.map
23242
23458
 
23243
- 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");
23244
23460
 
23245
- 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) {
23246
23462
  "use strict";
23247
23463
 
23248
- 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;
23249
23465
  _export("default", void 0);
23250
23466
  return {
23251
23467
  setters: [function (_tslib) {
@@ -23269,9 +23485,6 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23269
23485
  AppFile = _modelModel.AppFile;
23270
23486
  Email = _modelModel.Email;
23271
23487
  EmailRecipient = _modelModel.EmailRecipient;
23272
- }, function (_webAtomsWebControlsDistBasicAtomChips) {
23273
- AtomChips = _webAtomsWebControlsDistBasicAtomChips.default;
23274
- Chip = _webAtomsWebControlsDistBasicAtomChips.Chip;
23275
23488
  }, function (_webAtomsCoreDistViewModelAction) {
23276
23489
  Action = _webAtomsCoreDistViewModelAction.default;
23277
23490
  }, function (_serviceMailService) {
@@ -23284,6 +23497,8 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23284
23497
  AtomRepeater = _webAtomsWebControlsDistBasicAtomRepeater.default;
23285
23498
  }, function (_webAtomsWebControlsDistBasicTitleEditor) {
23286
23499
  TitleEditor = _webAtomsWebControlsDistBasicTitleEditor.default;
23500
+ }, function (_commonControlsEmailRecipientsEmailRecipientChips) {
23501
+ EmailRecipientChips = _commonControlsEmailRecipientsEmailRecipientChips.default;
23287
23502
  }],
23288
23503
  execute: function () {
23289
23504
  _export("default", ComposeMailPage = class ComposeMailPage extends PopupWindowPage {
@@ -23310,21 +23525,8 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23310
23525
  }
23311
23526
  this.renderer = XNode.create("div", null, XNode.create(Form, null, XNode.create(HorizontalFormField, {
23312
23527
  label: "To:"
23313
- }, XNode.create(AtomChips, {
23314
- itemToChip: text => EmailRecipient.create({
23315
- emailAddressText: text
23316
- }),
23317
- items: this.model.recipients,
23318
- itemRenderer: item => XNode.create(Chip, {
23319
- label: item.name ? item.emailAddressText : void 0,
23320
- text: item.name || item.emailAddressText
23321
- }),
23322
- onKeyPressedItemToChip: (key, search) => key === "Enter" || key === "Comma" ? EmailRecipient.create({
23323
- emailAddressText: search.trim()
23324
- }) : void 0,
23325
- onBlurItemToChip: search => EmailRecipient.create({
23326
- emailAddressText: search.trim()
23327
- })
23528
+ }, XNode.create(EmailRecipientChips, {
23529
+ items: this.model.recipients
23328
23530
  })), XNode.create(FormField, {
23329
23531
  label: ""
23330
23532
  }, XNode.create(TitleEditor, {
@@ -23525,10 +23727,118 @@ System.register(["tslib", "@web-atoms/core/dist/core/AtomDisposableList", "@web-
23525
23727
 
23526
23728
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/socket/sockets");
23527
23729
 
23528
- 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"], function (_export, _context) {
23730
+ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/style/styled"], function (_export, _context) {
23529
23731
  "use strict";
23530
23732
 
23531
- var __awaiter, __decorate, __metadata, ContentPage, Email, EmailRecipient, XNode, AtomRepeater, InfiniteRepeater, ConversationService, renderMail, InjectProperty, styled, Action, PageNavigator, ComposeMailPage, MailboxSocket, ConversationPage, css, id, fixLinks;
23733
+ var __rest, XNode, styled, toggleDetails, setEventHandler;
23734
+ function LimitedText(_a, ...nodes) {
23735
+ var {
23736
+ text = "",
23737
+ height = 100
23738
+ } = _a,
23739
+ a = __rest(_a, ["text", "height"]);
23740
+ setEventHandler === null || setEventHandler === void 0 ? void 0 : setEventHandler();
23741
+ const h = typeof height === "number" ? `${height}px` : height;
23742
+ return XNode.create("div", Object.assign({
23743
+ "data-mode": "collapsed",
23744
+ "data-max-height": h,
23745
+ "style-max-height": h,
23746
+ "data-limited-text": "limited-text"
23747
+ }, a), text && XNode.create("p", {
23748
+ text: text
23749
+ }), ...nodes, XNode.create("div", {
23750
+ "style-top": h,
23751
+ "data-element": "more"
23752
+ }, XNode.create("button", {
23753
+ class: "fa-solid fa-angles-up"
23754
+ })));
23755
+ }
23756
+ _export("default", LimitedText);
23757
+ return {
23758
+ setters: [function (_tslib) {
23759
+ __rest = _tslib.__rest;
23760
+ }, function (_webAtomsCoreDistCoreXNode) {
23761
+ XNode = _webAtomsCoreDistCoreXNode.default;
23762
+ }, function (_webAtomsCoreDistStyleStyled) {
23763
+ styled = _webAtomsCoreDistStyleStyled.default;
23764
+ }],
23765
+ execute: function () {
23766
+ styled.css`
23767
+ position: relative;
23768
+ overflow: hidden;
23769
+ contain: content;
23770
+
23771
+ &[data-mode=collapsed] {
23772
+ & > [data-element=more] {
23773
+ cursor: pointer;
23774
+ background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.5) 19%, rgba(255,255,255,1) 65%, rgba(255,255,255,1) 100%);
23775
+ & > button {
23776
+ transform: rotate(180deg);
23777
+ }
23778
+ }
23779
+ }
23780
+
23781
+ & > [data-element=more] {
23782
+ display: flex;
23783
+ justify-content: flex-end;
23784
+ width: 100%;
23785
+ right: 0;
23786
+ left: 0;
23787
+ position: absolute;
23788
+ transform: translateY(-100%);
23789
+ & > button {
23790
+ padding: 1px;
23791
+ padding-left: 10px;
23792
+ padding-right: 10px;
23793
+ border-radius: 9999px;
23794
+ border: none;
23795
+ outline: none;
23796
+ box-shadow: 0 0 6px 6px white;
23797
+ transition: transform 0.5s ease-out;
23798
+ }
23799
+ }
23800
+
23801
+ `.installGlobal("[data-limited-text]");
23802
+ toggleDetails = e => {
23803
+ let start = e.target;
23804
+ if (e.defaultPrevented) {
23805
+ return;
23806
+ }
23807
+ start = start.parentElement;
23808
+ const container = start;
23809
+ start = start === null || start === void 0 ? void 0 : start.parentElement;
23810
+ if (!start || start.getAttribute("data-limited-text") !== "limited-text") {
23811
+ return;
23812
+ }
23813
+ e.preventDefault();
23814
+ e.stopImmediatePropagation();
23815
+ e.stopPropagation();
23816
+ if (start.getAttribute("data-mode") === "collapsed") {
23817
+ start.setAttribute("data-mode", "open");
23818
+ start.style.maxHeight = "";
23819
+ container.style.top = "";
23820
+ } else {
23821
+ const h = start.getAttribute("data-max-height");
23822
+ start.style.maxHeight = h;
23823
+ container.style.top = h;
23824
+ start.setAttribute("data-mode", "collapsed");
23825
+ }
23826
+ };
23827
+ setEventHandler = () => {
23828
+ document.body.addEventListener("click", toggleDetails);
23829
+ setEventHandler = null;
23830
+ };
23831
+ }
23832
+ };
23833
+ });
23834
+ //# sourceMappingURL=LimitedText.js.map
23835
+
23836
+ AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/LimitedText");
23837
+
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) {
23839
+ "use strict";
23840
+
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;
23532
23842
  _export("default", void 0);
23533
23843
  return {
23534
23844
  setters: [function (_tslib) {
@@ -23551,6 +23861,8 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23551
23861
  renderMail = _serviceConversationService.renderMail;
23552
23862
  }, function (_webAtomsCoreDistCoreInjectProperty) {
23553
23863
  InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
23864
+ }, function (_webAtomsCoreDistCoreBind) {
23865
+ Bind = _webAtomsCoreDistCoreBind.default;
23554
23866
  }, function (_webAtomsCoreDistStyleStyled) {
23555
23867
  styled = _webAtomsCoreDistStyleStyled.default;
23556
23868
  }, function (_webAtomsCoreDistViewModelAction) {
@@ -23561,6 +23873,8 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23561
23873
  ComposeMailPage = _ComposeMailPage.default;
23562
23874
  }, function (_servicesSocketSockets) {
23563
23875
  MailboxSocket = _servicesSocketSockets.MailboxSocket;
23876
+ }, function (_webAtomsWebControlsDistBasicLimitedText) {
23877
+ LimitedText = _webAtomsWebControlsDistBasicLimitedText.default;
23564
23878
  }],
23565
23879
  execute: function () {
23566
23880
  css = styled.css`
@@ -23568,6 +23882,8 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23568
23882
  border-radius: 5px;
23569
23883
  padding: 5px;
23570
23884
  margin-right: 20%;
23885
+ overflow: hidden;
23886
+ position: relative;
23571
23887
  &[data-sent=true] {
23572
23888
  margin-right: 0;
23573
23889
  margin-left: 20%;
@@ -23596,6 +23912,18 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23596
23912
  var _a;
23597
23913
  return __awaiter(this, void 0, void 0, function* () {
23598
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
+ };
23599
23927
  this.title = mb.lastEmail.senderID === mb.mailboxID ? (_a = mb.emailAddress) === null || _a === void 0 ? void 0 : _a.emailAddress : mb.lastEmail.senderName;
23600
23928
  this.registerDisposable(yield this.resolve(MailboxSocket).join(mb.mailboxID.toString(), {
23601
23929
  newMail: () => {
@@ -23629,9 +23957,11 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23629
23957
  "data-click-event": "reply-email",
23630
23958
  class: "fas fa-reply",
23631
23959
  title: "Reply"
23632
- })), XNode.create("div", Object.assign({
23960
+ })), XNode.create(LimitedText, {
23961
+ height: "40vh"
23962
+ }, XNode.create("div", Object.assign({
23633
23963
  class: "message"
23634
- }, renderMail(thread))), ((_a = item.attachments) === null || _a === void 0 ? void 0 : _a.length) && XNode.create("div", {
23964
+ }, renderMail(thread)))), ((_a = item.attachments) === null || _a === void 0 ? void 0 : _a.length) && XNode.create("div", {
23635
23965
  class: "attachments",
23636
23966
  "data-layout": "flex-wrap-padding"
23637
23967
  }, ...item.attachments.map(a => XNode.create("div", null, XNode.create("i", {
@@ -23645,11 +23975,14 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23645
23975
  })));
23646
23976
  });
23647
23977
  }
23648
- replyEmail(email) {
23978
+ replyEmail({
23979
+ email
23980
+ }) {
23649
23981
  var _a, _b;
23650
23982
  return __awaiter(this, void 0, void 0, function* () {
23651
23983
  const parse = JSON.parse(email.headers);
23652
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;
23653
23986
  const parentID = email.emailID;
23654
23987
  const child = Email.create({
23655
23988
  senderID: this.parameters.mailboxID,
@@ -23657,6 +23990,7 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23657
23990
  parentID,
23658
23991
  received: false,
23659
23992
  recipients: [EmailRecipient.create({
23993
+ name,
23660
23994
  emailAddressText
23661
23995
  })],
23662
23996
  htmlBody: `<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`
@@ -23820,7 +24154,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
23820
24154
  }), XNode.create("div", {
23821
24155
  class: "email-address",
23822
24156
  text: item.emailAddress.emailAddress
23823
- }), XNode.create("div", {
24157
+ }), item.unread && XNode.create("div", {
23824
24158
  class: "unread",
23825
24159
  text: item.unread,
23826
24160
  title: `Unread ${item.unread} out of ${item.total}`