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

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 (70) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +442 -195
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +50 -41
  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/common/controls/tree/TreeView.js +294 -0
  11. package/dist/common/controls/tree/TreeView.js.map +1 -0
  12. package/dist/model/model.js +19 -2
  13. package/dist/model/model.js.map +1 -1
  14. package/dist/services/email-addresses/EmailAddressService.js +69 -0
  15. package/dist/services/email-addresses/EmailAddressService.js.map +1 -0
  16. package/dist/services/files/LocalFileService.js +17 -3
  17. package/dist/services/files/LocalFileService.js.map +1 -1
  18. package/dist/style/GlobalStyle.js +9 -0
  19. package/dist/style/GlobalStyle.js.map +1 -1
  20. package/dist/tsconfig.tsbuildinfo +1 -1
  21. package/dist/web/AppIndex.pack.js +1144 -237
  22. package/dist/web/AppIndex.pack.js.map +1 -1
  23. package/dist/web/AppIndex.pack.min.js +139 -43
  24. package/dist/web/AppIndex.pack.min.js.map +1 -1
  25. package/dist/web/commands/AppCommands.js +5 -0
  26. package/dist/web/commands/AppCommands.js.map +1 -1
  27. package/dist/web/drawer/AppDrawer.js +5 -1
  28. package/dist/web/drawer/AppDrawer.js.map +1 -1
  29. package/dist/web/page/files/FilesPage.js +92 -0
  30. package/dist/web/page/files/FilesPage.js.map +1 -0
  31. package/dist/web/page/files/FolderPage.js +156 -0
  32. package/dist/web/page/files/FolderPage.js.map +1 -0
  33. package/dist/web/page/files/service/CloudFileService.js +97 -0
  34. package/dist/web/page/files/service/CloudFileService.js.map +1 -0
  35. package/dist/web/page/mails/ComposeMailPage.js +6 -20
  36. package/dist/web/page/mails/ComposeMailPage.js.map +1 -1
  37. package/dist/web/page/mails/ConversationPage.js +21 -3
  38. package/dist/web/page/mails/ConversationPage.js.map +1 -1
  39. package/dist/web/page/mails/service/ConversationService.js +3 -1
  40. package/dist/web/page/mails/service/ConversationService.js.map +1 -1
  41. package/node_modules/@web-atoms/web-controls/dist/basic/AtomChips.d.ts.map +1 -1
  42. package/node_modules/@web-atoms/web-controls/dist/basic/AtomChips.js +10 -6
  43. package/node_modules/@web-atoms/web-controls/dist/basic/AtomChips.js.map +1 -1
  44. package/node_modules/@web-atoms/web-controls/dist/basic/UploadEvent.js +2 -1
  45. package/node_modules/@web-atoms/web-controls/dist/basic/UploadEvent.js.map +1 -1
  46. package/node_modules/@web-atoms/web-controls/dist/mobile-app/MobileApp.d.ts.map +1 -1
  47. package/node_modules/@web-atoms/web-controls/dist/mobile-app/MobileApp.js +7 -1
  48. package/node_modules/@web-atoms/web-controls/dist/mobile-app/MobileApp.js.map +1 -1
  49. package/node_modules/@web-atoms/web-controls/dist/tsconfig.tsbuildinfo +1 -1
  50. package/node_modules/@web-atoms/web-controls/package.json +1 -1
  51. package/node_modules/@web-atoms/web-controls/src/basic/AtomChips.tsx +10 -6
  52. package/node_modules/@web-atoms/web-controls/src/basic/UploadEvent.tsx +1 -1
  53. package/node_modules/@web-atoms/web-controls/src/mobile-app/MobileApp.tsx +6 -0
  54. package/package.json +2 -2
  55. package/src/common/Sql.ts +8 -0
  56. package/src/common/cache/CacheTTL.ts +7 -0
  57. package/src/common/controls/email-recipients/EmailRecipientChips.tsx +80 -0
  58. package/src/common/controls/tree/TreeView.tsx +307 -0
  59. package/src/model/model.ts +38 -5
  60. package/src/services/email-addresses/EmailAddressService.ts +53 -0
  61. package/src/services/files/LocalFileService.tsx +20 -3
  62. package/src/style/GlobalStyle.ts +9 -0
  63. package/src/web/commands/AppCommands.ts +6 -0
  64. package/src/web/drawer/AppDrawer.tsx +6 -1
  65. package/src/web/page/files/FilesPage.tsx +73 -0
  66. package/src/web/page/files/FolderPage.tsx +127 -0
  67. package/src/web/page/files/service/CloudFileService.ts +71 -0
  68. package/src/web/page/mails/ComposeMailPage.tsx +3 -13
  69. package/src/web/page/mails/ConversationPage.tsx +7 -1
  70. 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();
