@social-mail/social-mail-client 1.2.545 → 1.2.547

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 (103) hide show
  1. package/component.js +25 -3
  2. package/content/images/gif/loader.gif +0 -0
  3. package/content/images/svg/logo/logo-orange.svg +57 -0
  4. package/dist/admin/AdminAppIndex.pack.js +119 -16
  5. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  6. package/dist/admin/AdminAppIndex.pack.min.js +4 -4
  7. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  8. package/dist/common/controls/Loader.d.ts.map +1 -1
  9. package/dist/common/controls/Loader.js +6 -4
  10. package/dist/common/controls/Loader.js.map +1 -1
  11. package/dist/common/fileUrl.d.ts.map +1 -1
  12. package/dist/common/fileUrl.js +1 -1
  13. package/dist/common/fileUrl.js.map +1 -1
  14. package/dist/model/model.d.ts +18 -0
  15. package/dist/model/model.d.ts.map +1 -1
  16. package/dist/model/model.js +89 -1
  17. package/dist/model/model.js.map +1 -1
  18. package/dist/public/channel/BlogImageService.d.ts +7 -0
  19. package/dist/public/channel/BlogImageService.d.ts.map +1 -0
  20. package/dist/public/channel/BlogImageService.js +57 -0
  21. package/dist/public/channel/BlogImageService.js.map +1 -0
  22. package/dist/public/channel/BlogService.js +1 -1
  23. package/dist/public/channel/BlogService.js.map +1 -1
  24. package/dist/public/channel/ChannelMessage.d.ts +1 -0
  25. package/dist/public/channel/ChannelMessage.d.ts.map +1 -1
  26. package/dist/public/channel/ChannelMessage.js +15 -15
  27. package/dist/public/channel/ChannelMessage.js.map +1 -1
  28. package/dist/public/channel/ChannelMessageList.d.ts +1 -0
  29. package/dist/public/channel/ChannelMessageList.d.ts.map +1 -1
  30. package/dist/public/channel/ChannelMessageList.js +16 -21
  31. package/dist/public/channel/ChannelMessageList.js.map +1 -1
  32. package/dist/public/channel/ChannelView.pack.js +592 -134
  33. package/dist/public/channel/ChannelView.pack.js.map +1 -1
  34. package/dist/public/channel/ChannelView.pack.min.js +127 -40
  35. package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
  36. package/dist/public/channel/UrlService.d.ts +3 -1
  37. package/dist/public/channel/UrlService.d.ts.map +1 -1
  38. package/dist/public/channel/UrlService.js +21 -1
  39. package/dist/public/channel/UrlService.js.map +1 -1
  40. package/dist/public/channel/controls/BlogHeader.d.ts +6 -0
  41. package/dist/public/channel/controls/BlogHeader.d.ts.map +1 -0
  42. package/dist/public/channel/controls/BlogHeader.js +42 -0
  43. package/dist/public/channel/controls/BlogHeader.js.map +1 -0
  44. package/dist/public/channel/controls/BlogSideBar.d.ts +2 -0
  45. package/dist/public/channel/controls/BlogSideBar.d.ts.map +1 -0
  46. package/dist/public/channel/controls/BlogSideBar.js +20 -0
  47. package/dist/public/channel/controls/BlogSideBar.js.map +1 -0
  48. package/dist/public/channel/controls/PostList.d.ts +14 -0
  49. package/dist/public/channel/controls/PostList.d.ts.map +1 -0
  50. package/dist/public/channel/controls/PostList.js +113 -0
  51. package/dist/public/channel/controls/PostList.js.map +1 -0
  52. package/dist/public/channel/controls/RecentPosts.d.ts +8 -0
  53. package/dist/public/channel/controls/RecentPosts.d.ts.map +1 -0
  54. package/dist/public/channel/controls/RecentPosts.js +24 -0
  55. package/dist/public/channel/controls/RecentPosts.js.map +1 -0
  56. package/dist/public/channel/controls/TagCloud.d.ts.map +1 -1
  57. package/dist/public/channel/controls/TagCloud.js +42 -3
  58. package/dist/public/channel/controls/TagCloud.js.map +1 -1
  59. package/dist/public/channel/styles/channelViewStyle.d.ts +1 -1
  60. package/dist/public/channel/styles/channelViewStyle.d.ts.map +1 -1
  61. package/dist/public/channel/styles/channelViewStyle.js +56 -36
  62. package/dist/public/channel/styles/channelViewStyle.js.map +1 -1
  63. package/dist/public/preview/pdf/PreviewPDF.pack.js +1 -1
  64. package/dist/public/preview/pdf/PreviewPDF.pack.js.map +1 -1
  65. package/dist/public/preview/pdf/PreviewPDF.pack.min.js +1 -1
  66. package/dist/public/preview/pdf/PreviewPDF.pack.min.js.map +1 -1
  67. package/dist/public/store/Store.pack.js +90 -2
  68. package/dist/public/store/Store.pack.js.map +1 -1
  69. package/dist/public/store/Store.pack.min.js +2 -2
  70. package/dist/public/store/Store.pack.min.js.map +1 -1
  71. package/dist/public/store/cart/ShoppingCart.pack.js +96 -6
  72. package/dist/public/store/cart/ShoppingCart.pack.js.map +1 -1
  73. package/dist/public/store/cart/ShoppingCart.pack.min.js +2 -2
  74. package/dist/public/store/cart/ShoppingCart.pack.min.js.map +1 -1
  75. package/dist/tsconfig.tsbuildinfo +1 -1
  76. package/dist/web/AppIndex.pack.js +119 -16
  77. package/dist/web/AppIndex.pack.js.map +1 -1
  78. package/dist/web/AppIndex.pack.min.js +4 -4
  79. package/dist/web/AppIndex.pack.min.js.map +1 -1
  80. package/dist/web/page/mails/service/ConversationService.d.ts.map +1 -1
  81. package/dist/web/page/mails/service/ConversationService.js +22 -9
  82. package/dist/web/page/mails/service/ConversationService.js.map +1 -1
  83. package/package.json +1 -1
  84. package/src/common/controls/Loader.tsx +3 -1
  85. package/src/common/fileUrl.ts +2 -1
  86. package/src/model/model.ts +28 -4
  87. package/src/public/channel/BlogImageService.ts +37 -0
  88. package/src/public/channel/BlogService.ts +1 -1
  89. package/src/public/channel/ChannelMessage.tsx +12 -9
  90. package/src/public/channel/ChannelMessageList.tsx +14 -6
  91. package/src/public/channel/UrlService.ts +20 -1
  92. package/src/public/channel/controls/BlogHeader.tsx +29 -0
  93. package/src/public/channel/controls/BlogSideBar.tsx +10 -0
  94. package/src/public/channel/controls/PostList.tsx +104 -0
  95. package/src/public/channel/controls/RecentPosts.tsx +18 -0
  96. package/src/public/channel/controls/TagCloud.tsx +39 -0
  97. package/src/public/channel/styles/channelViewStyle.ts +54 -34
  98. package/src/web/page/mails/service/ConversationService.tsx +23 -8
  99. package/dist/public/channel/controls/PopularPost.d.ts +0 -1
  100. package/dist/public/channel/controls/PopularPost.d.ts.map +0 -1
  101. package/dist/public/channel/controls/PopularPost.js +0 -9
  102. package/dist/public/channel/controls/PopularPost.js.map +0 -1
  103. package/src/public/channel/controls/PopularPost.tsx +0 -59
@@ -1976,7 +1976,7 @@ const UMD = new UMDClass();
1976
1976
 
