@social-mail/social-mail-client 1.2.14 → 1.2.16

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 (65) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +716 -126
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +79 -9
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/common/controls/html/InlineHtmlEditorWithToolbar.d.ts.map +1 -1
  6. package/dist/common/controls/html/InlineHtmlEditorWithToolbar.js +11 -2
  7. package/dist/common/controls/html/InlineHtmlEditorWithToolbar.js.map +1 -1
  8. package/dist/common/events/CommonEvents.d.ts +2 -0
  9. package/dist/common/events/CommonEvents.d.ts.map +1 -1
  10. package/dist/common/events/CommonEvents.js +3 -1
  11. package/dist/common/events/CommonEvents.js.map +1 -1
  12. package/dist/common/pages/mailboxes/MailboxEditorPage.d.ts.map +1 -1
  13. package/dist/common/pages/mailboxes/MailboxEditorPage.js +1 -1
  14. package/dist/common/pages/mailboxes/MailboxEditorPage.js.map +1 -1
  15. package/dist/tsconfig.tsbuildinfo +1 -1
  16. package/dist/web/AppIndex.pack.js +716 -126
  17. package/dist/web/AppIndex.pack.js.map +1 -1
  18. package/dist/web/AppIndex.pack.min.js +80 -10
  19. package/dist/web/AppIndex.pack.min.js.map +1 -1
  20. package/dist/web/page/mails/ConversationPage.d.ts +4 -1
  21. package/dist/web/page/mails/ConversationPage.d.ts.map +1 -1
  22. package/dist/web/page/mails/ConversationPage.js +58 -7
  23. package/dist/web/page/mails/ConversationPage.js.map +1 -1
  24. package/dist/web/page/mails/mini-compose/Insert.d.ts +4 -0
  25. package/dist/web/page/mails/mini-compose/Insert.d.ts.map +1 -0
  26. package/dist/web/page/mails/mini-compose/Insert.js +71 -0
  27. package/dist/web/page/mails/mini-compose/Insert.js.map +1 -0
  28. package/dist/web/page/mails/mini-compose/MiniComposeBox.d.ts +8 -2
  29. package/dist/web/page/mails/mini-compose/MiniComposeBox.d.ts.map +1 -1
  30. package/dist/web/page/mails/mini-compose/MiniComposeBox.js +75 -32
  31. package/dist/web/page/mails/mini-compose/MiniComposeBox.js.map +1 -1
  32. package/dist/web/page/mails/service/ConversationService.d.ts +1 -0
  33. package/dist/web/page/mails/service/ConversationService.d.ts.map +1 -1
  34. package/dist/web/page/mails/service/ConversationService.js +30 -18
  35. package/dist/web/page/mails/service/ConversationService.js.map +1 -1
  36. package/dist/web/page/mails/service/MailService.d.ts.map +1 -1
  37. package/dist/web/page/mails/service/MailService.js +4 -0
  38. package/dist/web/page/mails/service/MailService.js.map +1 -1
  39. package/node_modules/@web-atoms/entity/dist/models/TaskManager.d.ts.map +1 -1
  40. package/node_modules/@web-atoms/entity/dist/models/TaskManager.js +1 -0
  41. package/node_modules/@web-atoms/entity/dist/models/TaskManager.js.map +1 -1
  42. package/node_modules/@web-atoms/entity/dist/services/BaseEntityService.d.ts +1 -1
  43. package/node_modules/@web-atoms/entity/dist/services/BaseEntityService.d.ts.map +1 -1
  44. package/node_modules/@web-atoms/entity/dist/services/BaseEntityService.js +8 -1
  45. package/node_modules/@web-atoms/entity/dist/services/BaseEntityService.js.map +1 -1
  46. package/node_modules/@web-atoms/entity/dist/tsconfig.tsbuildinfo +1 -1
  47. package/node_modules/@web-atoms/entity/package.json +1 -1
  48. package/node_modules/@web-atoms/entity/src/models/TaskManager.ts +4 -0
  49. package/node_modules/@web-atoms/entity/src/services/BaseEntityService.ts +9 -2
  50. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Align.d.ts +3 -1
  51. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Align.d.ts.map +1 -1
  52. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Align.js +5 -2
  53. package/node_modules/@web-atoms/web-controls/dist/html-editor/commands/Align.js.map +1 -1
  54. package/node_modules/@web-atoms/web-controls/dist/tsconfig.tsbuildinfo +1 -1
  55. package/node_modules/@web-atoms/web-controls/package.json +1 -1
  56. package/node_modules/@web-atoms/web-controls/src/html-editor/commands/Align.tsx +4 -2
  57. package/package.json +3 -3
  58. package/src/common/controls/html/InlineHtmlEditorWithToolbar.tsx +9 -0
  59. package/src/common/events/CommonEvents.ts +6 -1
  60. package/src/common/pages/mailboxes/MailboxEditorPage.tsx +1 -1
  61. package/src/web/page/mails/ConversationPage.tsx +43 -1
  62. package/src/web/page/mails/mini-compose/Insert.tsx +66 -0
  63. package/src/web/page/mails/mini-compose/MiniComposeBox.tsx +65 -20
  64. package/src/web/page/mails/service/ConversationService.tsx +26 -17
  65. package/src/web/page/mails/service/MailService.ts +4 -0
@@ -1985,7 +1985,7 @@ const UMD = new UMDClass();
1985
1985
 