@@ -13207,7 +13222,7 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/ent
13207
13222
  System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/services/BaseEntityService"], function (_export, _context) {
13208
13223
  "use strict";
13209
13224
 
13210
- var DateTime, Model, AppRole, AppFileContentDispositionArray, AppFile, AppFileTag, FileContent, Configuration, Domain, HostedDomain, DomainUser, DomainRelayTypeArray, DomainRelay, DomainKey, EmailStatusArray, Email, EmailRecipientTypeArray, EmailRecipient, EmailTag, EmailAddress, Mailbox, MailboxEmail, MailboxThread, MailboxThreadEmail, User, UserRole, UserMailbox, UserAuthFactorMethodArray, UserAuthFactor, LoginSession, Tag;
13225
+ var DateTime, Model, AppRole, AppFileContentDispositionArray, AppFile, AppFileVersion, AppFileAccessTypeArray, AppFileAccess, AppFileTag, FileContent, Configuration, Domain, HostedDomain, DomainUser, DomainRelayTypeArray, DomainRelay, DomainKey, EmailStatusArray, Email, EmailRecipientTypeArray, EmailRecipient, EmailTag, EmailAddress, Mailbox, MailboxEmail, MailboxThread, MailboxThreadEmail, User, UserRole, UserMailbox, UserAuthFactorMethodArray, UserAuthFactor, LoginSession, Tag;
13211
13226
  return {
13212
13227
  setters: [function (_webAtomsDateTimeDistDateTime) {
13213
13228
  DateTime = _webAtomsDateTimeDistDateTime.default;
@@ -13227,11 +13242,28 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
13227
13242
  }]);
13228
13243
  _export("AppFile", AppFile = new Model("AppFile", ["appFileID"], {
13229
13244
  isFolder: false,
13230
- folder: "",
13231
13245
  name: "",
13232
13246
  fileSize: 0,
13233
13247
  contentType: ""
13234
13248
  }));
13249
+ _export("AppFileVersion", AppFileVersion = new Model("AppFileVersion", ["versionID"], {
13250
+ fileID: 0,
13251
+ fileContentID: 0,
13252
+ name: "",
13253
+ dateCreated: new DateTime()
13254
+ }));
13255
+ _export("AppFileAccessTypeArray", AppFileAccessTypeArray = [{
13256
+ "label": "read",
13257
+ "value": "read"
13258
+ }, {
13259
+ "label": "write",
13260
+ "value": "write"
13261
+ }]);
13262
+ _export("AppFileAccess", AppFileAccess = new Model("AppFileAccess", ["fileID", "userID", "type"], {
13263
+ fileID: 0,
13264
+ userID: 0,
13265
+ type: "read"
13266
+ }));
13235
13267
  _export("AppFileTag", AppFileTag = new Model("AppFileTag", ["appFileID", "tagID"], {
13236
13268
  appFileID: 0,
13237
13269
  tagID: 0
@@ -19345,7 +19377,9 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
19345
19377
  emailAddressID
19346
19378
  }, p => x => x.mailboxID === p.mailboxID && x.emailAddressID === p.emailAddressID);
19347
19379
  if (search) {
19348
- search = `%${search}%`;
19380
+ if (!/\%/.test(search)) {
19381
+ search = `%${search}%`;
19382
+ }
19349
19383
  q = q.where({
19350
19384
  search
19351
19385
  }, p => x => Sql.text.iLike(x.email.subject, p.search) || Sql.text.iLike(x.email.textBody, p.search));
@@ -21903,6 +21937,7 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
21903
21937
  name: "upload-command"
21904
21938
  });
21905
21939
  window.addEventListener(uploadCommand.eventName, ce => {
21940
+ var _a;
21906
21941
  if (ce.defaultPrevented) {
21907
21942
  return;
21908
21943
  }
@@ -21914,7 +21949,7 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
21914
21949
  }
21915
21950
  }