1977
1977
  AmdLoader.instance.register(
1978
1978
  ["@social-mail/social-mail-client","@web-atoms/core","reflect-metadata","@web-atoms/date-time","@web-atoms/entity","@web-atoms/web-controls","@web-atoms/email-dom","@web-atoms/data-styles"],
1979
- ["@social-mail/social-mail-client/dist/public/channel/ChannelView","@social-mail/social-mail-client/dist/public/channel/ChannelMessage","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/types","reflect-metadata","@web-atoms/core/dist/core/AtomMap","@web-atoms/core/dist/core/AtomComponent","@web-atoms/core/dist/App","@web-atoms/core/dist/core/AtomDispatcher","@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/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/ExpressionParser","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/Hacks","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/core/InheritedProperty","@web-atoms/core/dist/core/PropertyMap","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/EventScope","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan","@web-atoms/core/dist/core/Route","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/core/FormattedString","@web-atoms/core/dist/core/WebImage","@web-atoms/core/dist/web/styles/AtomStyle","@web-atoms/core/dist/web/styles/AtomStyleSheet","@social-mail/social-mail-client/dist/public/channel/BlogService","@web-atoms/core/dist/di/DISingleton","@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","@web-atoms/core/dist/style/styled","@social-mail/social-mail-client/dist/common/apiPath","@social-mail/social-mail-client/dist/model/model","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/services/email/EmailContentDownloader","@web-atoms/core/dist/services/FetchBuilder","@social-mail/social-mail-client/dist/web/page/mails/service/EngagementService","@social-mail/social-mail-client/dist/common/cache/CacheTTL","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/services/NavigationService","@web-atoms/core/dist/core/AtomUri","@web-atoms/core/dist/services/ReferenceService","@web-atoms/core/dist/web/services/PopupService","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/core/dist/core/sleep","@social-mail/social-mail-client/dist/public/channel/emoji/EmojiPopup","@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/AtomLoader","@web-atoms/core/dist/services/JsonService","@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/core/Colors","@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","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/styles/inline-popup-style","@social-mail/social-mail-client/dist/public/channel/styles/channelViewStyle","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/WatchProperty","@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/public/channel/PostView","@social-mail/social-mail-client/dist/common/date/DateFormats","@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService","@web-atoms/email-dom/dist/DomToString","@web-atoms/email-dom/dist/dom/StyleHelper","@web-atoms/email-dom/dist/style/mergeStyle","@social-mail/social-mail-client/dist/common/events/CommonEvents","@social-mail/social-mail-client/dist/web/commands/MailAppEvents","@social-mail/social-mail-client/dist/common/fileUrl","@social-mail/social-mail-client/dist/common/controls/buttons/CopyIcon","@social-mail/social-mail-client/dist/public/channel/ChannelMessageList","@web-atoms/web-controls/dist/basic/LimitedText","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/public/channel/UrlService","@social-mail/social-mail-client/dist/common/TestMode","@social-mail/social-mail-client/dist/style/GlobalStyle","@web-atoms/core/dist/core/AtomList","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@web-atoms/data-styles/data-styles","@web-atoms/core/dist/Pack"]);
1979
+ ["@social-mail/social-mail-client/dist/public/channel/ChannelView","@social-mail/social-mail-client/dist/public/channel/ChannelMessage","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/types","reflect-metadata","@web-atoms/core/dist/core/AtomMap","@web-atoms/core/dist/core/AtomComponent","@web-atoms/core/dist/App","@web-atoms/core/dist/core/AtomDispatcher","@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/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/ExpressionParser","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/Hacks","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/core/InheritedProperty","@web-atoms/core/dist/core/PropertyMap","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/EventScope","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan","@web-atoms/core/dist/core/Route","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/core/FormattedString","@web-atoms/core/dist/core/WebImage","@web-atoms/core/dist/web/styles/AtomStyle","@web-atoms/core/dist/web/styles/AtomStyleSheet","@social-mail/social-mail-client/dist/public/channel/BlogService","@web-atoms/core/dist/di/DISingleton","@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","@web-atoms/core/dist/style/styled","@social-mail/social-mail-client/dist/common/apiPath","@social-mail/social-mail-client/dist/model/model","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/services/email/EmailContentDownloader","@web-atoms/core/dist/services/FetchBuilder","@social-mail/social-mail-client/dist/web/page/mails/service/EngagementService","@social-mail/social-mail-client/dist/common/cache/CacheTTL","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/services/NavigationService","@web-atoms/core/dist/core/AtomUri","@web-atoms/core/dist/services/ReferenceService","@web-atoms/core/dist/web/services/PopupService","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/core/dist/core/sleep","@social-mail/social-mail-client/dist/public/channel/emoji/EmojiPopup","@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/AtomLoader","@web-atoms/core/dist/services/JsonService","@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/core/Colors","@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","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/styles/inline-popup-style","@social-mail/social-mail-client/dist/public/channel/styles/channelViewStyle","@social-mail/social-mail-client/dist/common/TestMode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/WatchProperty","@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/public/channel/PostView","@social-mail/social-mail-client/dist/common/date/DateFormats","@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService","@web-atoms/email-dom/dist/DomToString","@web-atoms/email-dom/dist/dom/StyleHelper","@web-atoms/email-dom/dist/style/mergeStyle","@social-mail/social-mail-client/dist/common/events/CommonEvents","@social-mail/social-mail-client/dist/web/commands/MailAppEvents","@social-mail/social-mail-client/dist/common/fileUrl","@social-mail/social-mail-client/dist/common/controls/buttons/CopyIcon","@social-mail/social-mail-client/dist/public/channel/controls/TagCloud","@social-mail/social-mail-client/dist/public/channel/UrlService","@social-mail/social-mail-client/dist/public/channel/controls/PostList","@social-mail/social-mail-client/content/images/gif/loader.gif","@social-mail/social-mail-client/dist/public/channel/BlogImageService","@social-mail/social-mail-client/content/images/svg/logo/logo-orange.svg","@social-mail/social-mail-client/dist/public/channel/controls/RecentPosts","@social-mail/social-mail-client/dist/public/channel/controls/BlogHeader","@social-mail/social-mail-client/dist/public/channel/ChannelMessageList","@web-atoms/web-controls/dist/basic/LimitedText","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/style/GlobalStyle","@web-atoms/core/dist/core/AtomList","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@web-atoms/data-styles/data-styles","@web-atoms/core/dist/Pack"]);
1980
1980
 