1986
1986
  AmdLoader.instance.register(
1987
1987
  ["@social-mail/social-mail-client","@web-atoms/core","reflect-metadata","@web-atoms/web-controls","@web-atoms/date-time","@web-atoms/entity","@web-atoms/email-dom","@web-atoms/data-styles"],
1988
- ["@social-mail/social-mail-client/dist/web/AppIndex","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/ExpressionParser","@web-atoms/core/dist/core/types","reflect-metadata","@web-atoms/core/dist/core/AtomMap","@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/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/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/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@web-atoms/core/dist/core/Hacks","@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/web/commands/AppCommands","@social-mail/social-mail-client/dist/web/page/home/HomePage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage","@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","@web-atoms/web-controls/dist/DataAttributes","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/di/DITransient","@social-mail/social-mail-client/dist/services/EntityService","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/entity/dist/models/Cloner","@web-atoms/entity/dist/models/cloneSource","@web-atoms/entity/dist/models/IEntityModel","@web-atoms/entity/dist/services/HttpSession","@web-atoms/core/dist/services/http/JsonError","@web-atoms/entity/dist/models/TaskManager","@web-atoms/entity/dist/models/Queue","@web-atoms/entity/dist/services/mergeProperties","@web-atoms/entity/dist/services/Query","@web-atoms/entity/dist/services/StringHelper","@web-atoms/entity/dist/services/resolve","@social-mail/social-mail-client/dist/services/BusyProgress","@social-mail/social-mail-client/dist/model/model","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/common/SocialMailApp","@web-atoms/core/dist/view-model/Action","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage","@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/ComboBox","@social-mail/social-mail-client/dist/common/controls/buttons/IconButton","@social-mail/social-mail-client/dist/admin/pages/users/ChooseUserPage","@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/styles/checkbox-style","@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/MailboxContacts","@social-mail/social-mail-client/dist/web/page/mails/service/MailService","@social-mail/social-mail-client/dist/common/events/CommonEvents","@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","@web-atoms/web-controls/dist/basic/InlinePopupControl","@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/data-styles/data-styles","@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/core/dist/core/AtomList","@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/web/page/templates/social/SocialTemplate","@social-mail/social-mail-client/dist/services/Emoji","@social-mail/social-mail-client/dist/services/socket/sockets","@web-atoms/web-controls/dist/basic/LimitedText","@social-mail/social-mail-client/dist/common/date/DateFormats","@social-mail/social-mail-client/dist/common/pages/logs/LogsPage","@social-mail/social-mail-client/dist/common/pages/logs/services/AppLogService","@social-mail/social-mail-client/dist/web/page/mails/detail/MailDetailPage","@social-mail/social-mail-client/dist/common/controls/file-preview/FilePreview","@social-mail/social-mail-client/dist/web/page/mails/mini-compose/MiniComposeBox","@social-mail/social-mail-client/dist/common/controls/audio/AudioRecorder","@web-atoms/web-controls/dist/mobile-app/BottomPopup","@web-atoms/web-controls/dist/animations/Animations","@social-mail/social-mail-client/dist/common/controls/audio/WebRTCService","@social-mail/social-mail-client/dist/common/controls/buttons/RoundButton","@social-mail/social-mail-client/dist/web/page/mails/mini-compose/SendFiles","@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage","@social-mail/social-mail-client/dist/common/pages/folders/ChooseTemplatePage","@social-mail/social-mail-client/dist/web/page/files/service/CloudFileService","@web-atoms/core/dist/services/FetchBuilder","@social-mail/social-mail-client/dist/common/controls/tree/TreeView","@social-mail/social-mail-client/dist/services/mime-service/MimeMessage","@social-mail/social-mail-client/dist/services/mime-service/MimeNode","@social-mail/social-mail-client/dist/common/QueryIterator","@social-mail/social-mail-client/dist/services/mime-service/AttachmentFile","@social-mail/social-mail-client/dist/services/mime-service/HeaderContentType","@social-mail/social-mail-client/dist/services/mime-service/parsePairs","@social-mail/social-mail-client/dist/services/mime-service/tokenizer","@social-mail/social-mail-client/dist/services/mime-service/HeaderContentDisposition","@social-mail/social-mail-client/dist/services/mime-service/encoder/word-encoding","@social-mail/social-mail-client/dist/services/mime-service/encoder/RawBuffer","@social-mail/social-mail-client/dist/services/mime-service/encoder/base64-to-blob","@social-mail/social-mail-client/dist/services/mime-service/encoder/quoted-printable","@social-mail/social-mail-client/dist/services/mime-service/stream/LineStream","@social-mail/social-mail-client/dist/services/mime-service/stream/TextWriter","@web-atoms/web-controls/dist/basic/Resizable","@web-atoms/web-controls/dist/basic/ToggleButtonBar","@web-atoms/web-controls/dist/basic/styles/toggle-button-bar-style","@social-mail/social-mail-client/dist/web/page/mails/contact/AddMiniContactPage","@social-mail/social-mail-client/dist/web/page/channels/detail/ChannelDetailPage","@social-mail/social-mail-client/dist/web/page/channels/subscribers/ChannelSubscribersPage","@social-mail/social-mail-client/dist/web/page/channels/services/ChannelService","@social-mail/social-mail-client/dist/web/page/channels/subscribers/add/AddSubscriberPage","@social-mail/social-mail-client/dist/web/page/channels/subscribers/rights/UpdateRightsPage","@social-mail/social-mail-client/dist/common/pages/drives/DriveListPage","@social-mail/social-mail-client/dist/common/pages/websites/manage/ManageWebSitePage","@social-mail/social-mail-client/dist/services/websites/WebSiteService","@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditor","@web-atoms/web-controls/dist/basic/Expander","@web-atoms/web-controls/dist/basic/styles/expander-style","@social-mail/social-mail-client/dist/common/pages/websites/studio/WebSiteStudioPage","@social-mail/social-mail-client/dist/web/page/files/shares/EditSharesPage","@social-mail/social-mail-client/dist/services/files/FileShareService","@social-mail/social-mail-client/dist/web/page/files/shares/AddSharePage","@web-atoms/web-controls/dist/basic/Switch","@web-atoms/web-controls/dist/basic/styles/switch-style","@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","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/web-controls/dist/basic/Calendar","@web-atoms/web-controls/dist/basic/Select","@web-atoms/web-controls/dist/basic/styles/calendar-style","@web-atoms/web-controls/dist/basic/TimeEditor","@web-atoms/web-controls/dist/basic/styles/time-editor-style","@web-atoms/web-controls/dist/basic/styles/date-field-style","@social-mail/social-mail-client/dist/web/page/templates/EditTemplatePage","@social-mail/social-mail-client/dist/common/pages/websites/templates/ChooseWebSiteTemplatePage","@social-mail/social-mail-client/dist/common/controls/tree/FileTreeView","@social-mail/social-mail-client/dist/site-editor/editor/WebSitePageEditor","@social-mail/social-mail-client/dist/site-editor/editor/HtmlPageEditor","@social-mail/social-mail-client/dist/site-editor/blocks/ImageBlock","@social-mail/social-mail-client/dist/site-editor/blocks/Block","@social-mail/social-mail-client/dist/site-editor/drag-drop/DragDropHelper","@social-mail/social-mail-client/dist/site-editor/commands/CodeCommand","@social-mail/social-mail-client/dist/site-editor/commands/EditorCommand","@social-mail/social-mail-client/dist/site-editor/toolbars/UndoRedoToolbar","@social-mail/social-mail-client/dist/site-editor/toolbars/EditorToolbar","@social-mail/social-mail-client/dist/site-editor/blocks/WrapGrid","@social-mail/social-mail-client/dist/site-editor/properties/Properties","@social-mail/social-mail-client/dist/site-editor/properties/groups/LayoutEditor","@social-mail/social-mail-client/dist/site-editor/properties/controls/PropertyEditor","@social-mail/social-mail-client/dist/site-editor/styler/StylerSet","@social-mail/social-mail-client/dist/site-editor/styler/Styler","@social-mail/social-mail-client/dist/site-editor/styler/properties/stylerBorder","@social-mail/social-mail-client/dist/site-editor/styler/properties/layout/display","@social-mail/social-mail-client/dist/site-editor/styler/properties/layout/flex/flex","@social-mail/social-mail-client/dist/site-editor/styler/properties/layout/items-position/itemsPosition","@social-mail/social-mail-client/dist/site-editor/styler/properties/layout/layout","@social-mail/social-mail-client/dist/site-editor/styler/properties/stylerPosition","@social-mail/social-mail-client/dist/site-editor/styler/properties/stylerSizes","@social-mail/social-mail-client/dist/site-editor/styler/properties/stylerSpace","@social-mail/social-mail-client/dist/site-editor/styler/properties/text/stylerText","@social-mail/social-mail-client/dist/site-editor/styler/properties/stylerBackground","@social-mail/social-mail-client/dist/site-editor/properties/groups/TextPropertyEditor","@social-mail/social-mail-client/dist/site-editor/properties/controls/SizeEditorControl","@social-mail/social-mail-client/dist/site-editor/properties/groups/BorderGroupEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/SizeGroupEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/SpaceGroupEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/PositionGroupEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/BackgroundGroupEditor","@social-mail/social-mail-client/dist/site-editor/editor/SelectedElement","@social-mail/social-mail-client/dist/web/page/files/media/ChooseMediaPage","@social-mail/social-mail-client/dist/common/controls/drag-drop/FilesDragDrop","@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage","@social-mail/social-mail-client/dist/common/pages/user/services/UserService","@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength","@social-mail/social-mail-client/dist/common/validators/Validators","@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage","@social-mail/social-mail-client/dist/common/pages/websites/list/WebSiteListPage","@social-mail/social-mail-client/dist/common/pages/websites/edit/WebSiteFolderEditor","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxDetailPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/settings/EditSyncTargetPage","@social-mail/social-mail-client/dist/common/icons/Icons","@social-mail/social-mail-client/dist/common/pages/mailboxes/external-mailboxes/AddExternalMailboxPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/ExternalMailboxService","@social-mail/social-mail-client/dist/web/page/files/FolderPage","@social-mail/social-mail-client/dist/web/page/files/preview/image/PreviewImage","@web-atoms/web-controls/dist/basic/PinchZoomView","@web-atoms/web-controls/dist/basic/styles/pinch-zoom-view-style","@social-mail/social-mail-client/dist/web/page/files/preview/document/PreviewDocument","@social-mail/social-mail-client/dist/web/page/files/preview/media/PreviewMedia","@web-atoms/web-controls/dist/player/AtomVideoPlayer","@social-mail/social-mail-client/dist/services/FileTypes","@social-mail/social-mail-client/dist/style/GlobalStyle","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@social-mail/social-mail-client/dist/services/LoginService","@social-mail/social-mail-client/dist/common/pages/user/login/LoginPage","@social-mail/social-mail-client/dist/web/drawer/AppDrawer","@social-mail/social-mail-client/dist/common/controls/menu/MenuItem","@social-mail/social-mail-client/dist/common/controls/ModuleInfo","@social-mail/social-mail-client/dist/services/WebPushService","@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"]);
1988
+ ["@social-mail/social-mail-client/dist/web/AppIndex","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/ExpressionParser","@web-atoms/core/dist/core/types","reflect-metadata","@web-atoms/core/dist/core/AtomMap","@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/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/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/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@web-atoms/core/dist/core/Hacks","@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/web/commands/AppCommands","@social-mail/social-mail-client/dist/web/page/home/HomePage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage","@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","@web-atoms/web-controls/dist/DataAttributes","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/di/DITransient","@social-mail/social-mail-client/dist/services/EntityService","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/entity/dist/models/Cloner","@web-atoms/entity/dist/models/cloneSource","@web-atoms/entity/dist/models/IEntityModel","@web-atoms/entity/dist/services/HttpSession","@web-atoms/core/dist/services/http/JsonError","@web-atoms/entity/dist/models/TaskManager","@web-atoms/entity/dist/models/Queue","@web-atoms/entity/dist/services/mergeProperties","@web-atoms/entity/dist/services/Query","@web-atoms/entity/dist/services/StringHelper","@web-atoms/entity/dist/services/resolve","@social-mail/social-mail-client/dist/services/BusyProgress","@social-mail/social-mail-client/dist/model/model","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/common/SocialMailApp","@web-atoms/core/dist/view-model/Action","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage","@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/ComboBox","@social-mail/social-mail-client/dist/common/controls/buttons/IconButton","@social-mail/social-mail-client/dist/admin/pages/users/ChooseUserPage","@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/styles/checkbox-style","@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/MailboxContacts","@social-mail/social-mail-client/dist/web/page/mails/service/MailService","@social-mail/social-mail-client/dist/common/events/CommonEvents","@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","@web-atoms/web-controls/dist/basic/InlinePopupControl","@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/data-styles/data-styles","@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/core/dist/core/AtomList","@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/web/page/templates/social/SocialTemplate","@social-mail/social-mail-client/dist/services/Emoji","@social-mail/social-mail-client/dist/services/socket/sockets","@web-atoms/web-controls/dist/basic/LimitedText","@social-mail/social-mail-client/dist/common/date/DateFormats","@social-mail/social-mail-client/dist/common/pages/logs/LogsPage","@social-mail/social-mail-client/dist/common/pages/logs/services/AppLogService","@social-mail/social-mail-client/dist/web/page/mails/detail/MailDetailPage","@social-mail/social-mail-client/dist/common/controls/file-preview/FilePreview","@social-mail/social-mail-client/dist/web/page/mails/mini-compose/MiniComposeBox","@social-mail/social-mail-client/dist/common/controls/audio/AudioRecorder","@web-atoms/web-controls/dist/mobile-app/BottomPopup","@web-atoms/web-controls/dist/animations/Animations","@social-mail/social-mail-client/dist/common/controls/audio/WebRTCService","@social-mail/social-mail-client/dist/common/controls/buttons/RoundButton","@web-atoms/web-controls/dist/html-editor/AtomHtmlEditor","@web-atoms/web-controls/dist/html-editor/commands/AttachFile","@social-mail/social-mail-client/dist/web/page/mails/mini-compose/Insert","@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage","@social-mail/social-mail-client/dist/common/pages/folders/ChooseTemplatePage","@social-mail/social-mail-client/dist/web/page/files/service/CloudFileService","@web-atoms/core/dist/services/FetchBuilder","@social-mail/social-mail-client/dist/common/controls/tree/TreeView","@social-mail/social-mail-client/dist/services/mime-service/MimeMessage","@social-mail/social-mail-client/dist/services/mime-service/MimeNode","@social-mail/social-mail-client/dist/common/QueryIterator","@social-mail/social-mail-client/dist/services/mime-service/AttachmentFile","@social-mail/social-mail-client/dist/services/mime-service/HeaderContentType","@social-mail/social-mail-client/dist/services/mime-service/parsePairs","@social-mail/social-mail-client/dist/services/mime-service/tokenizer","@social-mail/social-mail-client/dist/services/mime-service/HeaderContentDisposition","@social-mail/social-mail-client/dist/services/mime-service/encoder/word-encoding","@social-mail/social-mail-client/dist/services/mime-service/encoder/RawBuffer","@social-mail/social-mail-client/dist/services/mime-service/encoder/base64-to-blob","@social-mail/social-mail-client/dist/services/mime-service/encoder/quoted-printable","@social-mail/social-mail-client/dist/services/mime-service/stream/LineStream","@social-mail/social-mail-client/dist/services/mime-service/stream/TextWriter","@web-atoms/web-controls/dist/basic/Resizable","@web-atoms/web-controls/dist/basic/ToggleButtonBar","@web-atoms/web-controls/dist/basic/styles/toggle-button-bar-style","@social-mail/social-mail-client/dist/web/page/mails/contact/AddMiniContactPage","@social-mail/social-mail-client/dist/web/page/channels/detail/ChannelDetailPage","@social-mail/social-mail-client/dist/web/page/channels/subscribers/ChannelSubscribersPage","@social-mail/social-mail-client/dist/web/page/channels/services/ChannelService","@social-mail/social-mail-client/dist/web/page/channels/subscribers/add/AddSubscriberPage","@social-mail/social-mail-client/dist/web/page/channels/subscribers/rights/UpdateRightsPage","@social-mail/social-mail-client/dist/common/pages/drives/DriveListPage","@social-mail/social-mail-client/dist/common/pages/websites/manage/ManageWebSitePage","@social-mail/social-mail-client/dist/services/websites/WebSiteService","@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditor","@web-atoms/web-controls/dist/basic/Expander","@web-atoms/web-controls/dist/basic/styles/expander-style","@social-mail/social-mail-client/dist/common/pages/websites/studio/WebSiteStudioPage","@social-mail/social-mail-client/dist/web/page/files/shares/EditSharesPage","@social-mail/social-mail-client/dist/services/files/FileShareService","@social-mail/social-mail-client/dist/web/page/files/shares/AddSharePage","@web-atoms/web-controls/dist/basic/Switch","@web-atoms/web-controls/dist/basic/styles/switch-style","@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","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/web-controls/dist/basic/Calendar","@web-atoms/web-controls/dist/basic/Select","@web-atoms/web-controls/dist/basic/styles/calendar-style","@web-atoms/web-controls/dist/basic/TimeEditor","@web-atoms/web-controls/dist/basic/styles/time-editor-style","@web-atoms/web-controls/dist/basic/styles/date-field-style","@social-mail/social-mail-client/dist/web/page/templates/EditTemplatePage","@social-mail/social-mail-client/dist/common/pages/websites/templates/ChooseWebSiteTemplatePage","@social-mail/social-mail-client/dist/common/controls/tree/FileTreeView","@social-mail/social-mail-client/dist/site-editor/editor/WebSitePageEditor","@social-mail/social-mail-client/dist/site-editor/editor/HtmlPageEditor","@social-mail/social-mail-client/dist/site-editor/blocks/ImageBlock","@social-mail/social-mail-client/dist/site-editor/blocks/Block","@social-mail/social-mail-client/dist/site-editor/drag-drop/DragDropHelper","@social-mail/social-mail-client/dist/site-editor/commands/CodeCommand","@social-mail/social-mail-client/dist/site-editor/commands/EditorCommand","@social-mail/social-mail-client/dist/site-editor/toolbars/UndoRedoToolbar","@social-mail/social-mail-client/dist/site-editor/toolbars/EditorToolbar","@social-mail/social-mail-client/dist/site-editor/blocks/WrapGrid","@social-mail/social-mail-client/dist/site-editor/properties/Properties","@social-mail/social-mail-client/dist/site-editor/properties/groups/LayoutEditor","@social-mail/social-mail-client/dist/site-editor/properties/controls/PropertyEditor","@social-mail/social-mail-client/dist/site-editor/styler/StylerSet","@social-mail/social-mail-client/dist/site-editor/styler/Styler","@social-mail/social-mail-client/dist/site-editor/styler/properties/stylerBorder","@social-mail/social-mail-client/dist/site-editor/styler/properties/layout/display","@social-mail/social-mail-client/dist/site-editor/styler/properties/layout/flex/flex","@social-mail/social-mail-client/dist/site-editor/styler/properties/layout/items-position/itemsPosition","@social-mail/social-mail-client/dist/site-editor/styler/properties/layout/layout","@social-mail/social-mail-client/dist/site-editor/styler/properties/stylerPosition","@social-mail/social-mail-client/dist/site-editor/styler/properties/stylerSizes","@social-mail/social-mail-client/dist/site-editor/styler/properties/stylerSpace","@social-mail/social-mail-client/dist/site-editor/styler/properties/text/stylerText","@social-mail/social-mail-client/dist/site-editor/styler/properties/stylerBackground","@social-mail/social-mail-client/dist/site-editor/properties/groups/TextPropertyEditor","@social-mail/social-mail-client/dist/site-editor/properties/controls/SizeEditorControl","@social-mail/social-mail-client/dist/site-editor/properties/groups/BorderGroupEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/SizeGroupEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/SpaceGroupEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/PositionGroupEditor","@social-mail/social-mail-client/dist/site-editor/properties/groups/BackgroundGroupEditor","@social-mail/social-mail-client/dist/site-editor/editor/SelectedElement","@social-mail/social-mail-client/dist/web/page/files/media/ChooseMediaPage","@social-mail/social-mail-client/dist/common/controls/drag-drop/FilesDragDrop","@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage","@social-mail/social-mail-client/dist/common/pages/user/services/UserService","@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength","@social-mail/social-mail-client/dist/common/validators/Validators","@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage","@social-mail/social-mail-client/dist/common/pages/websites/list/WebSiteListPage","@social-mail/social-mail-client/dist/common/pages/websites/edit/WebSiteFolderEditor","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxDetailPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/settings/EditSyncTargetPage","@social-mail/social-mail-client/dist/common/icons/Icons","@social-mail/social-mail-client/dist/common/pages/mailboxes/external-mailboxes/AddExternalMailboxPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/ExternalMailboxService","@social-mail/social-mail-client/dist/web/page/files/FolderPage","@social-mail/social-mail-client/dist/web/page/files/preview/image/PreviewImage","@web-atoms/web-controls/dist/basic/PinchZoomView","@web-atoms/web-controls/dist/basic/styles/pinch-zoom-view-style","@social-mail/social-mail-client/dist/web/page/files/preview/document/PreviewDocument","@social-mail/social-mail-client/dist/web/page/files/preview/media/PreviewMedia","@web-atoms/web-controls/dist/player/AtomVideoPlayer","@social-mail/social-mail-client/dist/services/FileTypes","@social-mail/social-mail-client/dist/style/GlobalStyle","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@social-mail/social-mail-client/dist/services/LoginService","@social-mail/social-mail-client/dist/common/pages/user/login/LoginPage","@social-mail/social-mail-client/dist/web/drawer/AppDrawer","@social-mail/social-mail-client/dist/common/controls/menu/MenuItem","@social-mail/social-mail-client/dist/common/controls/ModuleInfo","@social-mail/social-mail-client/dist/services/WebPushService","@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"]);
1989
1989
 