21916
21951
  const multiple = element.getAttribute("data-multiple") === "true";
21917
- const extra = element.extra;
21952
+ const extra = (_a = element.extra) !== null && _a !== void 0 ? _a : element.getAttribute("data-extra");
21918
21953
  const upload = element.getAttribute("data-upload") === "true";
21919
21954
  const uploadEvent = StringHelper.fromHyphenToCamel(element.getAttribute("data-upload-event"));
21920
21955
  const chain = [];
@@ -22144,7 +22179,7 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
22144
22179
  return detail.files;
22145
22180
  });
22146
22181
  }
22147
- upload(files) {
22182
+ upload(files, extra) {
22148
22183
  return __awaiter(this, void 0, void 0, function* () {
22149
22184
  return files.map(file => {
22150
22185
  const uploadFile = {
@@ -22181,7 +22216,21 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
22181
22216
  resolve(r);
22182
22217
  }
22183
22218
  });
22184
- xhr.open("POST", "/api/upload", true);
22219
+ let postUrl = "/api/upload";
22220
+ if (extra) {
22221
+ if (typeof extra === "string") {
22222
+ extra = JSON.parse(extra);
22223
+ }
22224
+ const s = new URLSearchParams();
22225
+ for (const key in extra) {
22226
+ if (Object.prototype.hasOwnProperty.call(extra, key)) {
22227
+ const element = extra[key];
22228
+ s.append(key, element);
22229
+ }
22230
+ }
22231
+ postUrl += "?" + s.toString();
22232
+ }
22233
+ xhr.open("POST", postUrl, true);
22185
22234
  xhr.send(body);
22186
22235
  });
22187
22236
  return uploadFile;
@@ -22210,7 +22259,7 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
22210
22259
  }), null, {
22211
22260
  capture: true
22212
22261
  });