1981
1981
  System.register([], function (_export, _context) {
1982
1982
  "use strict";
@@ -9873,7 +9873,7 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/ent
9873
9873
  System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/services/BaseEntityService"], function (_export, _context) {
9874
9874
  "use strict";
9875
9875
 
9876
- var DateTime, Model, DefaultFactory, modelEntitySchemas, AppRole, AppFileContentDispositionArray, AppFile, AccessToken, AppFileVersion, AppFileAccessTypeArray, AppFileAccess, AppFileTag, FileContent, Configuration, Contact, ContactEmail, ContactPhone, ContactItem, ContactDomain, ContactAddress, CachedItem, Domain, HostedDomain, DomainUser, HostedZone, HostedZoneRecordTypeArray, HostedZoneRecord, HostedZoneUser, DomainRelayTypeArray, DomainRelay, DomainKey, EmailStatusArray, Email, EmailEngagement, EmailLog, EmailRecipientTypeArray, EmailRecipient, EmailTag, EmailAddress, EmailTemplate, Mailbox, MailboxEmail, MailboxContactStatusArray, MailboxContact, MailboxFolder, MailboxContactEmail, MailboxContactTag, MailboxSyncTargetDirectionArray, MailboxSyncTargetProtocolArray, MailboxSyncTargetLastSyncStatusArray, MailboxSyncTarget, NameToken, ChannelConfig, SubscriberActivity, SearchWordStatusArray, SearchWord, SearchWordIndex, ServerActivityActivityArray, ServerActivity, Store, StoreUser, StoreConfig, StoreItemItemTypeArray, StoreItem, StoreItemFolder, StoreItemFolderTag, StoreItemPrice, StoreMediaFile, StoreInsight, StoreLedger, StoreJournalJournalTypeArray, StoreJournal, StoreJournalEntry, StoreJournalLineItemItemTypeArray, StoreJournalLineItem, StoreItemTax, StoreTag, StoreItemTag, UserStatusArray, User, UserPin, UserPushSubscription, UserRole, UserMailbox, UserAuthFactorMethodArray, UserAuthFactor, WebSiteFolder, WebSiteFolderHost, WebSiteFolderVersion, WebSiteChannel, WebSiteStore, LoginSession, TextDocument, IncomingSmsSource, VerificationTokenTypeArray, VerificationToken, VerificationTokenAddress, EmailAddressName, Tag, fixRelatedSchemas;
9876
+ var DateTime, Model, DefaultFactory, modelEntitySchemas, AppRole, AppFileContentDispositionArray, AppFile, AccessToken, AppFileVersion, AppFileAccessTypeArray, AppFileAccess, AppFileTag, FileContent, Configuration, Contact, ContactEmail, ContactPhone, ContactItem, ContactDomain, ContactAddress, CachedItem, Domain, HostedDomain, DomainUser, HostedZone, HostedZoneRecordTypeArray, HostedZoneRecord, HostedZoneUser, DomainRelayTypeArray, DomainRelay, DomainKey, EmailStatusArray, Email, EmailEngagement, EmailLog, EmailRecipientTypeArray, EmailRecipient, EmailTag, EmailAddress, EmailTemplate, Mailbox, MailboxEmail, MailboxContactStatusArray, MailboxContact, MailboxFolder, MailboxContactEmail, MailboxContactTag, MailboxTag, MailboxSyncTargetDirectionArray, MailboxSyncTargetProtocolArray, MailboxSyncTargetLastSyncStatusArray, MailboxSyncTarget, NameToken, ChannelConfig, SubscriberActivity, SearchWordStatusArray, SearchWord, SearchWordIndex, ServerActivityActivityArray, ServerActivity, Store, StoreUser, StoreConfig, StoreItemItemTypeArray, StoreItem, StoreItemFolder, StoreItemFolderTag, StoreItemPrice, StoreMediaFile, StoreInsight, StoreLedger, StoreJournalJournalTypeArray, StoreJournal, StoreJournalEntry, StoreJournalLineItemItemTypeArray, StoreJournalLineItem, StoreItemTax, StoreTag, StoreItemTag, UserStatusArray, User, UserPin, UserPushSubscription, UserRole, UserMailbox, UserAuthFactorMethodArray, UserAuthFactor, WebSiteFolder, WebSiteFolderHost, WebSiteFolderVersion, WebSiteChannel, WebSiteStore, LoginSession, TextDocument, IncomingSmsSource, VerificationTokenTypeArray, VerificationToken, VerificationTokenAddress, EmailAddressName, Tag, fixRelatedSchemas;
9877
9877
  return {
9878
9878
  setters: [function (_webAtomsDateTimeDistDateTime) {
9879
9879
  DateTime = _webAtomsDateTimeDistDateTime.default;
@@ -12182,6 +12182,9 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
12182
12182
  dateUpdated: new DefaultFactory(() => new DateTime()),
12183
12183
  isChannel: false,
12184
12184
  isPrivateChannel: false,
12185
+ nonMembersCanPost: false,
12186
+ nonMembersCanComment: false,
12187
+ nonMembersCanReact: false,
12185
12188
  requireApproval: false,
12186
12189
  subscriberCount: 0
12187
12190
  }, {
@@ -12279,6 +12282,21 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
12279
12282
  "type": "boolean",
12280
12283
  "dataType": "Boolean",
12281
12284
  "default": ["isPrivateChannel", "false"]
12285
+ }, {
12286
+ "name": "nonMembersCanPost",
12287
+ "type": "boolean",
12288
+ "dataType": "Boolean",
12289
+ "default": ["nonMembersCanPost", "false"]
12290
+ }, {
12291
+ "name": "nonMembersCanComment",
12292
+ "type": "boolean",
12293
+ "dataType": "Boolean",
12294
+ "default": ["nonMembersCanComment", "false"]
12295
+ }, {
12296
+ "name": "nonMembersCanReact",
12297
+ "type": "boolean",
12298
+ "dataType": "Boolean",
12299
+ "default": ["nonMembersCanReact", "false"]
12282
12300
  }, {
12283
12301
  "name": "requireApproval",
12284
12302
  "type": "boolean",
@@ -12356,6 +12374,11 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
12356
12374
  "isCollection": true,
12357
12375
  "isInverse": true,
12358
12376
  "relatedName": "MailboxContactEmail"
12377
+ }, {
12378
+ "name": "tags",
12379
+ "isCollection": true,
12380
+ "isInverse": true,
12381
+ "relatedName": "MailboxTag"
12359
12382
  }, {
12360
12383
  "name": "syncTargets",
12361
12384
  "isCollection": true,
@@ -12771,9 +12794,69 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
12771
12794
  "relatedKey": "emailAddressID"
12772
12795
  }],
12773
12796
  "relatedName": "MailboxContact"
12797
+ }, {
12798
+ "name": "mailboxTag",
12799
+ "fkMap": [{
12800
+ "fk": "mailboxID",
12801
+ "relatedKey": "mailboxID"
12802
+ }, {
12803
+ "fk": "tagID",
12804
+ "relatedKey": "tagID"
12805
+ }],
12806
+ "relatedName": "MailboxTag"
12774
12807
  }]
12775
12808
  }));
12776
12809
  modelEntitySchemas["MailboxContactTag"] = MailboxContactTag;