1990
1990
  System.register([], function (_export, _context) {
1991
1991
  "use strict";
@@ -14135,6 +14135,7 @@ System.register(["./Queue"], function (_export, _context) {
14135
14135
  fx
14136
14136
  });
14137
14137
  });
14138
+ pr.catch(error => console.error(error));
14138
14139
  this.processQueue();
14139
14140
  return pr;
14140
14141
  }
@@ -15025,12 +15026,19 @@ System.register(["tslib", "../models/Cloner", "../models/IEntityModel", "./HttpS
15025
15026
  body
15026
15027
  });
15027
15028
  }
15028
- save(body) {
15029
+ save(body, cloner) {
15029
15030
  return __awaiter(this, void 0, void 0, function* () {
15030
15031
  if (Array.isArray(body) && body.length === 0) {
15031
15032
  return body;
15032
15033
  }
15033
15034
  const url = this.url;
15035
+ if (body instanceof Cloner) {
15036
+ body = body.copy;
15037
+ }
15038
+ if (cloner) {
15039
+ const c = cloner(new Cloner(body));
15040
+ body = c.copy;
15041
+ }
15034
15042
  const result = yield this.postJson({
15035
15043
  url,
15036
15044
  body
@@ -17314,6 +17322,7 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
17314
17322
  labelPath: item => item === null || item === void 0 ? void 0 : item.name,
17315
17323
  valuePath: item => item === null || item === void 0 ? void 0 : item.domainID,
17316
17324
  selectedItem: Bind.twoWaysImmediate(() => this.model.domain),
17325
+ value: Bind.twoWaysImmediate(() => this.model.domainID),
17317
17326
  items: domains
17318
17327
  })), XNode.create(FormField, {
17319
17328
  label: "Email Address"
@@ -17352,7 +17361,6 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
17352
17361
  }
17353
17362
  saveMailbox() {
17354
17363
  return __awaiter(this, void 0, void 0, function* () {
17355
- this.model.domainID = this.model.domain.domainID;
17356
17364
  yield this.mailboxService.save(this.model);
17357
17365
  return this.model;
17358
17366
  });
@@ -17481,7 +17489,9 @@ System.register(["@web-atoms/core/dist/core/EventScope"], function (_export, _co
17481
17489
  onThreadMarkedAsRead: EventScope.create(),
17482
17490
  onThreadMarkedAsBlocked: EventScope.create(),
17483
17491
  onDraftDeleted: EventScope.create(),
17484
- onFileDeleted: EventScope.create()
17492
+ onFileDeleted: EventScope.create(),
17493
+ onEmailScheduled: EventScope.create(),
17494
+ onEmailUnscheduled: EventScope.create()
17485
17495
  });
17486
17496
  }
17487
17497
  };
@@ -17565,6 +17575,9 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
17565
17575
  }
17566
17576
  send(email) {
17567
17577
  return __awaiter(this, void 0, void 0, function* () {
17578
+ if (email.textBody) {
17579
+ email.subject || (email.subject = email.textBody.substring(0, 80));
17580
+ }
17568
17581
  for (const iterator of email.recipients) {
17569
17582
  if (iterator.emailAddressText) {
17570
17583
  iterator.emailAddressText = iterator.emailAddressText.trim();
@@ -17572,6 +17585,7 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
17572
17585
  }
17573
17586
  const cloner = this.entityService.cloner(email).include(x => x.recipients).include(x => x.attachments).copy;
17574
17587
  yield this.entityService.save(cloner);
17588
+ CommonEvents.onEmailScheduled.dispatchEvent(email);
17575
17589
  });
17576
17590
  }
17577
17591
  deleteAttachment(file) {
@@ -18190,40 +18204,40 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
18190
18204
  emailAddressID,
18191
18205
  email
18192
18206
  }, create = false) {
18193
- var _a, _b;
18207
+ var _a, _b, _c;
18194
18208
  return __awaiter(this, void 0, void 0, function* () {
18195
18209
  if (email === null || email === void 0 ? void 0 : email.emailID) {
18196
18210
  if (!email.textBody) {
18197
18211
  email.textBody = email.mdBody;
18198
18212
  }
18199
- if (!email.subject) {
18200
- email.subject = email.textBody.substring(0, 80);
18201
- }
18213
+ email.subject || (email.subject = "");
18202
18214
  const cloner = this.entityService.cloner(email).include(x => x.attachments).include(x => x.recipients);
18203
18215
  yield this.entityService.save(cloner.copy);
18204
18216
  return email;
18205
18217
  }
18206
18218
  if (create && email) {
18207
- (_a = email.recipients) !== null && _a !== void 0 ? _a : email.recipients = [];
18208
- (_b = email.mailboxes) !== null && _b !== void 0 ? _b : email.mailboxes = [];
18219
+ const recipients = (_a = email.recipients) !== null && _a !== void 0 ? _a : email.recipients = [];
18220
+ const mailboxes = (_b = email.mailboxes) !== null && _b !== void 0 ? _b : email.mailboxes = [];
18221
+ const threads = (_c = email.threadEmails) !== null && _c !== void 0 ? _c : email.threadEmails = [];
18209
18222
  email.senderID = mailboxID;
18210
18223
  email.status = "draft";
18211
- if (!email.mailboxes.some(m => m.mailboxID === mailboxID)) {
18212
- email.mailboxes.push(MailboxEmail.create({
18224
+ if (!mailboxes.some(m => m.mailboxID === mailboxID)) {
18225
+ mailboxes.push(MailboxEmail.create({
18213
18226
  mailboxID
18214
18227
  }));
18215
18228
  }
18216
- if (!email.recipients.some(r => r.emailAddressID === emailAddressID)) {
18217
- email.recipients.push(EmailRecipient.create({
18229
+ if (!recipients.some(r => r.emailAddressID === emailAddressID)) {
18230
+ recipients.push(EmailRecipient.create({
18218
18231
  emailAddressID
18219
18232
  }));
18220
18233
  }
18221
- const mce = MailboxContactEmail.create({
18222
- mailboxID,
18223
- emailAddressID,
18224
- email
18225
- });
18226
- yield this.entityService.save(mce);
18234
+ if (!threads.some(r => r.mailboxID === mailboxID)) {
18235
+ threads.push(MailboxContactEmail.create({
18236
+ mailboxID,
18237
+ emailAddressID
18238
+ }));
18239
+ }
18240
+ yield this.entityService.save(email);
18227
18241
  }
18228
18242
  return email;
18229
18243
  });
@@ -18273,6 +18287,16 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
18273
18287
  return emails;
18274
18288
  });
18275
18289
  }
18290
+ stopEmail(mce) {
18291
+ return __awaiter(this, void 0, void 0, function* () {
18292
+ const {
18293
+ email
18294
+ } = mce;
18295
+ email.status = "draft";
18296
+ yield this.entityService.save(email, c => c);
18297
+ CommonEvents.onEmailUnscheduled.dispatchEvent(mce);
18298
+ });
18299
+ }
18276
18300
  renderText(html) {
18277
18301
  const div = document.createElement("div");
18278
18302
  div.innerHTML = html;
@@ -18299,10 +18323,12 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
18299
18323
  delete(email) {
18300
18324
  return __awaiter(this, void 0, void 0, function* () {
18301
18325
  const {
18302
- emailID
18326
+ emailID,
18327
+ status
18303
18328
  } = email;
18304
18329
  yield this.entityService.delete(Email.create({
18305
- emailID
18330
+ emailID,
18331
+ status
18306
18332
  }));
18307
18333
  CommonEvents.onDraftDeleted.dispatchEvent(email);
18308
18334
  });
@@ -19194,12 +19220,15 @@ System.register(["@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/core/XN
19194
19220
  "use strict";
19195
19221
 
19196
19222
  var Bind, XNode, PopupButton, MenuItem;
19197
- function Align() {
19223
+ function Align({
19224
+ alignment = "bottomRight"
19225
+ }) {
19198
19226
  return XNode.create(PopupButton, {
19199
19227
  class: "command",
19200
19228
  "data-layout": "toolbar-button",
19201
19229
  icon: "ri-align-left",
19202
- title: "Change Alignment"
19230
+ title: "Change Alignment",
19231
+ alignment: alignment
19203
19232
  }, XNode.create(MenuItem, {
19204
19233
  icon: "ri-align-left",
19205
19234
  title: "Align Left",
@@ -21600,10 +21629,10 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
21600
21629
 
21601
21630
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/files/LocalFileService");
21602
21631
 
21603
- System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor", "@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/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/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/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", "../../../services/files/LocalFileService", "@web-atoms/core/dist/web/controls/AtomControl", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/core/StringHelper"], function (_export, _context) {
21632
+ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor", "@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/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/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/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", "../../../services/files/LocalFileService", "@web-atoms/core/dist/web/controls/AtomControl", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/core/StringHelper", "@web-atoms/core/dist/style/styled"], function (_export, _context) {
21604
21633
  "use strict";
21605
21634
 
21606
- var __awaiter, __decorate, __metadata, XNode, InlineHtmlEditor, Toolbar, Bold, Italic, Underline, StrikeThrough, Align, HorizontalRule, Separator, Headings, ChangeColor, ChangeFont, ChangeFontSize, NumberedList, UnorderedList, IndentLess, IndentMore, AddLink, Unlink, RemoveFormat, Source, UploadEvent, LocalFileService, acceptDocumentAndMedia, AtomControl, InjectProperty, StringHelper, MailHtmlEditor, link, onAttachImage, onAttachInlineImage;
21635
+ var __awaiter, __decorate, __metadata, XNode, InlineHtmlEditor, Toolbar, Bold, Italic, Underline, StrikeThrough, Align, HorizontalRule, Separator, Headings, ChangeColor, ChangeFont, ChangeFontSize, NumberedList, UnorderedList, IndentLess, IndentMore, AddLink, Unlink, RemoveFormat, Source, UploadEvent, LocalFileService, acceptDocumentAndMedia, AtomControl, InjectProperty, StringHelper, styled, MailHtmlEditor, link, onAttachImage, onAttachInlineImage, css;
21607
21636
  function AttachFile({
21608
21637
  accept = acceptDocumentAndMedia,
21609
21638
  maxSize = 1024 * 1024 * 10,
@@ -21725,6 +21754,8 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-con
21725
21754
  InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
21726
21755
  }, function (_webAtomsCoreDistCoreStringHelper) {
21727
21756
  StringHelper = _webAtomsCoreDistCoreStringHelper.StringHelper;
21757
+ }, function (_webAtomsCoreDistStyleStyled) {
21758
+ styled = _webAtomsCoreDistStyleStyled.default;
21728
21759
  }],
21729
21760
  execute: function () {
21730
21761
  link = document.createElement("link");
@@ -21762,6 +21793,12 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-con
21762
21793
  };
21763
21794
  reader.readAsDataURL(file);
21764
21795
  });
21796
+ css = styled.css`
21797
+ & > [data-element=editor] {
21798
+ background-color: white;
21799
+ color: black;
21800
+ }
21801
+ `.installLocal();
21765
21802
  _export("MailHtmlEditor", MailHtmlEditor = class MailHtmlEditor extends InlineHtmlEditor {
21766
21803
  onPasteEvent(e) {
21767
21804
  if (e.clipboardData.files.length) {
@@ -21786,6 +21823,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-con
21786
21823
  }
21787
21824
  preCreate() {
21788
21825
  super.preCreate();
21826
+ this.element.className = css;
21789
21827
  this.sanitizeHtml = node => {
21790
21828
  const images = Array.from(node.querySelectorAll(`img[data-content-id]`));
21791
21829
  for (const image of images) {
@@ -24428,91 +24466,549 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
24428
24466
 
24429
24467
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/audio/AudioRecorder");
24430
24468
 
24431
- System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/view-model/Action", "@web-atoms/web-controls/dist/basic/PopupButton", "@web-atoms/web-controls/dist/basic/UploadEvent", "@web-atoms/web-controls/dist/mobile-app/BottomPopup"], function (_export, _context) {
24469
+ System.register(["@web-atoms/core/dist/core/XNode", "../../basic/UploadEvent"], function (_export, _context) {
24432
24470
  "use strict";
24433
24471
 
24434
- var __awaiter, __decorate, __metadata, XNode, Action, MenuItem, UploadEvent, BottomPopup, SendFiles;
24472
+ var XNode, UploadEvent;
24473
+ function AttachFile({
24474
+ accept = "image/*",
24475
+ maxSize = 1024 * 1024 * 5,
24476
+ authorize = true,
24477
+ capture = null,
24478
+ ariaLabel = "upload"
24479
+ }) {
24480
+ return XNode.create("button", Object.assign({
24481
+ title: "Insert Image",
24482
+ class: "command"
24483
+ }, UploadEvent.AttachUploadAction({
24484
+ accept,
24485
+ forceType: true,
24486
+ maxSize,
24487
+ authorize,
24488
+ capture,
24489
+ multiple: false,
24490
+ ariaLabel
24491
+ })), XNode.create("i", {
24492
+ class: "ri-attachment-2"
24493
+ }));
24494
+ }
24495
+ _export("default", AttachFile);
24496
+ return {
24497
+ setters: [function (_webAtomsCoreDistCoreXNode) {
24498
+ XNode = _webAtomsCoreDistCoreXNode.default;
24499
+ }, function (_basicUploadEvent) {
24500
+ UploadEvent = _basicUploadEvent.default;
24501
+ }],
24502
+ execute: function () {}
24503
+ };
24504
+ });
24505
+ //# sourceMappingURL=AttachFile.js.map
24506
+
24507
+ AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/AttachFile");
24508
+
24509
+ System.register(["tslib", "@web-atoms/core/dist/core/AtomBinder", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/core/BindableProperty", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/web/controls/AtomControl", "../basic/AtomRepeater", "./commands/AddImage", "./commands/AddLink", "./commands/Align", "./commands/AttachFile", "./commands/Bold", "./commands/ChangeColor", "./commands/ChangeFont", "./commands/ChangeFontSize", "./commands/Headings", "./commands/HorizontalRule", "./commands/IndentLess", "./commands/IndentMore", "./commands/Italic", "./commands/NumberedList", "./commands/RemoveFormat", "./commands/Separator", "./commands/Source", "./commands/StrikeThrough", "./commands/Underline", "./commands/Unlink", "./commands/UnorderedList", "./commands/Toolbar", "@web-atoms/core/dist/style/styled"], function (_export, _context) {
24510
+ "use strict";
24511
+
24512
+ var __decorate, __metadata, AtomBinder, Bind, BindableProperty, XNode, AtomControl, AtomRepeater, AddImage, showImageDialog, AddLink, Align, AttachFile, Bold, ChangeColor, ChangeFont, ChangeFontSize, Headings, HorizontalRule, IndentLess, IndentMore, Italic, NumberedList, RemoveFormat, Separator, Source, StrikeThrough, Underline, Unlink, UnorderedList, Toolbar, styled, AtomHtmlEditor, link, css;
24513
+ function preventLinkClick(e, editor, doc) {
24514
+ let target = e.target;
24515
+ const body = doc.body;
24516
+ while (target) {
24517
+ if (target.getAttribute("data-prompt")) {
24518
+ break;
24519
+ }
24520
+ if (target === body) {
24521
+ break;
24522
+ }
24523
+ if (target.isContentEditable) {
24524
+ editor.dispatchEvent(new MouseEvent("click", {
24525
+ bubbles: true,
24526
+ cancelable: true
24527
+ }));
24528
+ return;
24529
+ }
24530
+ if (target.tagName === "A") {
24531
+ e.preventDefault();
24532
+ }
24533
+ target = target.parentElement;
24534
+ }
24535
+ target = e.target;
24536
+ const originalTarget = target;
24537
+ const data = new Proxy(originalTarget, {
24538
+ get(target, p) {
24539
+ if (typeof p !== "string") {
24540
+ return;
24541
+ }
24542
+ while (target) {
24543
+ const value = target.dataset[p];
24544
+ if (value !== void 0) {
24545
+ return value;
24546
+ }
24547
+ target = target.parentElement;
24548
+ }
24549
+ }
24550
+ });
24551
+ editor.dispatchEvent(new CustomEvent("editorClick", {
24552
+ detail: {
24553
+ target,
24554
+ data
24555
+ },
24556
+ bubbles: true,
24557
+ cancelable: true
24558
+ }));
24559
+ editor.dispatchEvent(new MouseEvent("click", {
24560
+ bubbles: true,
24561
+ cancelable: true
24562
+ }));
24563
+ }
24435
24564
  _export("default", void 0);
24436
24565
  return {
24437
24566
  setters: [function (_tslib) {
24438
- __awaiter = _tslib.__awaiter;
24439
24567
  __decorate = _tslib.__decorate;
24440
24568
  __metadata = _tslib.__metadata;
24569
+ }, function (_webAtomsCoreDistCoreAtomBinder) {
24570
+ AtomBinder = _webAtomsCoreDistCoreAtomBinder.AtomBinder;
24571
+ }, function (_webAtomsCoreDistCoreBind) {
24572
+ Bind = _webAtomsCoreDistCoreBind.default;
24573
+ }, function (_webAtomsCoreDistCoreBindableProperty) {
24574
+ BindableProperty = _webAtomsCoreDistCoreBindableProperty.BindableProperty;
24441
24575
  }, function (_webAtomsCoreDistCoreXNode) {
24442
24576
  XNode = _webAtomsCoreDistCoreXNode.default;
24443
- }, function (_webAtomsCoreDistViewModelAction) {
24444
- Action = _webAtomsCoreDistViewModelAction.default;
24445
- }, function (_webAtomsWebControlsDistBasicPopupButton) {
24446
- MenuItem = _webAtomsWebControlsDistBasicPopupButton.MenuItem;
24447
- }, function (_webAtomsWebControlsDistBasicUploadEvent) {
24448
- UploadEvent = _webAtomsWebControlsDistBasicUploadEvent.default;
24449
- }, function (_webAtomsWebControlsDistMobileAppBottomPopup) {
24450
- BottomPopup = _webAtomsWebControlsDistMobileAppBottomPopup.default;
24577
+ }, function (_webAtomsCoreDistWebControlsAtomControl) {
24578
+ AtomControl = _webAtomsCoreDistWebControlsAtomControl.AtomControl;
24579
+ }, function (_basicAtomRepeater) {
24580
+ AtomRepeater = _basicAtomRepeater.default;
24581
+ }, function (_commandsAddImage) {
24582
+ AddImage = _commandsAddImage.default;
24583
+ showImageDialog = _commandsAddImage.showImageDialog;
24584
+ }, function (_commandsAddLink) {
24585
+ AddLink = _commandsAddLink.default;
24586
+ }, function (_commandsAlign) {
24587
+ Align = _commandsAlign.default;
24588
+ }, function (_commandsAttachFile) {
24589
+ AttachFile = _commandsAttachFile.default;
24590
+ }, function (_commandsBold) {
24591
+ Bold = _commandsBold.default;
24592
+ }, function (_commandsChangeColor) {
24593
+ ChangeColor = _commandsChangeColor.default;
24594
+ }, function (_commandsChangeFont) {
24595
+ ChangeFont = _commandsChangeFont.default;
24596
+ }, function (_commandsChangeFontSize) {
24597
+ ChangeFontSize = _commandsChangeFontSize.default;
24598
+ }, function (_commandsHeadings) {
24599
+ Headings = _commandsHeadings.default;
24600
+ }, function (_commandsHorizontalRule) {
24601
+ HorizontalRule = _commandsHorizontalRule.default;
24602
+ }, function (_commandsIndentLess) {
24603
+ IndentLess = _commandsIndentLess.default;
24604
+ }, function (_commandsIndentMore) {
24605
+ IndentMore = _commandsIndentMore.default;
24606
+ }, function (_commandsItalic) {
24607
+ Italic = _commandsItalic.default;
24608
+ }, function (_commandsNumberedList) {
24609
+ NumberedList = _commandsNumberedList.default;
24610
+ }, function (_commandsRemoveFormat) {
24611
+ RemoveFormat = _commandsRemoveFormat.default;
24612
+ }, function (_commandsSeparator) {
24613
+ Separator = _commandsSeparator.default;
24614
+ }, function (_commandsSource) {
24615
+ Source = _commandsSource.default;
24616
+ }, function (_commandsStrikeThrough) {
24617
+ StrikeThrough = _commandsStrikeThrough.default;
24618
+ }, function (_commandsUnderline) {
24619
+ Underline = _commandsUnderline.default;
24620
+ }, function (_commandsUnlink) {
24621
+ Unlink = _commandsUnlink.default;
24622
+ }, function (_commandsUnorderedList) {
24623
+ UnorderedList = _commandsUnorderedList.default;
24624
+ }, function (_commandsToolbar) {
24625
+ Toolbar = _commandsToolbar.default;
24626
+ _export("Toolbar", _commandsToolbar.default);
24627
+ }, function (_webAtomsCoreDistStyleStyled) {
24628
+ styled = _webAtomsCoreDistStyleStyled.default;
24451
24629
  }],
24452
24630
  execute: function () {
24453
- _export("default", SendFiles = class SendFiles extends BottomPopup {
24454
- init() {
24455
- return __awaiter(this, void 0, void 0, function* () {
24456
- this.renderer = XNode.create("div", null, XNode.create("div", {
24457
- "data-layout": "vertical-flex-center-items"
24458
- }, XNode.create(MenuItem, Object.assign({}, UploadEvent.AttachUploadAction({
24459
- accept: "image/*",
24460
- multiple: true,
24461
- extra: {}
24462
- }), {
24463
- "data-click-event": "send-photos",
24464
- icon: "fas fa-image",
24465
- label: "Send Photos"
24466
- })), XNode.create(MenuItem, Object.assign({}, UploadEvent.AttachUploadAction({
24467
- accept: "image/*",
24468
- capture: "user",
24469
- extra: {}
24470
- }), {
24471
- "data-click-event": "take-photo",
24472
- icon: "fa-duotone fa-video-plus",
24473
- label: "Take Photo"
24474
- })), XNode.create(MenuItem, Object.assign({}, UploadEvent.AttachUploadAction({
24475
- accept: "video/*",
24476
- multiple: false,
24477
- extra: {}
24478
- }), {
24479
- "data-click-event": "send-video",
24480
- icon: "fas fa-video",
24481
- label: "Send Video"
24482
- })), XNode.create(MenuItem, Object.assign({}, UploadEvent.AttachUploadAction({
24483
- accept: "video/*",
24484
- capture: "user",
24485
- extra: {}
24486
- }), {
24487
- "data-click-event": "record-video",
24488
- icon: "fa-duotone fa-video-plus",
24489
- label: "Record Video"
24490
- }))));
24631
+ link = document.createElement("link");
24632
+ link.href = "https://cdn.jsdelivr.net/npm/remixicon@2.5.0/fonts/remixicon.css";
24633
+ link.rel = "preload";
24634
+ link.as = "style";
24635
+ link.onload = () => {
24636
+ link.onload = null;
24637
+ link.rel = "stylesheet";
24638
+ };
24639
+ document.head.appendChild(link);
24640
+ css = styled.css`
24641
+
24642
+ display: flex;
24643
+ flex-direction: column;
24644
+ min-height: 500px;
24645
+
24646
+ & > iframe {
24647
+ flex: 1 1 100%;
24648
+ }
24649
+
24650
+ & > .files > .file {
24651
+ flex-direction: row;
24652
+ align-items: center;
24653
+ justify-content: space-around;
24654
+ gap: 4px;
24655
+ display: inline-flex;
24656
+ border-color: rgba(211,211,211,0.5);
24657
+ border-width: 1px;
24658
+ border-style: solid;
24659
+ border-radius: 15px;
24660
+ padding-left: 10px;
24661
+ padding-right: 10px;
24662
+
24663
+ & > label {
24664
+ max-width: 100px;
24665
+ overflow: hidden;
24666
+ white-space: nowrap;
24667
+ text-overflow: ellipsis;
24668
+ }
24669
+ }
24670
+
24671
+
24672
+ & .toolbar {
24673
+ display: flex;
24674
+ flex-wrap: wrap;
24675
+ align-items: center;
24676
+
24677
+ & > .command {
24678
+ display: inline-flex;
24679
+ align-items: center;
24680
+ justify-content: space-evenly;
24681
+ border: none;
24682
+ cursor: pointer;
24683
+ background-color: #00000000;
24684
+ min-width: 28px;
24685
+ height: 28px;
24686
+
24687
+ &:hover {
24688
+ background-color: #90ee90;
24689
+ }
24690
+
24691
+ &.pressed {
24692
+ background-color: #d3d3d3;
24693
+
24694
+ &:hover {
24695
+ background-color: #90ee90;
24696
+ }
24697
+ }
24698
+
24699
+ & .ri-bold {
24700
+ font-weight: bold;
24701
+ }
24702
+ }
24703
+ }
24704
+ `.installLocal();
24705
+ _export("default", AtomHtmlEditor = class AtomHtmlEditor extends AtomControl {
24706
+ get htmlContent() {
24707
+ var _a, _b;
24708
+ try {
24709
+ return (_b = (_a = this.editor) === null || _a === void 0 ? void 0 : _a.innerHTML) !== null && _b !== void 0 ? _b : this.initialContent;
24710
+ } catch (ex) {
24711
+ console.warn(ex);
24712
+ }
24713
+ }
24714
+ set htmlContent(v) {
24715
+ if (this.editor) {
24716
+ this.editor.innerHTML = v;
24717
+ } else {
24718
+ this.initialContent = v;
24719
+ }
24720
+ AtomBinder.refreshValue(this, "htmlContent");
24721
+ }
24722
+ insertImage(s, e) {
24723
+ return showImageDialog(s, e);
24724
+ }
24725
+ executeCommand(cmd, showUI, value) {
24726
+ const r = this.editorDocument.execCommand(cmd, showUI, value);
24727
+ setTimeout(() => this.version++, 1);
24728
+ return r;
24729
+ }
24730
+ queryCommandState(cmd, ...a) {
24731
+ return this.editorDocument.queryCommandState(cmd);
24732
+ }
24733
+ getStyle(name, v) {
24734
+ try {
24735
+ const node = this.editorWindow.getSelection().getRangeAt(0);
24736
+ const e = node.startContainer.parentElement;
24737
+ return this.editorWindow.getComputedStyle(e)[name];
24738
+ } catch (ex) {
24739
+ return null;
24740
+ }
24741
+ }
24742
+ onPropertyChanged(name) {
24743
+ super.onPropertyChanged(name);
24744
+ if (name === "tags") {
24745
+ this.setupTags();
24746
+ }
24747
+ }
24748
+ setupTags() {
24749
+ const doc = this.editorDocument;
24750
+ if (!doc) {
24751
+ return;
24752
+ }
24753
+ if (Array.isArray(this.tags)) {
24754
+ for (const {
24755
+ name,
24756
+ style
24757
+ } of this.tags) {
24758
+ if (style) {
24759
+ const styleElement = doc.createElement("style");
24760
+ styleElement.textContent = `*[data-command=${name}] {
24761
+ ${style.toStyleSheet()}
24762
+ }`;
24763
+ doc.head.appendChild(styleElement);
24764
+ }
24765
+ }
24766
+ }
24767
+ }
24768
+ preCreate() {
24769
+ this.version = 1;
24770
+ this.files = [];
24771
+ this.runAfterInit(() => {
24772
+ this.setup();
24491
24773
  });
24774
+ this.element.classList.add(css);
24775
+ this.element.classList.add("html-editor");
24492
24776
  }
24493
- filesAvailable({
24494
- files,
24495
- extra
24496
- }) {
24497
- return __awaiter(this, void 0, void 0, function* () {
24498
- this.close(files);
24777
+ onPasteEvent(e) {
24778
+ if (!e.clipboardData.types.find(x => x === "text/html")) {
24779
+ return;
24780
+ }
24781
+ const d = e.clipboardData.getData("text/plain");
24782
+ if (d) {
24783
+ const s = window.getSelection();
24784
+ const r = s.getRangeAt(0);
24785
+ let last;
24786
+ const tags = [];
24787
+ for (const iterator of d.split("\n")) {
24788
+ const text = iterator.trim();
24789
+ if (!text) {
24790
+ continue;
24791
+ }
24792
+ last = document.createElement("p");
24793
+ last.innerText = iterator;
24794
+ tags.push(last);
24795
+ }
24796
+ while (tags.length) {
24797
+ r.insertNode(tags.pop());
24798
+ }
24799
+ r.setStartAfter(last);
24800
+ }
24801
+ e.preventDefault();
24802
+ }
24803
+ onInputEvent(e) {
24804
+ console.log(e);
24805
+ }
24806
+ setup() {
24807
+ var _a;
24808
+ const frame = this.element.getElementsByTagName("iframe")[0];
24809
+ const doc = frame.contentWindow.document;
24810
+ doc.open();
24811
+ const baseUrl = `${location.protocol}//${location.host}`;
24812
+ doc.writeln(`<base href="${baseUrl}"></base><div id="editor"><p>&nbsp;</p></div>`);
24813
+ doc.close();
24814
+ const style = doc.createElement("style");
24815
+ style.textContent = `body {
24816
+ font-family: arial,sans-serif
24817
+ }
24818
+ #editor {
24819
+ min-height: 500px;
24820
+ }
24821
+ *[data-prompt] {
24822
+ background: yellow
24823
+ }
24824
+ `;
24825
+ doc.head.appendChild(style);
24826
+ doc.body.addEventListener("click", e => preventLinkClick(e, this.element, doc));
24827
+ this.editor = doc.getElementById("editor");
24828
+ this.editor.contentEditable = "true";
24829
+ this.editor.innerHTML = (_a = this.initialContent) !== null && _a !== void 0 ? _a : "";
24830
+ doc.execCommand("styleWithCSS");
24831
+ doc.execCommand("insertBrOnReturn");
24832
+ const updateVersion = () => setTimeout(() => {
24833
+ this.version++;
24834
+ AtomBinder.refreshValue(this, "htmlContent");
24835
+ this.element.dispatchEvent(new CustomEvent("documentUpdated", {
24836
+ detail: this.editor
24837
+ }));
24838
+ this.documentUpdated(this.editor);
24839
+ }, 1);
24840
+ this.editor.addEventListener("click", updateVersion);
24841
+ this.editor.addEventListener("keydown", updateVersion);
24842
+ this.editor.addEventListener("keypress", updateVersion);
24843
+ this.editor.addEventListener("input", updateVersion);
24844
+ this.editorWindow = frame.contentWindow;
24845
+ this.editorDocument = doc;
24846
+ updateVersion();
24847
+ this.documentCreated(this.editor);
24848
+ this.element.dispatchEvent(new CustomEvent("documentCreated", {
24849
+ detail: this.editor
24850
+ }));
24851
+ this.registerDisposable({
24852
+ dispose: () => {
24853
+ this.editor.removeEventListener("click", updateVersion);
24854
+ this.editor.removeEventListener("keydown", updateVersion);
24855
+ this.editor.removeEventListener("keypress", updateVersion);
24856
+ this.editor.removeEventListener("input", updateVersion);
24857
+ }
24858
+ });
24859
+ this.bindEvent(this.element, "editorClick", ce => {
24860
+ var _a, _b;
24861
+ const {
24862
+ detail: {
24863
+ data,
24864
+ target
24865
+ }
24866
+ } = ce;
24867
+ if (data.prompt) {
24868
+ const element = target;
24869
+ const result = prompt("Enter " + ((_a = data.promptTitle) !== null && _a !== void 0 ? _a : data.prompt), data.promptDefault);
24870
+ if (result) {
24871
+ const replace = ((_b = data.replace) !== null && _b !== void 0 ? _b : "textContent").split(",").map(x => x.trim());
24872
+ for (const iterator of replace) {
24873
+ const template = element.getAttribute("data-" + iterator + "-template") || element.getAttribute("data-template");
24874
+ if (template) {
24875
+ element[iterator] = template.replace(data.prompt, result);
24876
+ } else {
24877
+ element[iterator] = result;
24878
+ }
24879
+ }
24880
+ }
24881
+ return;
24882
+ }
24883
+ if (this.tags) {
24884
+ for (const {
24885
+ name,
24886
+ handler
24887
+ } of this.tags) {
24888
+ if (name === data.command || name === data.clickEvent) {
24889
+ handler(ce);
24890
+ }
24891
+ }
24892
+ }
24499
24893
  });
24894
+ this.setupTags();
24895
+ }
24896
+ documentCreated(e) {}
24897
+ documentUpdated(e) {}
24898
+ render(node, e, creator) {
24899
+ this.render = super.render;
24900
+ if (!node.children || node.children.length === 0) {
24901
+ node.children[0] = XNode.create(Toolbar, null, XNode.create(Bold, null), XNode.create(Italic, null), XNode.create(Underline, null), XNode.create(StrikeThrough, null), XNode.create(Align, null), XNode.create(Separator, null), XNode.create(Headings, null), XNode.create(ChangeColor, null), XNode.create(HorizontalRule, null), XNode.create(Separator, null), XNode.create(ChangeFont, null), XNode.create(ChangeFontSize, null), XNode.create(Separator, null), XNode.create(NumberedList, null), XNode.create(UnorderedList, null), XNode.create(IndentLess, null), XNode.create(IndentMore, null), XNode.create(Separator, null), XNode.create(AddImage, null), XNode.create(AttachFile, null), XNode.create(Separator, null), XNode.create(AddLink, null), XNode.create(Unlink, null), XNode.create(RemoveFormat, null), XNode.create(Separator, null), XNode.create(Source, null));
24902
+ }
24903
+ super.render(XNode.create("div", Object.assign({}, node.attributes), ...node.children, XNode.create(AtomRepeater, {
24904
+ class: "files",
24905
+ "event-item-delete": ce => this.files.remove(ce.detail),
24906
+ items: Bind.oneWay(() => this.files),
24907
+ itemRenderer: file => XNode.create("div", {
24908
+ class: "file"
24909
+ }, XNode.create("i", {
24910
+ class: "ri-attachment-2"
24911
+ }), XNode.create("label", {
24912
+ text: file.name
24913
+ }), XNode.create("i", {
24914
+ "data-click-event": "item-delete",
24915
+ class: "ri-close-circle-fill"
24916
+ }))
24917
+ }), XNode.create("iframe", {
24918
+ class: "editor-frame"
24919
+ })));
24500
24920
  }
24501
24921
  });
24502
- __decorate([Action({
24503
- onEvent: "filesAvailable"
24504
- }), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise)], SendFiles.prototype, "filesAvailable", null);
24922
+ __decorate([BindableProperty, __metadata("design:type", String)], AtomHtmlEditor.prototype, "content", void 0);
24923
+ __decorate([BindableProperty, __metadata("design:type", Array)], AtomHtmlEditor.prototype, "header", void 0);
24924
+ __decorate([BindableProperty, __metadata("design:type", Number)], AtomHtmlEditor.prototype, "version", void 0);
24925
+ __decorate([BindableProperty, __metadata("design:type", Array)], AtomHtmlEditor.prototype, "files", void 0);
24926
+ __decorate([BindableProperty, __metadata("design:type", Array)], AtomHtmlEditor.prototype, "tags", void 0);
24505
24927
  }
24506
24928
  };
24507
24929
  });
24508
- //# sourceMappingURL=SendFiles.js.map
24930
+ //# sourceMappingURL=AtomHtmlEditor.js.map
24509
24931
 
24510
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/mini-compose/SendFiles");
24932
+ AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/AtomHtmlEditor");
24511
24933
 
24512
- System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/style/styled", "@web-atoms/core/dist/web/controls/AtomControl", "../../../../model/model", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/view-model/Action", "../../../../common/controls/audio/AudioRecorder", "../service/ConversationService", "@web-atoms/web-controls/dist/basic/AtomRepeater", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/core/AtomBinder", "../../../../common/events/CommonEvents", "../service/MailService", "@web-atoms/date-time/dist/DateTime", "./SendFiles", "@web-atoms/core/dist/core/sleep"], function (_export, _context) {
24934
+ System.register(["@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/basic/PopupButton", "@web-atoms/web-controls/dist/basic/UploadEvent"], function (_export, _context) {
24513
24935
  "use strict";
24514
24936
 
24515
- var __awaiter, __decorate, __metadata, XNode, styled, AtomControl, AppFile, Email, Bind, Action, AudioRecorder, ConversationService, AtomRepeater, InjectProperty, AtomBinder, CommonEvents, MailService, DateTime, SendFiles, sleep, MiniComposeBox, css;
24937
+ var Bind, XNode, PopupButton, MenuItem, UploadEvent;
24938
+ function Insert({
24939
+ alignment = "above"
24940
+ }) {
24941
+ return XNode.create(PopupButton, {
24942
+ class: "command",
24943
+ "data-layout": "toolbar-button",
24944
+ icon: "fas fa-plus",
24945
+ title: "Change Alignment",
24946
+ alignment: alignment
24947
+ }, XNode.create(MenuItem, {
24948
+ icon: "ri-list-unordered",
24949
+ label: "List",
24950
+ "event-click": Bind.event(editor => editor.executeCommand("insertUnorderedList"))
24951
+ }), XNode.create(MenuItem, {
24952
+ icon: "ri-list-ordered",
24953
+ label: "Numbered List",
24954
+ "event-click": Bind.event(editor => editor.executeCommand("insertOrderedList"))
24955
+ }), XNode.create(MenuItem, Object.assign({}, UploadEvent.AttachUploadAction({
24956
+ accept: "image/*",
24957
+ multiple: true,
24958
+ extra: {}
24959
+ }), {
24960
+ "data-click-event": "send-photos",
24961
+ icon: "fas fa-image",
24962
+ label: "Add Photos"
24963
+ })), XNode.create(MenuItem, Object.assign({}, UploadEvent.AttachUploadAction({
24964
+ accept: "image/*",
24965
+ capture: "user",
24966
+ extra: {}
24967
+ }), {
24968
+ "data-click-event": "take-photo",
24969
+ icon: "fa-duotone fa-camera-retro",
24970
+ label: "Take Photo"
24971
+ })), XNode.create(MenuItem, Object.assign({}, UploadEvent.AttachUploadAction({
24972
+ accept: "video/*",
24973
+ multiple: false,
24974
+ extra: {}
24975
+ }), {
24976
+ "data-click-event": "send-video",
24977
+ icon: "fas fa-file-video",
24978
+ label: "Add Video"
24979
+ })), XNode.create(MenuItem, Object.assign({}, UploadEvent.AttachUploadAction({
24980
+ accept: "video/*",
24981
+ capture: "user",
24982
+ extra: {}
24983
+ }), {
24984
+ "data-click-event": "record-video",
24985
+ icon: "fa-duotone fa-video-plus",
24986
+ label: "Record Video"
24987
+ })));
24988
+ }
24989
+ _export("default", Insert);
24990
+ return {
24991
+ setters: [function (_webAtomsCoreDistCoreBind) {
24992
+ Bind = _webAtomsCoreDistCoreBind.default;
24993
+ }, function (_webAtomsCoreDistCoreXNode) {
24994
+ XNode = _webAtomsCoreDistCoreXNode.default;
24995
+ }, function (_webAtomsWebControlsDistBasicPopupButton) {
24996
+ PopupButton = _webAtomsWebControlsDistBasicPopupButton.default;
24997
+ MenuItem = _webAtomsWebControlsDistBasicPopupButton.MenuItem;
24998
+ }, function (_webAtomsWebControlsDistBasicUploadEvent) {
24999
+ UploadEvent = _webAtomsWebControlsDistBasicUploadEvent.default;
25000
+ }],
25001
+ execute: function () {}
25002
+ };
25003
+ });
25004
+ //# sourceMappingURL=Insert.js.map
25005
+
25006
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/mini-compose/Insert");
25007
+
25008
+ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/style/styled", "@web-atoms/core/dist/web/controls/AtomControl", "../../../../model/model", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/view-model/Action", "../../../../common/controls/audio/AudioRecorder", "../service/ConversationService", "@web-atoms/web-controls/dist/basic/AtomRepeater", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/core/AtomBinder", "../../../../common/events/CommonEvents", "../service/MailService", "@web-atoms/date-time/dist/DateTime", "@web-atoms/core/dist/core/sleep", "../../../../common/controls/html/InlineHtmlEditorWithToolbar", "@web-atoms/web-controls/dist/html-editor/AtomHtmlEditor", "@web-atoms/web-controls/dist/html-editor/commands/Align", "@web-atoms/web-controls/dist/html-editor/commands/Bold", "@web-atoms/web-controls/dist/html-editor/commands/Italic", "@web-atoms/web-controls/dist/html-editor/commands/StrikeThrough", "@web-atoms/web-controls/dist/html-editor/commands/Underline", "@web-atoms/web-controls/dist/html-editor/commands/AddLink", "@web-atoms/web-controls/dist/html-editor/commands/Unlink", "@web-atoms/web-controls/dist/html-editor/commands/Separator", "./Insert", "@web-atoms/date-time/dist/TimeSpan"], function (_export, _context) {
25009
+ "use strict";
25010
+
25011
+ var __awaiter, __decorate, __metadata, XNode, styled, AtomControl, AppFile, Email, Bind, Action, AudioRecorder, ConversationService, AtomRepeater, InjectProperty, AtomBinder, CommonEvents, MailService, DateTime, sleep, MailHtmlEditor, Toolbar, Align, Bold, Italic, StrikeThrough, Underline, AddLink, Unlink, Separator, Insert, TimeSpan, MiniComposeBox, css;
24516
25012
  _export("default", void 0);
24517
25013
  return {
24518
25014
  setters: [function (_tslib) {
@@ -24548,10 +25044,32 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/di
24548
25044
  MailService = _serviceMailService.default;
24549
25045
  }, function (_webAtomsDateTimeDistDateTime) {
24550
25046
  DateTime = _webAtomsDateTimeDistDateTime.default;
24551
- }, function (_SendFiles) {
24552
- SendFiles = _SendFiles.default;
24553
25047
  }, function (_webAtomsCoreDistCoreSleep) {
24554
25048
  sleep = _webAtomsCoreDistCoreSleep.default;
25049
+ }, function (_commonControlsHtmlInlineHtmlEditorWithToolbar) {
25050
+ MailHtmlEditor = _commonControlsHtmlInlineHtmlEditorWithToolbar.MailHtmlEditor;
25051
+ }, function (_webAtomsWebControlsDistHtmlEditorAtomHtmlEditor) {
25052
+ Toolbar = _webAtomsWebControlsDistHtmlEditorAtomHtmlEditor.Toolbar;
25053
+ }, function (_webAtomsWebControlsDistHtmlEditorCommandsAlign) {
25054
+ Align = _webAtomsWebControlsDistHtmlEditorCommandsAlign.default;
25055
+ }, function (_webAtomsWebControlsDistHtmlEditorCommandsBold) {
25056
+ Bold = _webAtomsWebControlsDistHtmlEditorCommandsBold.default;
25057
+ }, function (_webAtomsWebControlsDistHtmlEditorCommandsItalic) {
25058
+ Italic = _webAtomsWebControlsDistHtmlEditorCommandsItalic.default;
25059
+ }, function (_webAtomsWebControlsDistHtmlEditorCommandsStrikeThrough) {
25060
+ StrikeThrough = _webAtomsWebControlsDistHtmlEditorCommandsStrikeThrough.default;
25061
+ }, function (_webAtomsWebControlsDistHtmlEditorCommandsUnderline) {
25062
+ Underline = _webAtomsWebControlsDistHtmlEditorCommandsUnderline.default;
25063
+ }, function (_webAtomsWebControlsDistHtmlEditorCommandsAddLink) {
25064
+ AddLink = _webAtomsWebControlsDistHtmlEditorCommandsAddLink.default;
25065
+ }, function (_webAtomsWebControlsDistHtmlEditorCommandsUnlink) {
25066
+ Unlink = _webAtomsWebControlsDistHtmlEditorCommandsUnlink.default;
25067
+ }, function (_webAtomsWebControlsDistHtmlEditorCommandsSeparator) {
25068
+ Separator = _webAtomsWebControlsDistHtmlEditorCommandsSeparator.default;
25069
+ }, function (_Insert) {
25070
+ Insert = _Insert.default;
25071
+ }, function (_webAtomsDateTimeDistTimeSpan) {
25072
+ TimeSpan = _webAtomsDateTimeDistTimeSpan.default;
24555
25073
  }],
24556
25074
  execute: function () {
24557
25075
  css = styled.css`
@@ -24574,11 +25092,12 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/di
24574
25092
  grid-row: 2;
24575
25093
  grid-column: 3;
24576
25094
  border-radius: 10px;
25095
+ place-self: center;
24577
25096
  }
24578
25097
 
24579
25098
  & > [data-element=editor] {
24580
25099
  grid-row: 2;
24581
- grid-column: 2;
25100
+ grid-column: 1 / span 2;
24582
25101
  margin-left: 5px;
24583
25102
  margin-right: 5px;
24584
25103
  }
@@ -24593,26 +25112,29 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/di
24593
25112
  this.mailboxContact = null;
24594
25113
  this.draft = null;
24595
25114
  this.typedMessage = "";
25115
+ this.active = false;
24596
25116
  this.element.className = css;
24597
25117
  this.app.runAsync(() => this.init());
24598
25118
  }
24599
25119
  init() {
24600
- var _a;
24601
- var _b;
25120
+ var _a, _b, _c;
25121
+ var _d;
24602
25122
  return __awaiter(this, void 0, void 0, function* () {
24603
25123
  yield sleep(100);
24604
- this.draft = yield this.conversationService.getDraft(this.mailboxContact);
25124
+ this.draft = (_a = yield this.conversationService.getDraft(this.mailboxContact)) === null || _a === void 0 ? void 0 : _a.email;
24605
25125
  if (this.draft) {
24606
- (_a = (_b = this.draft).attachments) !== null && _a !== void 0 ? _a : _b.attachments = [];
24607
- }
24608
- this.render(XNode.create("div", null, XNode.create("i", {
24609
- "data-click-event": "add-media",
24610
- "data-element": "add",
24611
- class: "fa-solid fa-plus",
24612
- title: "Attach media"
24613
- }), XNode.create("textarea", {
25126
+ (_b = (_d = this.draft).attachments) !== null && _b !== void 0 ? _b : _d.attachments = [];
25127
+ }
25128
+ this.typedMessage = ((_c = this.draft) === null || _c === void 0 ? void 0 : _c.htmlBody) ? this.draft.htmlBody : `<div contentEditable="true" style="background-color: white; color: black;"><p>&nbsp;</br></p></div>`;
25129
+ this.render(XNode.create("div", null, XNode.create(MailHtmlEditor, {
25130
+ toolbar: () => XNode.create("div", null, XNode.create(Toolbar, null, XNode.create(Insert, null), XNode.create(Separator, null), XNode.create(Bold, null), XNode.create(Italic, null), XNode.create(Underline, null), XNode.create(StrikeThrough, null), XNode.create(Align, {
25131
+ alignment: "above"
25132
+ }), XNode.create(Separator, null), XNode.create(AddLink, null), XNode.create(Unlink, null), XNode.create(Separator, null))),
24614
25133
  "data-element": "editor",
24615
- value: Bind.twoWaysImmediate(() => this.typedMessage)
25134
+ "data-html-editor": "email-editor",
25135
+ presenter: Bind.presenter(c => this.editor = c),
25136
+ content: `<div contentEditable="true" style="background-color: white; color: black;">${this.typedMessage}</div>`,
25137
+ "style-min-height": "50px"
24616
25138
  }), XNode.create("i", {
24617
25139
  "data-element": "send",
24618
25140
  class: "fa-solid fa-microphone-lines mic",
@@ -24629,7 +25151,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/di
24629
25151
  var _a;
24630
25152
  return (_a = this.draft) === null || _a === void 0 ? void 0 : _a.attachments;
24631
25153
  }),
24632
- "style-display": Bind.oneWay(() => this.draft && this.draft.attachments && this.draft.attachments.length > 0),
25154
+ "style-display": Bind.oneWay(() => this.draft && this.draft.attachments && this.draft.attachments.length > 0, false),
24633
25155
  "data-layout": "flex-wrap-padding",
24634
25156
  itemRenderer: item => XNode.create("div", {
24635
25157
  "data-layout": "icon-button"
@@ -24644,13 +25166,11 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/di
24644
25166
  })));
24645
25167
  });
24646
25168
  }
24647
- addMedia() {
24648
- var _a;
25169
+ filesAvailable({
25170
+ files,
25171
+ extra
25172
+ }) {
24649
25173
  return __awaiter(this, void 0, void 0, function* () {
24650
- const files = yield SendFiles.showModal({});
24651
- (_a = this.draft) !== null && _a !== void 0 ? _a : this.draft = Email.create({
24652
- attachments: []
24653
- });
24654
25174
  this.addFiles(...files);
24655
25175
  });
24656
25176
  }
@@ -24670,25 +25190,41 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/di
24670
25190
  });
24671
25191
  }
24672
25192
  onChanged() {
24673
- var _a;
25193
+ var _a, _b;
24674
25194
  return __awaiter(this, void 0, void 0, function* () {
24675
- if (!this.typedMessage) {
25195
+ if (!((_a = this.editor) === null || _a === void 0 ? void 0 : _a.htmlTextContent)) {
24676
25196
  return;
24677
25197
  }
24678
- (_a = this.draft) !== null && _a !== void 0 ? _a : this.draft = Email.create({
25198
+ (_b = this.draft) !== null && _b !== void 0 ? _b : this.draft = Email.create({
24679
25199
  attachments: []
24680
25200
  });
24681
- this.draft.mdBody = this.typedMessage;
25201
+ const {
25202
+ html,
25203
+ text
25204
+ } = this.editor.htmlTextContent;
25205
+ this.draft.htmlBody = html;
25206
+ this.draft.textBody = text;
24682
25207
  yield this.save();
24683
25208
  });
24684
25209
  }
25210
+ onEmailUnscheduled(mce) {
25211
+ return __awaiter(this, void 0, void 0, function* () {
25212
+ this.draft = mce.email;
25213
+ });
25214
+ }
24685
25215
  sendEmail() {
24686
- var _a;
25216
+ var _a, _b, _c, _d;
24687
25217
  return __awaiter(this, void 0, void 0, function* () {
25218
+ if (!((_a = this.draft) === null || _a === void 0 ? void 0 : _a.textBody)) {
25219
+ if (!((_c = (_b = this.draft) === null || _b === void 0 ? void 0 : _b.attachments) === null || _c === void 0 ? void 0 : _c.length)) {
25220
+ alert("Cannot send empty email");
25221
+ return;
25222
+ }
25223
+ }
24688
25224
  this.draft.status = "scheduled";
24689
- this.draft.dateSent = DateTime.now;
25225
+ this.draft.dateSent = DateTime.now.add(TimeSpan.fromSeconds(30));
24690
25226
  yield this.mailService.send(this.draft);
24691
- (_a = this.draft) !== null && _a !== void 0 ? _a : this.draft = Email.create({
25227
+ (_d = this.draft) !== null && _d !== void 0 ? _d : this.draft = Email.create({
24692
25228
  attachments: []
24693
25229
  });
24694
25230
  });
@@ -24735,8 +25271,8 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/di
24735
25271
  __decorate([InjectProperty, __metadata("design:type", ConversationService)], MiniComposeBox.prototype, "conversationService", void 0);
24736
25272
  __decorate([InjectProperty, __metadata("design:type", MailService)], MiniComposeBox.prototype, "mailService", void 0);
24737
25273
  __decorate([Action({
24738
- onEvent: "add-media"
24739
- }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], MiniComposeBox.prototype, "addMedia", null);
25274
+ onEvent: "filesAvailable"
25275
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise)], MiniComposeBox.prototype, "filesAvailable", null);
24740
25276
  __decorate([Action({
24741
25277
  onEvent: "delete-attachment",
24742
25278
  confirm: "Are you sure you want to delete this attachment?"
@@ -24749,6 +25285,9 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/di
24749
25285
  defer: 500,
24750
25286
  blockMultipleExecution: true
24751
25287
  }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], MiniComposeBox.prototype, "onChanged", null);
25288
+ __decorate([Action({
25289
+ onEvent: CommonEvents.onEmailUnscheduled
25290
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise)], MiniComposeBox.prototype, "onEmailUnscheduled", null);
24752
25291
  __decorate([Action({
24753
25292
  onEvent: "send-email"
24754
25293
  }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], MiniComposeBox.prototype, "sendEmail", null);
@@ -24760,10 +25299,10 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/di
24760
25299
 
24761
25300
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/mini-compose/MiniComposeBox");
24762
25301
 
24763
- 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/web-controls/dist/basic/InlinePopupControl", "@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", "../../../common/date/DateFormats", "@web-atoms/web-controls/dist/basic/PopupButton", "../../../common/pages/logs/LogsPage", "../../../common/SocialMailApp", "./detail/MailDetailPage", "../../../common/controls/file-preview/FilePreview", "./mini-compose/MiniComposeBox", "@web-atoms/core/dist/web/core/AtomUI"], function (_export, _context) {
25302
+ 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/web-controls/dist/basic/InlinePopupControl", "@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", "../../../common/date/DateFormats", "@web-atoms/web-controls/dist/basic/PopupButton", "../../../common/pages/logs/LogsPage", "../../../common/SocialMailApp", "./detail/MailDetailPage", "../../../common/controls/file-preview/FilePreview", "./mini-compose/MiniComposeBox", "@web-atoms/core/dist/web/core/AtomUI", "../../../common/events/CommonEvents", "@web-atoms/date-time/dist/DateTime"], function (_export, _context) {
24764
25303
  "use strict";
24765
25304
 
24766
- var __awaiter, __decorate, __metadata, ContentPage, isMobileView, Email, EmailRecipient, XNode, AtomRepeater, InfiniteRepeater, ConversationService, renderMail, InjectProperty, InlinePopupControl, Bind, styled, Action, PageNavigator, ComposeMailPage, MailboxSocket, LimitedText, DateFormats, MenuItem, PopupActionButton, LogsPage, SocialMailApp, MailDetailPage, FilePreview, MiniComposeBox, AncestorEnumerator, ConversationPage, itemCss, css, id, fixLinks;
25305
+ var __awaiter, __decorate, __metadata, ContentPage, isMobileView, Email, EmailRecipient, MailboxContactEmail, XNode, AtomRepeater, InfiniteRepeater, ConversationService, renderMail, InjectProperty, InlinePopupControl, Bind, styled, Action, PageNavigator, ComposeMailPage, MailboxSocket, LimitedText, DateFormats, MenuItem, PopupActionButton, LogsPage, SocialMailApp, MailDetailPage, FilePreview, MiniComposeBox, AncestorEnumerator, CommonEvents, DateTime, ConversationPage, itemCss, css, id, fixLinks;
24767
25306
  _export("default", void 0);
24768
25307
  return {
24769
25308
  setters: [function (_tslib) {
@@ -24776,6 +25315,7 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
24776
25315
  }, function (_modelModel) {
24777
25316
  Email = _modelModel.Email;
24778
25317
  EmailRecipient = _modelModel.EmailRecipient;
25318
+ MailboxContactEmail = _modelModel.MailboxContactEmail;
24779
25319
  }, function (_webAtomsCoreDistCoreXNode) {
24780
25320
  XNode = _webAtomsCoreDistCoreXNode.default;
24781
25321
  }, function (_webAtomsWebControlsDistBasicAtomRepeater) {
@@ -24820,6 +25360,10 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
24820
25360
  MiniComposeBox = _miniComposeMiniComposeBox.default;
24821
25361
  }, function (_webAtomsCoreDistWebCoreAtomUI) {
24822
25362
  AncestorEnumerator = _webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator;
25363
+ }, function (_commonEventsCommonEvents) {
25364
+ CommonEvents = _commonEventsCommonEvents.CommonEvents;
25365
+ }, function (_webAtomsDateTimeDistDateTime) {
25366
+ DateTime = _webAtomsDateTimeDistDateTime.default;
24823
25367
  }],
24824
25368
  execute: function () {
24825
25369
  itemCss = styled.css`
@@ -24905,6 +25449,7 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
24905
25449
  this.renderer = XNode.create("div", null, XNode.create(AtomRepeater, Object.assign({
24906
25450
  "data-layout": "vertical-flex",
24907
25451
  style: "flex-direction: column-reverse",
25452
+ presenter: Bind.presenter(c => this.mailsRepeater = c),
24908
25453
  items: this.mails
24909
25454
  }, InfiniteRepeater.pagedItems(start => (c, e, cancelToken) => this.conversationService.list({
24910
25455
  start,
@@ -24916,10 +25461,15 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
24916
25461
  cancelToken
24917
25462
  })), {
24918
25463
  itemRenderer: thread => {
24919
- var _a, _b, _c, _d, _e;
25464
+ var _a, _b, _c, _d, _e, _f;
24920
25465
  const item = thread.email;
24921
25466
  const internalDate = (_b = (_a = item.dateSent) !== null && _a !== void 0 ? _a : item.dateReceived) !== null && _b !== void 0 ? _b : item.dateCreated;
24922
25467
  const sent = item.senderID === thread.mailboxID;
25468
+ const remaining = DateTime.from((_c = item.dateSent) !== null && _c !== void 0 ? _c : DateTime.today).diff(DateTime.now);
25469
+ const isSending = thread.email.status === "scheduled" && remaining.totalSeconds > 3;
25470
+ if (remaining.totalSeconds > 0) {
25471
+ setTimeout(() => this.mailsRepeater.refreshItem(thread), 2000);
25472
+ }
24923
25473
  return XNode.create("div", {
24924
25474
  class: itemCss,
24925
25475
  "data-sent": sent
@@ -24930,8 +25480,8 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
24930
25480
  text: item.subject
24931
25481
  }), item.received ? XNode.create("div", null) : item.userID !== SocialMailApp.user.userID && XNode.create("div", {
24932
25482
  "style-max-width": "20ch",
24933
- title: (_c = item.senderUser) === null || _c === void 0 ? void 0 : _c.displayName,
24934
- text: (_d = item.senderUser) === null || _d === void 0 ? void 0 : _d.displayName
25483
+ title: (_d = item.senderUser) === null || _d === void 0 ? void 0 : _d.displayName,
25484
+ text: (_e = item.senderUser) === null || _e === void 0 ? void 0 : _e.displayName
24935
25485
  }), XNode.create("div", {
24936
25486
  text: DateFormats.relative.short(internalDate),
24937
25487
  title: DateFormats.withWeekDayAndTime(internalDate)
@@ -24943,7 +25493,7 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
24943
25493
  height: "40vh"
24944
25494
  }, XNode.create("div", Object.assign({
24945
25495
  class: "message"
24946
- }, renderMail(thread)))), ((_e = item.attachments) === null || _e === void 0 ? void 0 : _e.length) && XNode.create("div", {
25496
+ }, renderMail(thread)))), ((_f = item.attachments) === null || _f === void 0 ? void 0 : _f.length) && XNode.create("div", {
24947
25497
  class: "attachments",
24948
25498
  "data-layout": "flex-wrap-padding"
24949
25499
  }, ...item.attachments.map(FilePreview)), thread.email.tags && XNode.create("div", {
@@ -24959,7 +25509,18 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
24959
25509
  }), XNode.create("i", {
24960
25510
  "data-click-event": "reply-all-email",
24961
25511
  class: "fa-solid fa-reply-all"
24962
- })));
25512
+ })), isSending && XNode.create("div", {
25513
+ "data-layout": "command-row",
25514
+ "style-padding-left": "20px"
25515
+ }, XNode.create("span", {
25516
+ text: `Sending in (${Math.ceil(remaining.totalSeconds)} sec) `
25517
+ }), XNode.create("button", {
25518
+ "data-click-event": "stop-email",
25519
+ "data-layout": "stop-icon-button",
25520
+ "style-margin-left": "20px"
25521
+ }, XNode.create("i", {
25522
+ class: "fas fa-stop"
25523
+ }), "Stop")));
24963
25524
  }
24964
25525
  })));
24965
25526
  this.actionRenderer = () => XNode.create(PopupActionButton, {
@@ -25028,6 +25589,29 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
25028
25589
  });
25029
25590
  });
25030
25591
  }
25592
+ onEmailScheduled(email) {
25593
+ if (email.senderID !== this.parameters.mailboxID) {
25594
+ return;
25595
+ }
25596
+ const {
25597
+ emailID
25598
+ } = email;
25599
+ const {
25600
+ emailAddressID,
25601
+ mailboxID
25602
+ } = this.parameters;
25603
+ this.mails.insert(0, MailboxContactEmail.create({
25604
+ emailID,
25605
+ emailAddressID,
25606
+ mailboxID,
25607
+ email
25608
+ }));
25609
+ }
25610
+ stopEmail(thread) {
25611
+ return __awaiter(this, void 0, void 0, function* () {
25612
+ yield this.conversationService.stopEmail(thread);
25613
+ });
25614
+ }
25031
25615
  mailOptions(thread, ce) {
25032
25616
  var _a;
25033
25617
  return __awaiter(this, void 0, void 0, function* () {
@@ -25128,6 +25712,12 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
25128
25712
  __decorate([Action({
25129
25713
  onEvent: "click"
25130
25714
  }), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, PointerEvent]), __metadata("design:returntype", Promise)], ConversationPage.prototype, "onClick", null);
25715
+ __decorate([Action({
25716
+ onEvent: CommonEvents.onEmailScheduled
25717
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0)], ConversationPage.prototype, "onEmailScheduled", null);
25718
+ __decorate([Action({
25719
+ onEvent: "stop-email"
25720
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise)], ConversationPage.prototype, "stopEmail", null);
25131
25721
  __decorate([Action({
25132
25722
  onEvent: "mail-options"
25133
25723
  }), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, CustomEvent]), __metadata("design:returntype", Promise)], ConversationPage.prototype, "mailOptions", null);