22213
- this.files = yield this.localFileService.upload(this.parameters.files);
22262
+ this.files = yield this.localFileService.upload(this.parameters.files, this.parameters.extra);
22214
22263
  this.render(XNode.create("div", null, XNode.create(AtomRepeater, {
22215
22264
  items: this.files,
22216
22265
  itemRenderer: file => XNode.create("div", {
@@ -22437,6 +22486,192 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-con
22437
22486
 
22438
22487
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/html/InlineHtmlEditorWithToolbar");
22439
22488
 
22489
+ System.register(["@web-atoms/core/dist/style/styled"], function (_export, _context) {
22490
+ "use strict";
22491
+
22492
+ var styled;
22493
+ return {
22494
+ setters: [function (_webAtomsCoreDistStyleStyled) {
22495
+ styled = _webAtomsCoreDistStyleStyled.default;
22496
+ }],
22497
+ execute: function () {
22498
+ styled.css`
22499
+ display: inline-grid;
22500
+ grid-template-rows: 1fr auto;
22501
+ grid-template-columns: 1fr 40px;
22502
+ column-gap: 5px;
22503
+
22504
+ & > input {
22505
+ grid-row: 1 / span 2;
22506
+ grid-column: 1;
22507
+ }
22508
+
22509
+ & > i {
22510
+ grid-row: 1;
22511
+ grid-column: 2;
22512
+ font-size: smaller;
22513
+ padding-left: 5px;
22514
+ padding-right: 5px;
22515
+ align-self: stretch;
22516
+ justify-self: stretch;
22517
+ text-align: center;
22518
+ }
22519
+
22520
+ & > span {
22521
+ grid-row: 2;
22522
+ grid-column: 2;
22523
+ font-size: xx-small;
22524
+ align-self: stretch;
22525
+ justify-self: stretch;
22526
+ text-align: center;
22527
+ }
22528
+
22529
+ `.installGlobal("[data-title-editor=title-editor]");
22530
+ }
22531
+ };
22532
+ });
22533
+ //# sourceMappingURL=title-editor-style.js.map
22534
+
22535
+ AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/title-editor-style");
22536
+
22537
+ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "./styles/title-editor-style"], function (_export, _context) {
22538
+ "use strict";
22539
+
22540
+ var __rest, XNode, paste, formatText, capitalizeText, toText, changeCase;
22541
+ function TitleEditor(_a) {
22542
+ var {
22543
+ value,
22544
+ type,
22545
+ placeholder,
22546
+ capitalize = "on",
22547
+ capitalizationTitle = "Capitalization"
22548
+ } = _a,
22549
+ a = __rest(_a, ["value", "type", "placeholder", "capitalize", "capitalizationTitle"]);
22550
+ return XNode.create("div", Object.assign({
22551
+ "data-title-editor": "title-editor"
22552
+ }, a), XNode.create("input", {
22553
+ autocapitalize: capitalize,
22554
+ type: type,
22555
+ placeholder: placeholder,
22556
+ value: value,
22557
+ "event-input": capitalizeText,
22558
+ "event-paste": paste
22559
+ }), XNode.create("i", {
22560
+ "data-element": "icon",
22561
+ class: "fas fa-font-case",
22562
+ "event-click": changeCase,
22563
+ title: capitalizationTitle
22564
+ }), XNode.create("span", {
22565
+ "data-element": "text",
22566
+ text: toText(capitalize),
22567
+ "event-click": changeCase,
22568
+ title: capitalizationTitle
22569
+ }));
22570
+ }
22571
+ _export("default", TitleEditor);
22572
+ return {
22573
+ setters: [function (_tslib) {
22574
+ __rest = _tslib.__rest;
22575
+ }, function (_webAtomsCoreDistCoreXNode) {
22576
+ XNode = _webAtomsCoreDistCoreXNode.default;
22577
+ }, function (_stylesTitleEditorStyle) {}],
22578
+ execute: function () {
22579
+ paste = e => {
22580
+ const input = e.target;
22581
+ const capitalize = input.autocapitalize;
22582
+ if (!capitalize || capitalize === "off" || capitalize === "none") {
22583
+ return;
22584
+ }
22585
+ setTimeout(() => {
22586
+ const start = input.selectionStart;
22587
+ const end = input.selectionEnd;
22588
+ formatText(input, capitalize);
22589
+ input.setSelectionRange(start, end);
22590
+ }, 1);
22591
+ };
22592
+ formatText = (input, capitalize, all = true) => {
22593
+ let value = input.value;
22594
+ if (!value) {
22595
+ return;
22596
+ }
22597
+ switch (capitalize) {
22598
+ case "on":
22599
+ case "sentences":
22600
+ if (value.length === 1) {
22601
+ value = value.toLocaleUpperCase();
22602
+ }
22603
+ break;
22604
+ case "words":
22605
+ if (all) {
22606
+ value = value.replace(/(\S+)/g, s => s.substring(0, 1).toLocaleUpperCase() + s.substring(1));
22607
+ } else {
22608
+ value = value.replace(/(\S+)$/g, s => s.substring(0, 1).toLocaleUpperCase() + s.substring(1));
22609
+ }
22610
+ break;
22611
+ case "characters":
22612
+ value = value.toLocaleUpperCase();
22613
+ break;
22614
+ }
22615
+ input.value = value;
22616
+ };
22617
+ capitalizeText = /android|iPhone|iOS/i.test(navigator.userAgent) ? () => undefined : e => {
22618
+ const input = e.target;
22619
+ const capitalize = input.autocapitalize;
22620
+ if (!capitalize || capitalize === "off" || capitalize === "none") {
22621
+ return;
22622
+ }
22623
+ const start = input.selectionStart;
22624
+ const end = input.selectionEnd;
22625
+ formatText(input, capitalize, false);
22626
+ input.setSelectionRange(start, end);
22627
+ };
22628
+ toText = capitalize => {
22629
+ switch (capitalize) {
22630
+ case "off":
22631
+ case "none":
22632
+ return "Caps Off";
22633
+ case "characters":
22634
+ return "All Caps";
22635
+ case "on":
22636
+ case "sentences":
22637
+ return "Sentence";
22638
+ case "words":
22639
+ return "Title Case";
22640
+ }
22641
+ return "";
22642
+ };
22643
+ changeCase = e => {
22644
+ let element = e.target;
22645
+ if (element.tagName === "SPAN") {
22646
+ element = element.previousElementSibling;
22647
+ }
22648
+ const input = element.previousElementSibling;
22649
+ const span = element.nextElementSibling;
22650
+ let capitalize = input.autocapitalize;
22651
+ switch (capitalize) {
22652
+ case "sentences":
22653
+ capitalize = "words";
22654
+ break;
22655
+ case "words":
22656
+ capitalize = "characters";
22657
+ break;
22658
+ case "characters":
22659
+ capitalize = "off";
22660
+ break;
22661
+ default:
22662
+ capitalize = "sentences";
22663
+ break;
22664
+ }
22665
+ span.textContent = toText(capitalize);
22666
+ input.autocapitalize = capitalize;
22667
+ };
22668
+ }
22669
+ };
22670
+ });
22671
+ //# sourceMappingURL=TitleEditor.js.map
22672
+
22673
+ AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/TitleEditor");
22674
+
22440
22675
  System.register(["@web-atoms/core/dist/style/styled"], function (_export, _context) {
22441
22676
  "use strict";
22442
22677
 
@@ -22867,13 +23102,17 @@ System.register(["tslib", "@web-atoms/core/dist/core/AtomBinder", "@web-atoms/co
22867
23102
  this.bindEvent(this.element, "removeChip", e => e.defaultPrevented || this.removeItem(e.detail));
22868
23103
  this.bindEvent(this.element, "undoRemoveChip", e => e.defaultPrevented || this.undoRemoveItem(e.detail));
22869
23104
  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 = "";
23105
+ const search = this.search;
23106
+ setTimeout(() => {
23107
+ if (this.onBlurItemToChip && search) {
23108
+ const item = this.onBlurItemToChip(search);
23109
+ if (item) {
23110
+ this.items.add(item);
23111
+ this.searchInput.value = "";
23112
+ this.search = "";
23113
+ }
22875
23114
  }
22876
- }
23115
+ }, 50);
22877
23116
  });
22878
23117
  }
22879
23118
  setFocus(hasFocus) {
@@ -23061,196 +23300,200 @@ System.register(["tslib", "@web-atoms/core/dist/core/AtomBinder", "@web-atoms/co
23061
23300
 
23062
23301
  AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/AtomChips");
23063
23302
 
23064
- System.register(["@web-atoms/core/dist/style/styled"], function (_export, _context) {
23303
+ System.register([], function (_export, _context) {
23065
23304
  "use strict";
23066
23305
 
23067
- var styled;
23306
+ var CacheTTL;
23068
23307
  return {
23069
- setters: [function (_webAtomsCoreDistStyleStyled) {
23070
- styled = _webAtomsCoreDistStyleStyled.default;
23071
- }],
23308
+ setters: [],
23072
23309
  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;
23310
+ _export("CacheTTL", CacheTTL = {
23311
+ seconds: {
23312
+ oneHour: 60 * 60,
23313
+ oneDay: 60 * 60 * 24,
23314
+ oneMonth: 60 * 60 * 24 * 30
23315
+ }
23316
+ });
23082
23317
  }
23318
+ };
23319
+ });
23320
+ //# sourceMappingURL=CacheTTL.js.map
23083
23321
 
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
- }
23322
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/cache/CacheTTL");
23094
23323
 
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
- }
23324
+ 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) {
23325
+ "use strict";
23103
23326
 
23104
- `.installGlobal("[data-title-editor=title-editor]");
23327
+ var __awaiter, __decorate, __metadata, Inject, EntityService, Sql, EmailAddress, CacheTTL, DISingleton, cacheVersion, cacheSeconds, hideActivityIndicator, EmailAddressService;
23328
+ return {
23329
+ setters: [function (_tslib) {
23330
+ __awaiter = _tslib.__awaiter;
23331
+ __decorate = _tslib.__decorate;
23332
+ __metadata = _tslib.__metadata;
23333
+ }, function (_webAtomsCoreDistDiInject) {
23334
+ Inject = _webAtomsCoreDistDiInject.Inject;
23335
+ }, function (_EntityService) {
23336
+ EntityService = _EntityService.default;
23337
+ }, function (_commonSql) {
23338
+ Sql = _commonSql.Sql;
23339
+ }, function (_modelModel) {
23340
+ EmailAddress = _modelModel.EmailAddress;
23341
+ }, function (_commonCacheCacheTTL) {
23342
+ CacheTTL = _commonCacheCacheTTL.CacheTTL;
23343
+ }, function (_webAtomsCoreDistDiDISingleton) {
23344
+ DISingleton = _webAtomsCoreDistDiDISingleton.default;
23345
+ }],
23346
+ execute: function () {
23347
+ cacheVersion = "1";
23348
+ cacheSeconds = CacheTTL.seconds.oneDay;
23349
+ hideActivityIndicator = true;
23350
+ EmailAddressService = class EmailAddressService {
23351
+ getName(ea) {
23352
+ return __awaiter(this, void 0, void 0, function* () {
23353
+ const f = yield this.entityService.query(EmailAddress).where({
23354
+ ea
23355
+ }, p => x => x.emailAddress === p.ea).firstOrDefault({
23356
+ cacheSeconds,
23357
+ cacheVersion,
23358
+ hideActivityIndicator
23359
+ });
23360
+ return f === null || f === void 0 ? void 0 : f.name;
23361
+ });
23362
+ }
23363
+ search(search, cancelToken) {
23364
+ return __awaiter(this, void 0, void 0, function* () {
23365
+ if (!search) {
23366
+ return [];
23367
+ }
23368
+ if (!/\%$/.test(search)) {
23369
+ search = search + "%";
23370
+ }
23371
+ const list = yield this.entityService.query(EmailAddress).where({
23372
+ search
23373
+ }, p => x => Sql.text.like(x.emailAddress, p.search)).orderByDescending(x => x.emailAddressID).toPagedList({
23374
+ start: 0,
23375
+ size: 10,
23376
+ count: false,
23377
+ cacheSeconds,
23378
+ cacheVersion,
23379
+ cancelToken,
23380
+ hideActivityIndicator
23381
+ });
23382
+ return list.items;
23383
+ });
23384
+ }
23385
+ };
23386
+ __decorate([Inject, __metadata("design:type", EntityService)], EmailAddressService.prototype, "entityService", void 0);
23387
+ EmailAddressService = __decorate([DISingleton()], EmailAddressService);
23388
+ _export("default", EmailAddressService);
23105
23389
  }
23106
23390
  };
23107
23391
  });
23108
- //# sourceMappingURL=title-editor-style.js.map
23392
+ //# sourceMappingURL=EmailAddressService.js.map
23109
23393
 
23110
- AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/title-editor-style");
23394
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/email-addresses/EmailAddressService");
23111
23395
 
23112
- System.register(["tslib", "@web-atoms/core/dist/core/XNode", "./styles/title-editor-style"], function (_export, _context) {
23396
+ 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
23397
  "use strict";
23114
23398
 
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);
23399
+ var __awaiter, __decorate, __metadata, AtomChips, Chip, EmailRecipient, XNode, Bind, InjectProperty, EmailAddressService, EmailRecipientChips;
23400
+ _export("default", void 0);
23147
23401
  return {
23148
23402
  setters: [function (_tslib) {
23149
- __rest = _tslib.__rest;
23403
+ __awaiter = _tslib.__awaiter;
23404
+ __decorate = _tslib.__decorate;
23405
+ __metadata = _tslib.__metadata;
23406
+ }, function (_webAtomsWebControlsDistBasicAtomChips) {
23407
+ AtomChips = _webAtomsWebControlsDistBasicAtomChips.default;
23408
+ Chip = _webAtomsWebControlsDistBasicAtomChips.Chip;
23409
+ }, function (_modelModel) {
23410
+ EmailRecipient = _modelModel.EmailRecipient;
23150
23411
  }, function (_webAtomsCoreDistCoreXNode) {
23151
23412
  XNode = _webAtomsCoreDistCoreXNode.default;
23152
- }, function (_stylesTitleEditorStyle) {}],
23413
+ }, function (_webAtomsCoreDistCoreBind) {
23414
+ Bind = _webAtomsCoreDistCoreBind.default;
23415
+ }, function (_webAtomsCoreDistCoreInjectProperty) {
23416
+ InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
23417
+ }, function (_servicesEmailAddressesEmailAddressService) {
23418
+ EmailAddressService = _servicesEmailAddressesEmailAddressService.default;
23419
+ }],
23153
23420
  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();
23421
+ _export("default", EmailRecipientChips = class EmailRecipientChips extends AtomChips {
23422
+ preCreate() {
23423
+ super.preCreate();
23424
+ this.search = "";
23425
+ this.suggestions = [];
23426
+ this.itemToChip = (item, text) => {
23427
+ if (typeof item === "string") {
23428
+ return this.createRecipient(item);
23177
23429
  }
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));
23430
+ const {
23431
+ name,
23432
+ emailAddress,
23433
+ emailAddressID
23434
+ } = item;
23435
+ return EmailRecipient.create({
23436
+ emailAddressID,
23437
+ name,
23438
+ emailAddressText: emailAddress
23439
+ });
23440
+ };
23441
+ this.itemRenderer = item => XNode.create(Chip, {
23442
+ title: item.name ? item.emailAddressText : void 0,
23443
+ label: item.name || item.emailAddressText
23444
+ });
23445
+ this.suggestionRenderer = item => XNode.create("div", {
23446
+ "data-layout": "vertical-flex-stretch-items"
23447
+ }, item.name && item.name !== item.emailAddress && XNode.create("div", {
23448
+ text: item.name
23449
+ }), XNode.create("div", {
23450
+ text: item.emailAddress
23451
+ }));
23452
+ this.onKeyPressedItemToChip = (key, search) => {
23453
+ if (key === "Enter" || key === "Comma") {
23454
+ return this.createRecipient(search);
23184
23455
  }
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;
23456
+ };
23457
+ this.onBlurItemToChip = search => this.createRecipient(search);
23458
+ this.render(XNode.create("div", {
23459
+ suggestions: Bind.oneWayAsync((c, e, ct) => this.addressService.search(this.search, ct))
23460
+ }));
23222
23461
  }
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;
23462
+ createRecipient(search) {
23463
+ search = search === null || search === void 0 ? void 0 : search.trim();
23464
+ if (!search) {
23465
+ return;
23466
+ }
23467
+ if (!/\@/.test(search)) {
23468
+ return;
23469
+ }
23470
+ const er = EmailRecipient.create({
23471
+ emailAddressText: search
23472
+ });
23473
+ if (!er.name && er.emailAddressText) {
23474
+ this.app.runAsync(() => __awaiter(this, void 0, void 0, function* () {
23475
+ const n = yield this.addressService.getName(er.emailAddressText);
23476
+ if (n) {
23477
+ er.name = n;
23478
+ this.refreshItem(er);
23479
+ }
23480
+ }));
23481
+ }
23482
+ return er;
23239
23483
  }
23240
- span.textContent = toText(capitalize);
23241
- input.autocapitalize = capitalize;
23242
- };
23484
+ });
23485
+ __decorate([InjectProperty, __metadata("design:type", EmailAddressService)], EmailRecipientChips.prototype, "addressService", void 0);
23243
23486
  }
23244
23487
  };
23245
23488
  });
23246
- //# sourceMappingURL=TitleEditor.js.map
23489
+ //# sourceMappingURL=EmailRecipientChips.js.map
23247
23490
 
23248
- AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/TitleEditor");
23491
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailRecipientChips");
23249
23492
 
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) {
23493
+ 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
23494
  "use strict";
23252
23495
 
23253
- var __awaiter, __decorate, __metadata, PopupWindowPage, InlineHtmlEditorWithToolbar, XNode, Bind, Form, FormField, HorizontalFormField, AppFile, Email, EmailRecipient, AtomChips, Chip, Action, MailService, InjectProperty, DateTime, AtomRepeater, TitleEditor, ComposeMailPage;
23496
+ var __awaiter, __decorate, __metadata, PopupWindowPage, InlineHtmlEditorWithToolbar, XNode, Bind, Form, FormField, HorizontalFormField, AppFile, Email, EmailRecipient, Action, MailService, InjectProperty, DateTime, AtomRepeater, TitleEditor, EmailRecipientChips, ComposeMailPage;
23254
23497
  _export("default", void 0);
23255
23498
  return {
23256
23499
  setters: [function (_tslib) {
@@ -23274,9 +23517,6 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23274
23517
  AppFile = _modelModel.AppFile;
23275
23518
  Email = _modelModel.Email;
23276
23519
  EmailRecipient = _modelModel.EmailRecipient;
23277
- }, function (_webAtomsWebControlsDistBasicAtomChips) {
23278
- AtomChips = _webAtomsWebControlsDistBasicAtomChips.default;
23279
- Chip = _webAtomsWebControlsDistBasicAtomChips.Chip;
23280
23520
  }, function (_webAtomsCoreDistViewModelAction) {
23281
23521
  Action = _webAtomsCoreDistViewModelAction.default;
23282
23522
  }, function (_serviceMailService) {
@@ -23289,6 +23529,8 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23289
23529
  AtomRepeater = _webAtomsWebControlsDistBasicAtomRepeater.default;
23290
23530
  }, function (_webAtomsWebControlsDistBasicTitleEditor) {
23291
23531
  TitleEditor = _webAtomsWebControlsDistBasicTitleEditor.default;
23532
+ }, function (_commonControlsEmailRecipientsEmailRecipientChips) {
23533
+ EmailRecipientChips = _commonControlsEmailRecipientsEmailRecipientChips.default;
23292
23534
  }],
23293
23535
  execute: function () {
23294
23536
  _export("default", ComposeMailPage = class ComposeMailPage extends PopupWindowPage {
@@ -23315,21 +23557,8 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23315
23557
  }
23316
23558
  this.renderer = XNode.create("div", null, XNode.create(Form, null, XNode.create(HorizontalFormField, {
23317
23559
  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
- })
23560
+ }, XNode.create(EmailRecipientChips, {
23561
+ items: this.model.recipients
23333
23562
  })), XNode.create(FormField, {
23334
23563
  label: ""
23335
23564
  }, XNode.create(TitleEditor, {
@@ -23638,10 +23867,10 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/di
23638
23867
 
23639
23868
  AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/LimitedText");
23640
23869
 
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) {
23870
+ 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
23871
  "use strict";
23643
23872
 
23644
- var __awaiter, __decorate, __metadata, ContentPage, Email, EmailRecipient, XNode, AtomRepeater, InfiniteRepeater, ConversationService, renderMail, InjectProperty, styled, Action, PageNavigator, ComposeMailPage, MailboxSocket, LimitedText, ConversationPage, css, id, fixLinks;
23873
+ 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
23874
  _export("default", void 0);
23646
23875
  return {
23647
23876
  setters: [function (_tslib) {
@@ -23664,6 +23893,8 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23664
23893
  renderMail = _serviceConversationService.renderMail;
23665
23894
  }, function (_webAtomsCoreDistCoreInjectProperty) {
23666
23895
  InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
23896
+ }, function (_webAtomsCoreDistCoreBind) {
23897
+ Bind = _webAtomsCoreDistCoreBind.default;
23667
23898
  }, function (_webAtomsCoreDistStyleStyled) {
23668
23899
  styled = _webAtomsCoreDistStyleStyled.default;
23669
23900
  }, function (_webAtomsCoreDistViewModelAction) {
@@ -23713,6 +23944,18 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23713
23944
  var _a;
23714
23945
  return __awaiter(this, void 0, void 0, function* () {
23715
23946
  const mb = this.parameters;
23947
+ this.titleRenderer = () => {
23948
+ var _a;
23949
+ return XNode.create("div", {
23950
+ "data-layout": "row"
23951
+ }, XNode.create("input", {
23952
+ value: Bind.twoWaysImmediate(() => this.search),
23953
+ type: "search",
23954
+ placeholder: "Search"
23955
+ }), XNode.create("span", {
23956
+ text: mb.lastEmail.senderID === mb.mailboxID ? (_a = mb.emailAddress) === null || _a === void 0 ? void 0 : _a.emailAddress : mb.lastEmail.senderName
23957
+ }));
23958
+ };
23716
23959
  this.title = mb.lastEmail.senderID === mb.mailboxID ? (_a = mb.emailAddress) === null || _a === void 0 ? void 0 : _a.emailAddress : mb.lastEmail.senderName;
23717
23960
  this.registerDisposable(yield this.resolve(MailboxSocket).join(mb.mailboxID.toString(), {
23718
23961
  newMail: () => {
@@ -23764,11 +24007,14 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23764
24007
  })));
23765
24008
  });
23766
24009
  }
23767
- replyEmail(email) {
24010
+ replyEmail({
24011
+ email
24012
+ }) {
23768
24013
  var _a, _b;
23769
24014
  return __awaiter(this, void 0, void 0, function* () {
23770
24015
  const parse = JSON.parse(email.headers);
23771
24016
  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;
24017
+ const name = email.senderName;
23772
24018
  const parentID = email.emailID;
23773
24019
  const child = Email.create({
23774
24020
  senderID: this.parameters.mailboxID,
@@ -23776,6 +24022,7 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
23776
24022
  parentID,
23777
24023
  received: false,
23778
24024
  recipients: [EmailRecipient.create({
24025
+ name,
23779
24026
  emailAddressText
23780
24027
  })],
23781
24028
  htmlBody: `<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`