12810
+ _export("MailboxTag", MailboxTag = new Model("MailboxTag", ["mailboxID", "tagID"], {
12811
+ count: 0,
12812
+ dateUpdated: new DefaultFactory(() => new DateTime())
12813
+ }, {
12814
+ "name": "mailbox_tags",
12815
+ "keys": [{
12816
+ "name": "mailboxID",
12817
+ "type": "number",
12818
+ "dataType": "BigInt"
12819
+ }, {
12820
+ "name": "tagID",
12821
+ "type": "number",
12822
+ "dataType": "BigInt"
12823
+ }],
12824
+ "properties": [{
12825
+ "name": "count",
12826
+ "type": "number",
12827
+ "dataType": "Int",
12828
+ "default": ["count", "0"]
12829
+ }, {
12830
+ "name": "dateUpdated",
12831
+ "type": "DateTime",
12832
+ "dataType": "DateTime",
12833
+ "default": ["dateUpdated", "new DefaultFactory(() => new DateTime())"]
12834
+ }],
12835
+ "relations": [{
12836
+ "name": "mailbox",
12837
+ "fkMap": [{
12838
+ "fk": "mailboxID",
12839
+ "relatedKey": "mailboxID"
12840
+ }],
12841
+ "relatedName": "Mailbox"
12842
+ }, {
12843
+ "name": "tag",
12844
+ "fkMap": [{
12845
+ "fk": "tagID",
12846
+ "relatedKey": "tagID"
12847
+ }],
12848
+ "relatedName": "Tag"
12849
+ }, {
12850
+ "name": "contactTags",
12851
+ "isCollection": true,
12852
+ "isInverse": true,
12853
+ "relatedName": "MailboxContactTag"
12854
+ }],
12855
+ "queries": {
12856
+ "channelTags": "external"
12857
+ }
12858
+ }));
12859
+ modelEntitySchemas["MailboxTag"] = MailboxTag;
12777
12860
  _export("MailboxSyncTargetDirectionArray", MailboxSyncTargetDirectionArray = [{
12778
12861
  "label": "in",
12779
12862
  "value": "in"
@@ -15611,6 +15694,11 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
15611
15694
  "isCollection": true,
15612
15695
  "isInverse": true,
15613
15696
  "relatedName": "MailboxContactTag"
15697
+ }, {
15698
+ "name": "mailboxTags",
15699
+ "isCollection": true,
15700
+ "isInverse": true,
15701
+ "relatedName": "MailboxTag"
15614
15702
  }, {
15615
15703
  "name": "storeItemFolderTags",
15616
15704
  "isCollection": true,
@@ -16046,7 +16134,7 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
16046
16134
  updateAttachments = (channelID, email) => {
16047
16135
  if (email.attachments) {
16048
16136
  for (const iterator of email.attachments) {
16049
- iterator.url = apiPath(`/api/emails/channel/content/attachment/${channelID}/${email.emailID}/${email.headerMessageID}/${iterator.appFileID}`);
16137
+ iterator.url = apiPath(`/api/channel/file/view/${channelID}/${email.emailID}/${iterator.appFileID}/${iterator.name}`);
16050
16138
  }
16051
16139
  }
16052
16140
  };
@@ -21014,13 +21102,32 @@ System.register(["tslib", "@web-atoms/core/dist/web/WebApp", "@web-atoms/web-con
21014
21102
 
21015
21103
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/emoji/EmojiPopup");
21016
21104
 
21017
- System.register(["@web-atoms/core/dist/style/styled"], function (_export, _context) {
21105
+ System.register([], function (_export, _context) {
21106
+ "use strict";
21107
+
21108
+ var AppLocation;
21109
+ return {
21110
+ setters: [],
21111
+ execute: function () {
21112
+ _export("AppLocation", AppLocation = {
21113
+ isLocalTesting: /\d+\.\d+\.\d+\.\d+/.test(location.hostname)
21114
+ });
21115
+ }
21116
+ };
21117
+ });
21118
+ //# sourceMappingURL=TestMode.js.map
21119
+
21120
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/TestMode");
21121
+
21122
+ System.register(["@web-atoms/core/dist/style/styled", "../../../common/TestMode"], function (_export, _context) {
21018
21123
  "use strict";
21019
21124
 
21020
- var styled, channelViewStyle;
21125
+ var styled, AppLocation, channelViewStyle;
21021
21126
  return {
21022
21127
  setters: [function (_webAtomsCoreDistStyleStyled) {
21023
21128
  styled = _webAtomsCoreDistStyleStyled.default;
21129
+ }, function (_commonTestMode) {
21130
+ AppLocation = _commonTestMode.AppLocation;
21024
21131
  }],
21025
21132
  execute: function () {
21026
21133
  styled.css`
@@ -21046,13 +21153,14 @@ box-sizing: border-box;
21046
21153
 
21047
21154
  & section[data-element=blog-item] {
21048
21155
  margin: 10px;
21049
- border: solid 1px lightgray;
21050
- border-radius: 10px;
21156
+ border-right: solid 1px lightgray;
21051
21157
  display: grid;
21052
- grid-template-columns: 1fr auto auto;
21053
- grid-template-rows: auto 1fr auto auto;
21158
+ grid-template-columns: 1fr auto;
21159
+ grid-template-rows: auto auto 1fr auto auto;
21054
21160
 
21055
- background-color: gray;
21161
+ & video, & img {
21162
+ max-width: 100%;
21163
+ }
21056
21164
 
21057
21165
  &[data-comment=true] {
21058
21166
  background-color: canvas;
@@ -21061,44 +21169,42 @@ box-sizing: border-box;
21061
21169
 
21062
21170
  & > h4 {
21063
21171
  grid-row: 1;
21064
- grid-column: 1;
21172
+ grid-column: 1 / span 2;
21065
21173
  margin-block-start: 0;
21066
21174
  margin-block-end: 0;
21067
21175
  padding: 10px;
21068
21176
  & > a {
21069
21177
  text-decoration: none;
21070
- color: white;
21071
21178
  &:hover {
21072
21179
  text-decoration: underline;
21073
- color: #73ff73;
21074
21180
  }
21075
21181
  }
21076
21182
  }
21077
21183
 
21078
21184
  & > h5 {
21079
- grid-row: 1;
21080
- grid-column: 2;
21185
+ grid-row: 2;
21186
+ grid-column: 1;
21081
21187
  margin-block-start: 0;
21082
21188
  margin-block-end: 0;
21083
21189
  padding: 10px;
21084
21190
  }
21085
21191
  & > h6 {
21086
- grid-row: 1;
21087
- grid-column: 3;
21192
+ grid-row: 2;
21193
+ grid-column: 2;
21088
21194
  margin-block-start: 0;
21089
21195
  margin-block-end: 0;
21090
21196
  padding: 10px;
21091
21197
  }
21092
21198
  & > section {
21093
21199
  padding: 10px;
21094
- grid-row: 2;
21200
+ grid-row: 3;
21095
21201
  grid-column: 1 / span 3;
21096
21202
  background-color: canvas;
21097
21203
  color: canvastext;
21098
21204
  }
21099
21205
  & > footer {
21100
21206
  padding: 10px;
21101
- grid-row: 3;
21207
+ grid-row: 5;
21102
21208
  grid-column: 1/ span 3;
21103
21209
  background-color: canvas;
21104
21210
  color: canvastext;
@@ -21147,30 +21253,49 @@ gap: 5px;
21147
21253
  }
21148
21254
 
21149
21255
  @media (min-width: 900px) {
21150
- display: grid;
21151
- grid-template-columns: 1fr auto;
21152
- grid-template-rows: auto 1fr auto;
21153
- gap: 5px;
21256
+ & {
21257
+ display: grid;
21258
+ grid-template-columns: 1fr 30%;
21259
+ grid-template-rows: auto 1fr auto;
21260
+ gap: 5px;
21154
21261
 
21155
- & > header {
21156
- grid-row: 1;
21157
- grid-column: 1 / span 2;
21158
- }
21159
- & > section {
21160
- grid-row: 2;
21161
- grid-column: 1;
21162
- }
21163
- & > aside {
21164
- grid-row: 2;
21165
- grid-column: 2;
21166
- }
21167
- & > footer {
21168
- grid-row: 3;
21169
- grid-column: 1 / span 2;
21262
+ & > header {
21263
+ grid-row: 1;
21264
+ grid-column: 1 / span 2;
21265
+ }
21266
+ & > section {
21267
+ grid-row: 2;
21268
+ grid-column: 1;
21269
+ place-self: stretch;
21270
+ }
21271
+ & > aside {
21272
+ grid-row: 2;
21273
+ grid-column: 2;
21274
+ justify-self: stretch;
21275
+ align-self: start;
21276
+ display: flex;
21277
+ flex-direction: column;
21278
+ gap: 10px;
21279
+ }
21280
+ & > footer {
21281
+ grid-row: 3;
21282
+ grid-column: 1 / span 2;
21283
+ }
21170
21284
  }
21171
21285
  }
21172
21286
 
21173
- `.installLocal());
21287
+ `.installGlobal("[data-blog-list=blog-list]"));
21288
+ if (AppLocation.isLocalTesting) {
21289
+ styled.css`
21290
+ display: grid;
21291
+ align-items: stretch;
21292
+ justify-items: center;
21293
+ justify-content: center;
21294
+ body > * {
21295
+ max-width: 900px;
21296
+ }
21297
+ `.installGlobal("body");
21298
+ }
21174
21299
  }
21175
21300
  };
21176
21301
  });
@@ -23200,7 +23325,7 @@ System.register(["./apiPath"], function (_export, _context) {
23200
23325
  fileContentID
23201
23326
  } = file;
23202
23327
  if (emailID) {
23203
- return apiPath(`/api/emails/files/${action}/${emailID}/${fileContentID}/${name}`);
23328
+ return apiPath(`/api/emails/attachment/${action}/${emailID}/${appFileID}/${name}/`);
23204
23329
  }
23205
23330
  return apiPath(`/api/files/${action}/${appFileID}/${fileContentID}/${name}`);
23206
23331
  });
@@ -23332,11 +23457,11 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
23332
23457
  const a = (_a = mail.attachments) === null || _a === void 0 ? void 0 : _a.find(x => x.contentID === cid);
23333
23458
  if (a) {
23334
23459
  iterator.setAttribute("src", a.url);
23335
- continue;
23336
23460
  }
23337
23461
  }
23338
23462
  if (/^(IMG|VIDEO)$/.test(iterator.tagName)) {
23339
23463
  const src = iterator.getAttribute("src");
23464
+ iterator.setAttribute("controls", "true");
23340
23465
  if (src) {
23341
23466
  if (src.startsWith("cid:")) {
23342
23467
  cid = src.substring(4);
@@ -23355,10 +23480,23 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
23355
23480
  iterator.target = "_blank";
23356
23481
  }
23357
23482
  }
23358
- const shadow = e.attachShadow({
23359
- mode: "open"
23360
- });
23361
- shadow.appendChild(msg);
23483
+ const container = document.createElement("div");
23484
+ const style = e.ownerDocument.createElement("style");
23485
+ style.textContent = `
23486
+ video,img {
23487
+ max-width: 100% !important;
23488
+ }
23489
+
23490
+ div[msg] {
23491
+ overflow: visible;
23492
+ display: flex;
23493
+ flex-direction: column;
23494
+ word-break: break-all;
23495
+ }
23496
+ `;
23497
+ container.appendChild(style);
23498
+ msg.setAttribute("msg", "msg");
23499
+ container.appendChild(msg);
23362
23500
  if (!thread.timeRead && thread.mailboxID && thread.mailboxID !== ((_c = thread.email) === null || _c === void 0 ? void 0 : _c.senderID)) {
23363
23501
  const timeRead = DateTime.now;
23364
23502
  thread.timeRead = timeRead;
@@ -23370,10 +23508,10 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
23370
23508
  CommonEvents.onThreadMarkedAsRead.dispatchEvent(thread);
23371
23509
  }, console.error);
23372
23510
  }
23373
- msg.style.overflow = "visible";
23374
- msg.style.display = "flex";
23375
- msg.style.flexDirection = "column";
23376
- msg.style.wordBreak = "break-all";
23511
+ const shadow = e.attachShadow({
23512
+ mode: "open"
23513
+ });
23514
+ shadow.appendChild(container);
23377
23515
  setTimeout(() => {
23378
23516
  if (msg.scrollWidth > msg.offsetWidth) {
23379
23517
  msg.style.scale = msg.offsetWidth / msg.scrollWidth + "";
@@ -23722,10 +23860,384 @@ System.register(["@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/servic
23722
23860
 
23723
23861
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/buttons/CopyIcon");
23724
23862
 
23725
- System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/web/controls/AtomControl", "./BlogService", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/view-model/Action", "./emoji/EmojiPopup", "./styles/channelViewStyle", "@web-atoms/core/dist/web/services/PopupService", "@web-atoms/web-controls/dist/basic/AtomRepeater", "./PostView", "../../common/controls/buttons/CopyIcon"], function (_export, _context) {
23863
+ System.register(["../../common/TestMode"], function (_export, _context) {
23864
+ "use strict";
23865
+
23866
+ var AppLocation, UrlService;
23867
+ return {
23868
+ setters: [function (_commonTestMode) {
23869
+ AppLocation = _commonTestMode.AppLocation;
23870
+ }],
23871
+ execute: function () {
23872
+ _export("UrlService", UrlService = {
23873
+ toBlogUrl(channelID, emailID, subject) {
23874
+ subject || (subject = "");
23875
+ if (subject.length > 400) {
23876
+ subject = subject.substring(0, 400);
23877
+ }
23878
+ subject = subject.replace(/[^\p{L}\p{N}]+/ug, "-");
23879
+ subject = encodeURIComponent(subject).replace(/\%20/g, "-");
23880
+ const cid = BigInt(channelID).toString(36);
23881
+ const eid = BigInt(emailID).toString(36);
23882
+ if (AppLocation.isLocalTesting) {
23883
+ return `?detail=true&cid=${cid}&eid=${eid}`;
23884
+ }
23885
+ return `/channels/${cid}/${eid}/${subject}`;
23886
+ },
23887
+ toTagUrl({
23888
+ mailboxID,
23889
+ tagID,
23890
+ tag: {
23891
+ name
23892
+ } = {}
23893
+ }) {
23894
+ const cid = BigInt(mailboxID).toString(36);
23895
+ const eid = BigInt(tagID).toString(36);
23896
+ if (AppLocation.isLocalTesting) {
23897
+ return `?detail=true&cid=${cid}&eid=${eid}`;
23898
+ }
23899
+ name || (name = "");
23900
+ if (name.length > 400) {
23901
+ name = name.substring(0, 400);
23902
+ }
23903
+ name = name.replace(/[^\p{L}\p{N}]+/ug, "-");
23904
+ name = encodeURIComponent(name).replace(/\%20/g, "-");
23905
+ return `/channels/${cid}/${eid}/${name}`;
23906
+ }
23907
+ });
23908
+ }
23909
+ };
23910
+ });
23911
+ //# sourceMappingURL=UrlService.js.map
23912
+
23913
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/UrlService");
23914
+
23915
+ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/web-controls/dist/basic/AtomRepeater", "../../../services/EntityService", "../../../model/model", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/style/styled", "../UrlService"], function (_export, _context) {
23726
23916
  "use strict";
23727
23917
 
23728
- var __awaiter, __decorate, __metadata, InjectProperty, AtomControl, BlogService, XNode, Action, EmojiPopup, channelViewStyle, PopupService, AtomRepeater, PostView, CopyIcon, ChannelMessage, _a, _b, url, channelID, emailID, commentIcon;
23918
+ var __awaiter, __decorate, __metadata, InjectProperty, AtomRepeater, EntityService, MailboxTag, XNode, styled, UrlService, TagCloud;
23919
+ _export("default", void 0);
23920
+ return {
23921
+ setters: [function (_tslib) {
23922
+ __awaiter = _tslib.__awaiter;
23923
+ __decorate = _tslib.__decorate;
23924
+ __metadata = _tslib.__metadata;
23925
+ }, function (_webAtomsCoreDistCoreInjectProperty) {
23926
+ InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
23927
+ }, function (_webAtomsWebControlsDistBasicAtomRepeater) {
23928
+ AtomRepeater = _webAtomsWebControlsDistBasicAtomRepeater.default;
23929
+ }, function (_servicesEntityService) {
23930
+ EntityService = _servicesEntityService.default;
23931
+ }, function (_modelModel) {
23932
+ MailboxTag = _modelModel.MailboxTag;
23933
+ }, function (_webAtomsCoreDistCoreXNode) {
23934
+ XNode = _webAtomsCoreDistCoreXNode.default;
23935
+ }, function (_webAtomsCoreDistStyleStyled) {
23936
+ styled = _webAtomsCoreDistStyleStyled.default;
23937
+ }, function (_UrlService) {
23938
+ UrlService = _UrlService.UrlService;
23939
+ }],
23940
+ execute: function () {
23941
+ styled.css`
23942
+ display: flex;
23943
+ flex-direction: row;
23944
+ flex-wrap: wrap;
23945
+ gap: 10px;
23946
+
23947
+ & > header {
23948
+ display: block;
23949
+ flex: 1 1 100%;
23950
+ background-color: var(--accent-color, gray);
23951
+ color: var(--accent-text-color, white);
23952
+ padding: 5px;
23953
+ }
23954
+
23955
+ & a {
23956
+ text-decoration: none;
23957
+ &:hover {
23958
+ text-decoration: underline;
23959
+ }
23960
+ }
23961
+
23962
+ `.installGlobal("tag-cloud");
23963
+ _export("default", TagCloud = class TagCloud extends AtomRepeater {
23964
+ constructor(app, e = document.createElement("tag-cloud")) {
23965
+ super(app, e);
23966
+ this.pushInit();
23967
+ }
23968
+ init() {
23969
+ return __awaiter(this, void 0, void 0, function* () {
23970
+ const tags = yield this.entityService.query(MailboxTag, "channelTags").include(x => x.tag).orderByDescending(x => x.count).toPagedList({
23971
+ size: 20
23972
+ });
23973
+ this.itemRenderer = x => XNode.create("a", {
23974
+ href: UrlService.toTagUrl(x),
23975
+ text: `# ${x.tag.name}`
23976
+ });
23977
+ this.items = tags.items;
23978
+ });
23979
+ }
23980
+ });
23981
+ __decorate([InjectProperty, __metadata("design:type", EntityService)], TagCloud.prototype, "entityService", void 0);
23982
+ }
23983
+ };
23984
+ });
23985
+ //# sourceMappingURL=TagCloud.js.map
23986
+
23987
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/TagCloud");
23988
+
23989
+ System.register(["tslib", "@web-atoms/core/dist/di/Inject", "../../services/EntityService", "@web-atoms/core/dist/di/DISingleton", "../../common/Sql", "../../model/model", "../../common/cache/CacheTTL", "../../common/apiPath", "@social-mail/social-mail-client/content/images/svg/logo/logo-orange.svg"], function (_export, _context) {
23990
+ "use strict";
23991
+
23992
+ var __awaiter, __decorate, __metadata, Inject, EntityService, DISingleton, Sql, AppFile, CacheTTL, apiPath, orangeLogo, cacheVersion, cacheSeconds, BlogImageService;
23993
+ return {
23994
+ setters: [function (_tslib) {
23995
+ __awaiter = _tslib.__awaiter;
23996
+ __decorate = _tslib.__decorate;
23997
+ __metadata = _tslib.__metadata;
23998
+ }, function (_webAtomsCoreDistDiInject) {
23999
+ Inject = _webAtomsCoreDistDiInject.Inject;
24000
+ }, function (_servicesEntityService) {
24001
+ EntityService = _servicesEntityService.default;
24002
+ }, function (_webAtomsCoreDistDiDISingleton) {
24003
+ DISingleton = _webAtomsCoreDistDiDISingleton.default;
24004
+ }, function (_commonSql) {
24005
+ Sql = _commonSql.Sql;
24006
+ }, function (_modelModel) {
24007
+ AppFile = _modelModel.AppFile;
24008
+ }, function (_commonCacheCacheTTL) {
24009
+ CacheTTL = _commonCacheCacheTTL.CacheTTL;
24010
+ }, function (_commonApiPath) {
24011
+ apiPath = _commonApiPath.apiPath;
24012
+ }, function (_socialMailSocialMailClientContentImagesSvgLogoLogoOrangeSvg) {
24013
+ orangeLogo = _socialMailSocialMailClientContentImagesSvgLogoLogoOrangeSvg.default;
24014
+ }],
24015
+ execute: function () {
24016
+ cacheVersion = "1a";
24017
+ cacheSeconds = CacheTTL.seconds.oneDay;
24018
+ BlogImageService = class BlogImageService {
24019
+ getImage({
24020
+ emailID,
24021
+ email,
24022
+ mailboxID: channelID
24023
+ }) {
24024
+ return __awaiter(this, void 0, void 0, function* () {
24025
+ const types = ["image/%", "video/%"];
24026
+ const file = yield this.entityService.query(AppFile, "channelEmailFiles", emailID).where({
24027
+ types
24028
+ }, p => x => Sql.text.likeAny(x.contentType, p.types)).firstOrDefault({
24029
+ cacheVersion,
24030
+ cacheSeconds
24031
+ });
24032
+ if (file) {
24033
+ return apiPath(`/api/channel/file/webp(100)/${channelID}/${email.emailID}/${file.appFileID}/${file.name}/${file.name}.100.webp`);
24034
+ }
24035
+ return orangeLogo;
24036
+ });
24037
+ }
24038
+ };
24039
+ __decorate([Inject, __metadata("design:type", EntityService)], BlogImageService.prototype, "entityService", void 0);
24040
+ BlogImageService = __decorate([DISingleton()], BlogImageService);
24041
+ _export("default", BlogImageService);
24042
+ }
24043
+ };
24044
+ });
24045
+ //# sourceMappingURL=BlogImageService.js.map
24046
+
24047
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/BlogImageService");
24048
+
24049
+ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/web-controls/dist/basic/AtomRepeater", "../../../services/EntityService", "../../../model/model", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/style/styled", "../UrlService", "@web-atoms/core/dist/core/Bind", "@social-mail/social-mail-client/content/images/gif/loader.gif", "../BlogImageService"], function (_export, _context) {
24050
+ "use strict";
24051
+
24052
+ var __awaiter, __decorate, __metadata, InjectProperty, AtomRepeater, EntityService, MailboxEmail, XNode, styled, UrlService, Bind, loaderImage, BlogImageService, PostList;
24053
+ _export("default", void 0);
24054
+ return {
24055
+ setters: [function (_tslib) {
24056
+ __awaiter = _tslib.__awaiter;
24057
+ __decorate = _tslib.__decorate;
24058
+ __metadata = _tslib.__metadata;
24059
+ }, function (_webAtomsCoreDistCoreInjectProperty) {
24060
+ InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
24061
+ }, function (_webAtomsWebControlsDistBasicAtomRepeater) {
24062
+ AtomRepeater = _webAtomsWebControlsDistBasicAtomRepeater.default;
24063
+ }, function (_servicesEntityService) {
24064
+ EntityService = _servicesEntityService.default;
24065
+ }, function (_modelModel) {
24066
+ MailboxEmail = _modelModel.MailboxEmail;
24067
+ }, function (_webAtomsCoreDistCoreXNode) {
24068
+ XNode = _webAtomsCoreDistCoreXNode.default;
24069
+ }, function (_webAtomsCoreDistStyleStyled) {
24070
+ styled = _webAtomsCoreDistStyleStyled.default;
24071
+ }, function (_UrlService) {
24072
+ UrlService = _UrlService.UrlService;
24073
+ }, function (_webAtomsCoreDistCoreBind) {
24074
+ Bind = _webAtomsCoreDistCoreBind.default;
24075
+ }, function (_socialMailSocialMailClientContentImagesGifLoaderGif) {
24076
+ loaderImage = _socialMailSocialMailClientContentImagesGifLoaderGif.default;
24077
+ }, function (_BlogImageService) {
24078
+ BlogImageService = _BlogImageService.default;
24079
+ }],
24080
+ execute: function () {
24081
+ styled.css`
24082
+ display: flex;
24083
+ flex-direction: row;
24084
+ flex-wrap: wrap;
24085
+ gap: 10px;
24086
+
24087
+ & > header {
24088
+ display: block;
24089
+ flex: 1 1 100%;
24090
+ color: var(--accent-color, gray);
24091
+ background-color: #cccccc0a;
24092
+ padding: 5px;
24093
+ }
24094
+
24095
+ & a {
24096
+ text-decoration: none;
24097
+ color: var(--link-color, gray);
24098
+ &:hover {
24099
+ text-decoration: underline;
24100
+ }
24101
+ }
24102
+
24103
+ & [data-item-index] {
24104
+ display: grid;
24105
+ grid-template-columns: 50px 1fr;
24106
+ column-gap: 10px;
24107
+ align-items: center;
24108
+ & > img {
24109
+ width: 50px;
24110
+ height: 30px;
24111
+ object-fit: contain;
24112
+ grid-column: 1;
24113
+ }
24114
+ & > a {
24115
+ grid-column: 2;
24116
+ white-space: nowrap;
24117
+ overflow: hidden;
24118
+ text-overflow: ellipsis;
24119
+ }
24120
+ }
24121
+
24122
+ `.installGlobal("post-list");
24123
+ _export("default", PostList = class PostList extends AtomRepeater {
24124
+ constructor(app, e = document.createElement("post-list")) {
24125
+ super(app, e);
24126
+ this.pushInit();
24127
+ }
24128
+ init() {
24129
+ return __awaiter(this, void 0, void 0, function* () {
24130
+ this.setHeader();
24131
+ this.headerRenderer = text => XNode.create("header", {
24132
+ text: text
24133
+ });
24134
+ this.itemRenderer = x => XNode.create("div", null, XNode.create("img", {
24135
+ src: Bind.oneTimeAsync(() => this.blogImageService.getImage(x), loaderImage)
24136
+ }), XNode.create("a", {
24137
+ href: UrlService.toBlogUrl(x.mailboxID, x.emailID, x.email.subject),
24138
+ title: x.email.subject,
24139
+ target: "_blank",
24140
+ text: x.email.subject
24141
+ }));
24142
+ const q = this.entityService.query(MailboxEmail, "channelEmails").include(x => x.email);
24143
+ const posts = yield this.query(q);
24144
+ this.items = posts.items;
24145
+ });
24146
+ }
24147
+ setHeader() {
24148
+ this.header = "Popular Posts";
24149
+ }
24150
+ query(q) {
24151
+ return q.orderByDescending(x => x.engagementCount).toPagedList({
24152
+ size: 5
24153
+ });
24154
+ }
24155
+ });
24156
+ __decorate([InjectProperty, __metadata("design:type", EntityService)], PostList.prototype, "entityService", void 0);
24157
+ __decorate([InjectProperty, __metadata("design:type", BlogImageService)], PostList.prototype, "blogImageService", void 0);
24158
+ }
24159
+ };
24160
+ });
24161
+ //# sourceMappingURL=PostList.js.map
24162
+
24163
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/PostList");
24164
+
24165
+ System.register(["./PostList"], function (_export, _context) {
24166
+ "use strict";
24167
+
24168
+ var PostList, RecentPosts;
24169
+ _export("default", void 0);
24170
+ return {
24171
+ setters: [function (_PostList) {
24172
+ PostList = _PostList.default;
24173
+ }],
24174
+ execute: function () {
24175
+ _export("default", RecentPosts = class RecentPosts extends PostList {
24176
+ setHeader() {
24177
+ this.header = "Recent Posts";
24178
+ }
24179
+ query(q) {
24180
+ return q.orderByDescending(x => x.datePublished).toPagedList({
24181
+ size: 5
24182
+ });
24183
+ }
24184
+ });
24185
+ }
24186
+ };
24187
+ });
24188
+ //# sourceMappingURL=RecentPosts.js.map
24189
+
24190
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/RecentPosts");
24191
+
24192
+ System.register(["@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/style/styled"], function (_export, _context) {
24193
+ "use strict";
24194
+
24195
+ var XNode, styled;
24196
+ function BlogHeader({
24197
+ channel,
24198
+ search
24199
+ }) {
24200
+ return XNode.create("header", {
24201
+ class: "blog-header"
24202
+ }, XNode.create("div", null, XNode.create("span", {
24203
+ text: channel.emailAddress.name
24204
+ }), XNode.create("a", {
24205
+ href: `mailto:subscribe-${channel.emailAddress.emailAddress}?subject=subscribe`
24206
+ }, XNode.create("button", null, "Follow"))), search && XNode.create("div", null, XNode.create("input", {
24207
+ placeholder: "Search...",
24208
+ value: search
24209
+ })));
24210
+ }
24211
+ _export("default", BlogHeader);
24212
+ return {
24213
+ setters: [function (_webAtomsCoreDistCoreXNode) {
24214
+ XNode = _webAtomsCoreDistCoreXNode.default;
24215
+ }, function (_webAtomsCoreDistStyleStyled) {
24216
+ styled = _webAtomsCoreDistStyleStyled.default;
24217
+ }],
24218
+ execute: function () {
24219
+ styled.css`
24220
+ display: flex;
24221
+ flex-direction: column;
24222
+ gap: 10px;
24223
+ & > * {
24224
+ display: flex;
24225
+ flex-direction: row;
24226
+ gap: 10px;
24227
+ align-items: center;
24228
+ }
24229
+ `.installGlobal("header.blog-header");
24230
+ }
24231
+ };
24232
+ });
24233
+ //# sourceMappingURL=BlogHeader.js.map
24234
+
24235
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/BlogHeader");
24236
+
24237
+ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/web/controls/AtomControl", "./BlogService", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/view-model/Action", "./emoji/EmojiPopup", "./styles/channelViewStyle", "@web-atoms/core/dist/web/services/PopupService", "@web-atoms/web-controls/dist/basic/AtomRepeater", "./PostView", "../../common/controls/buttons/CopyIcon", "./controls/TagCloud", "./controls/PostList", "./controls/RecentPosts", "./controls/BlogHeader"], function (_export, _context) {
24238
+ "use strict";
24239
+
24240
+ var __awaiter, __decorate, __metadata, InjectProperty, AtomControl, BlogService, XNode, Action, EmojiPopup, PopupService, AtomRepeater, PostView, CopyIcon, TagCloud, PopularPosts, RecentPosts, BlogHeader, ChannelMessage, _a, _b, url, channelID, emailID, commentIcon;
23729
24241
  _export("default", void 0);
23730
24242
  return {
23731
24243
  setters: [function (_tslib) {
@@ -23744,9 +24256,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
23744
24256
  Action = _webAtomsCoreDistViewModelAction.default;
23745
24257
  }, function (_emojiEmojiPopup) {
23746
24258
  EmojiPopup = _emojiEmojiPopup.default;
23747
- }, function (_stylesChannelViewStyle) {
23748
- channelViewStyle = _stylesChannelViewStyle.channelViewStyle;
23749
- }, function (_webAtomsCoreDistWebServicesPopupService) {
24259
+ }, function (_stylesChannelViewStyle) {}, function (_webAtomsCoreDistWebServicesPopupService) {
23750
24260
  PopupService = _webAtomsCoreDistWebServicesPopupService.default;
23751
24261
  }, function (_webAtomsWebControlsDistBasicAtomRepeater) {
23752
24262
  AtomRepeater = _webAtomsWebControlsDistBasicAtomRepeater.default;
@@ -23754,6 +24264,14 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
23754
24264
  PostView = _PostView.default;
23755
24265
  }, function (_commonControlsButtonsCopyIcon) {
23756
24266
  CopyIcon = _commonControlsButtonsCopyIcon.default;
24267
+ }, function (_controlsTagCloud) {
24268
+ TagCloud = _controlsTagCloud.default;
24269
+ }, function (_controlsPostList) {
24270
+ PopularPosts = _controlsPostList.default;
24271
+ }, function (_controlsRecentPosts) {
24272
+ RecentPosts = _controlsRecentPosts.default;
24273
+ }, function (_controlsBlogHeader) {
24274
+ BlogHeader = _controlsBlogHeader.default;
23757
24275
  }],
23758
24276
  execute: function () {
23759
24277
  url = (_a = window.pageUrl) !== null && _a !== void 0 ? _a : new URL(location.href);
@@ -23780,22 +24298,16 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
23780
24298
  });
23781
24299
  this.email = email;
23782
24300
  const engagements = (_a = email.engagements) !== null && _a !== void 0 ? _a : [];
23783
- this.element.className = channelViewStyle;
23784
24301
  this.element.setAttribute("data-blog-list", "blog-list");
23785
24302
  this.element.setAttribute("data-layout", "flex-center");
23786
- this.renderer = XNode.create("section", null, XNode.create("header", null, XNode.create("div", {
23787
- "styler-display": "flex",
23788
- "styler-gap": "size-default"
23789
- }, XNode.create("span", {
23790
- text: channel.emailAddress.name
23791
- }), XNode.create("a", {
23792
- href: `mailto:subscribe-${channel.emailAddress.emailAddress}?subject=subscribe`
23793
- }, XNode.create("button", null, "Follow")))), XNode.create("section", null, XNode.create(AtomRepeater, {
24303
+ this.renderer = XNode.create("section", null, XNode.create(BlogHeader, {
24304
+ channel: channel
24305
+ }), XNode.create("section", null, XNode.create(AtomRepeater, {
23794
24306
  items: [email],
23795
24307
  itemRenderer: x => XNode.create(PostView, {
23796
24308
  email: x
23797
24309
  })
23798
- })), XNode.create("aside", null), XNode.create("footer", null));
24310
+ })), XNode.create("aside", null, XNode.create(TagCloud, null), XNode.create(PopularPosts, null), XNode.create(RecentPosts, null)), XNode.create("footer", null));
23799
24311
  });
23800
24312
  }
23801
24313
  reactEmail(email, ce) {
@@ -24105,59 +24617,10 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
24105
24617
 
24106
24618
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater");
24107
24619
 
24108
- System.register([], function (_export, _context) {
24620
+ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/web/controls/AtomControl", "@web-atoms/web-controls/dist/basic/AtomRepeater", "@web-atoms/web-controls/dist/basic/LimitedText", "../../common/controls/repeater/InfiniteRepeater", "../../common/date/DateFormats", "../../web/page/mails/service/ConversationService", "./BlogService", "./styles/channelViewStyle", "./UrlService", "./controls/TagCloud", "./controls/PostList", "./controls/RecentPosts", "./controls/BlogHeader"], function (_export, _context) {
24109
24621
  "use strict";
24110
24622
 
24111
- var AppLocation;
24112
- return {
24113
- setters: [],
24114
- execute: function () {
24115
- _export("AppLocation", AppLocation = {
24116
- isLocalTesting: /\d+\.\d+\.\d+\.\d+/.test(location.hostname)
24117
- });
24118
- }
24119
- };
24120
- });
24121
- //# sourceMappingURL=TestMode.js.map
24122
-
24123
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/TestMode");
24124
-
24125
- System.register(["../../common/TestMode"], function (_export, _context) {
24126
- "use strict";
24127
-
24128
- var AppLocation, UrlService;
24129
- return {
24130
- setters: [function (_commonTestMode) {
24131
- AppLocation = _commonTestMode.AppLocation;
24132
- }],
24133
- execute: function () {
24134
- _export("UrlService", UrlService = {
24135
- toBlogUrl: (channelID, emailID, subject) => {
24136
- subject || (subject = "");
24137
- if (subject.length > 400) {
24138
- subject = subject.substring(0, 400);
24139
- }
24140
- subject = subject.replace(/[^\p{L}\p{N}]+/ug, "-");
24141
- subject = encodeURIComponent(subject).replace(/\%20/g, "-");
24142
- const cid = BigInt(channelID).toString(36);
24143
- const eid = BigInt(emailID).toString(36);
24144
- if (AppLocation.isLocalTesting) {
24145
- return `?detail=true&cid=${cid}&eid=${eid}`;
24146
- }
24147
- return `/channels/${cid}/${eid}/${subject}`;
24148
- }
24149
- });
24150
- }
24151
- };
24152
- });
24153
- //# sourceMappingURL=UrlService.js.map
24154
-
24155
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/UrlService");
24156
-
24157
- System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/web/controls/AtomControl", "@web-atoms/web-controls/dist/basic/AtomRepeater", "@web-atoms/web-controls/dist/basic/LimitedText", "../../common/controls/repeater/InfiniteRepeater", "../../common/date/DateFormats", "../../web/page/mails/service/ConversationService", "./BlogService", "./styles/channelViewStyle", "./UrlService"], function (_export, _context) {
24158
- "use strict";
24159
-
24160
- var __awaiter, __decorate, __metadata, Bind, InjectProperty, XNode, AtomControl, AtomRepeater, LimitedText, InfiniteRepeater, DateFormats, renderMail, BlogService, channelViewStyle, UrlService, ChannelView;
24623
+ var __awaiter, __decorate, __metadata, Bind, InjectProperty, XNode, AtomControl, AtomRepeater, LimitedText, InfiniteRepeater, DateFormats, renderMail, BlogService, UrlService, TagCloud, PopularPosts, RecentPosts, BlogHeader, ChannelView;
24161
24624
  _export("default", void 0);
24162
24625
  return {
24163
24626
  setters: [function (_tslib) {
@@ -24184,10 +24647,16 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
24184
24647
  renderMail = _webPageMailsServiceConversationService.renderMail;
24185
24648
  }, function (_BlogService) {
24186
24649
  BlogService = _BlogService.default;
24187
- }, function (_stylesChannelViewStyle) {
24188
- channelViewStyle = _stylesChannelViewStyle.channelViewStyle;
24189
- }, function (_UrlService) {
24650
+ }, function (_stylesChannelViewStyle) {}, function (_UrlService) {
24190
24651
  UrlService = _UrlService.UrlService;
24652
+ }, function (_controlsTagCloud) {
24653
+ TagCloud = _controlsTagCloud.default;
24654
+ }, function (_controlsPostList) {
24655
+ PopularPosts = _controlsPostList.default;
24656
+ }, function (_controlsRecentPosts) {
24657
+ RecentPosts = _controlsRecentPosts.default;
24658
+ }, function (_controlsBlogHeader) {
24659
+ BlogHeader = _controlsBlogHeader.default;
24191
24660
  }],
24192
24661
  execute: function () {
24193
24662
  _export("default", ChannelView = class ChannelView extends AtomControl {
@@ -24226,21 +24695,10 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
24226
24695
  }, XNode.create("span", {
24227
24696
  text: "..."
24228
24697
  }));
24229
- this.element.className = channelViewStyle;
24230
- this.renderer = XNode.create("section", null, XNode.create("header", null, XNode.create("div", {
24231
- "styler-display": "flex",
24232
- "styler-gap": "size-default"
24233
- }, XNode.create("span", {
24234
- text: this.channel.emailAddress.name
24235
- }), XNode.create("a", {
24236
- href: `mailto:subscribe-${this.channel.emailAddress.emailAddress}?subject=subscribe`
24237
- }, XNode.create("button", null, "Follow"))), XNode.create("div", {
24238
- "styler-display": "flex",
24239
- "styler-gap": "size-default"
24240
- }, XNode.create("input", {
24241
- placeholder: "Search...",
24242
- value: Bind.twoWaysImmediate(() => this.search)
24243
- }))), XNode.create("section", null, XNode.create(AtomRepeater, Object.assign({
24698
+ this.renderer = XNode.create("section", null, XNode.create(BlogHeader, {
24699
+ search: Bind.twoWaysImmediate(() => this.search),
24700
+ channel: this.channel
24701
+ }), XNode.create("section", null, XNode.create(AtomRepeater, Object.assign({
24244
24702
  items: this.mails,
24245
24703
  "data-auto-scroll": "false"
24246
24704
  }, InfiniteRepeater.pagedItems(start => (c, e, cancelToken) => this.blogService.getEmails({
@@ -24275,7 +24733,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
24275
24733
  text: `${x.engagement} ${x.count}`
24276
24734
  }))));
24277
24735
  }
24278
- }))), XNode.create("aside", null, XNode.create(AtomRepeater, null)), XNode.create("footer", null));
24736
+ }))), XNode.create("aside", null, XNode.create(TagCloud, null), XNode.create(PopularPosts, null), XNode.create(RecentPosts, null)), XNode.create("footer", null));
24279
24737
  });
24280
24738
  }
24281
24739
  });