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

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 (74) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +3 -2
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +2 -2
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/common/cache/CacheTTL.d.ts +1 -0
  6. package/dist/common/cache/CacheTTL.d.ts.map +1 -1
  7. package/dist/common/cache/CacheTTL.js +2 -1
  8. package/dist/common/cache/CacheTTL.js.map +1 -1
  9. package/dist/common/toBase36.d.ts +4 -0
  10. package/dist/common/toBase36.d.ts.map +1 -1
  11. package/dist/common/toBase36.js +33 -1
  12. package/dist/common/toBase36.js.map +1 -1
  13. package/dist/public/channel/BlogService.d.ts +4 -5
  14. package/dist/public/channel/BlogService.d.ts.map +1 -1
  15. package/dist/public/channel/BlogService.js +25 -9
  16. package/dist/public/channel/BlogService.js.map +1 -1
  17. package/dist/public/channel/ChannelMessage.d.ts +0 -12
  18. package/dist/public/channel/ChannelMessage.d.ts.map +1 -1
  19. package/dist/public/channel/ChannelMessage.js +3 -134
  20. package/dist/public/channel/ChannelMessage.js.map +1 -1
  21. package/dist/public/channel/ChannelMessageList.d.ts +0 -12
  22. package/dist/public/channel/ChannelMessageList.d.ts.map +1 -1
  23. package/dist/public/channel/ChannelMessageList.js +3 -119
  24. package/dist/public/channel/ChannelMessageList.js.map +1 -1
  25. package/dist/public/channel/ChannelView.d.ts +16 -3
  26. package/dist/public/channel/ChannelView.d.ts.map +1 -1
  27. package/dist/public/channel/ChannelView.js +174 -11
  28. package/dist/public/channel/ChannelView.js.map +1 -1
  29. package/dist/public/channel/ChannelView.pack.js +776 -831
  30. package/dist/public/channel/ChannelView.pack.js.map +1 -1
  31. package/dist/public/channel/ChannelView.pack.min.js +111 -129
  32. package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
  33. package/dist/public/channel/PostSummary.d.ts +6 -0
  34. package/dist/public/channel/PostSummary.d.ts.map +1 -0
  35. package/dist/public/channel/PostSummary.js +61 -0
  36. package/dist/public/channel/PostSummary.js.map +1 -0
  37. package/dist/public/channel/UrlService.d.ts +2 -2
  38. package/dist/public/channel/UrlService.d.ts.map +1 -1
  39. package/dist/public/channel/UrlService.js +12 -6
  40. package/dist/public/channel/UrlService.js.map +1 -1
  41. package/dist/public/channel/controls/PostList.d.ts.map +1 -1
  42. package/dist/public/channel/controls/PostList.js +9 -4
  43. package/dist/public/channel/controls/PostList.js.map +1 -1
  44. package/dist/public/channel/controls/TagCloud.d.ts.map +1 -1
  45. package/dist/public/channel/controls/TagCloud.js +8 -3
  46. package/dist/public/channel/controls/TagCloud.js.map +1 -1
  47. package/dist/public/channel/styles/channelViewStyle.d.ts.map +1 -1
  48. package/dist/public/channel/styles/channelViewStyle.js +17 -0
  49. package/dist/public/channel/styles/channelViewStyle.js.map +1 -1
  50. package/dist/public/store/Store.pack.js +33 -1
  51. package/dist/public/store/Store.pack.js.map +1 -1
  52. package/dist/public/store/Store.pack.min.js +1 -1
  53. package/dist/public/store/Store.pack.min.js.map +1 -1
  54. package/dist/site-editor/editor/WebSitePageEditor.d.ts.map +1 -1
  55. package/dist/site-editor/editor/WebSitePageEditor.js +1 -1
  56. package/dist/site-editor/editor/WebSitePageEditor.js.map +1 -1
  57. package/dist/tsconfig.tsbuildinfo +1 -1
  58. package/dist/web/AppIndex.pack.js +3 -2
  59. package/dist/web/AppIndex.pack.js.map +1 -1
  60. package/dist/web/AppIndex.pack.min.js +2 -2
  61. package/dist/web/AppIndex.pack.min.js.map +1 -1
  62. package/package.json +1 -1
  63. package/src/common/cache/CacheTTL.ts +2 -1
  64. package/src/common/toBase36.ts +36 -0
  65. package/src/public/channel/BlogService.ts +18 -4
  66. package/src/public/channel/ChannelMessage.tsx +113 -113
  67. package/src/public/channel/ChannelMessageList.tsx +110 -110
  68. package/src/public/channel/ChannelView.tsx +159 -7
  69. package/src/public/channel/PostSummary.tsx +46 -0
  70. package/src/public/channel/UrlService.ts +7 -7
  71. package/src/public/channel/controls/PostList.tsx +7 -2
  72. package/src/public/channel/controls/TagCloud.tsx +7 -1
  73. package/src/public/channel/styles/channelViewStyle.ts +17 -0
  74. package/src/site-editor/editor/WebSitePageEditor.tsx +3 -1
@@ -1975,8 +1975,8 @@ const UMD = new UMDClass();
1975
1975
  //# sourceMappingURL=umd.js.map
1976
1976
 
1977
1977
  AmdLoader.instance.register(
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","@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"]);
1978
+ ["@social-mail/social-mail-client","@web-atoms/core","reflect-metadata","@web-atoms/date-time","@web-atoms/entity","@web-atoms/web-controls","@web-atoms/data-styles","@web-atoms/email-dom"],
1979
+ ["@social-mail/social-mail-client/dist/public/channel/ChannelView","@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/style/GlobalStyle","@web-atoms/core/dist/core/AtomList","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@web-atoms/data-styles/data-styles","@social-mail/social-mail-client/dist/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","@web-atoms/core/dist/Pack","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/public/channel/PostSummary","@social-mail/social-mail-client/dist/common/toBase36"]);
1980
1980
 
1981
1981
  System.register([], function (_export, _context) {
1982
1982
  "use strict";
@@ -16005,7 +16005,8 @@ System.register([], function (_export, _context) {
16005
16005
  seconds: {
16006
16006
  oneHour: 60 * 60,
16007
16007
  oneDay: 60 * 60 * 24,
16008
- oneMonth: 60 * 60 * 24 * 30
16008
+ oneMonth: 60 * 60 * 24 * 30,
16009
+ fifteenMinutes: 15 * 60
16009
16010
  }
16010
16011
  });
16011
16012
  }
@@ -16102,10 +16103,10 @@ System.register(["tslib", "@web-atoms/core/dist/di/Inject", "../../../../service
16102
16103
 
16103
16104
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/EngagementService");
16104
16105
 
16105
- System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/core/dist/di/Inject", "../../services/EntityService", "../../model/model", "../../common/Sql", "../../services/email/EmailContentDownloader", "../../web/page/mails/service/EngagementService", "../../common/apiPath"], function (_export, _context) {
16106
+ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/core/dist/di/Inject", "../../services/EntityService", "../../model/model", "../../common/Sql", "../../services/email/EmailContentDownloader", "../../web/page/mails/service/EngagementService", "../../common/apiPath", "../../common/cache/CacheTTL"], function (_export, _context) {
16106
16107
  "use strict";
16107
16108
 
16108
- var __awaiter, __decorate, __metadata, DISingleton, Inject, EntityService, Email, Mailbox, MailboxEmail, Sql, EmailContentDownloader, EngagementService, apiPath, updateAttachments, BlogService;
16109
+ var __awaiter, __decorate, __metadata, DISingleton, Inject, EntityService, Email, Mailbox, MailboxEmail, Sql, EmailContentDownloader, EngagementService, apiPath, CacheTTL, cacheVersion, updateAttachments, BlogService;
16109
16110
  return {
16110
16111
  setters: [function (_tslib) {
16111
16112
  __awaiter = _tslib.__awaiter;
@@ -16129,8 +16130,11 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
16129
16130
  EngagementService = _webPageMailsServiceEngagementService.default;
16130
16131
  }, function (_commonApiPath) {
16131
16132
  apiPath = _commonApiPath.apiPath;
16133
+ }, function (_commonCacheCacheTTL) {
16134
+ CacheTTL = _commonCacheCacheTTL.CacheTTL;
16132
16135
  }],
16133
16136
  execute: function () {
16137
+ cacheVersion = "1a";
16134
16138
  updateAttachments = (channelID, email) => {
16135
16139
  if (email.attachments) {
16136
16140
  for (const iterator of email.attachments) {
@@ -16158,6 +16162,8 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
16158
16162
  getEmails({
16159
16163
  channelID = 0,
16160
16164
  parentID = 0,
16165
+ authorID = 0,
16166
+ tagID = 0,
16161
16167
  search = "",
16162
16168
  start = 0,
16163
16169
  size = 10,
@@ -16177,22 +16183,30 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
16177
16183
  search
16178
16184
  }, p => x => Sql.text.includes(x.email.textBody, p.search));
16179
16185
  }
16186
+ if (tagID) {
16187
+ q = q.where({
16188
+ tagID
16189
+ }, p => x => x.email.emailTags.some(t => t.tagID === p.tagID));
16190
+ }
16191
+ if (authorID) {
16192
+ q = q.where({
16193
+ authorID
16194
+ }, p => x => x.email.senderID === p.authorID);
16195
+ }
16180
16196
  const mailboxEmails = yield q.include(x => [x.email.attachments, x.email.engagements, x.email.emailTags.forEach(t => t.tag)]).orderByDescending(x => x.dateUpdated).toPagedList({
16181
16197
  start,
16182
16198
  size,
16183
16199
  cancelToken
16184
16200
  });
16185
- const emails = {
16186
- items: mailboxEmails.items.map(x => x.email),
16187
- total: mailboxEmails.total
16188
- };
16189
16201
  const tasks = [];
16190
- for (const email of emails.items) {
16202
+ for (const {
16203
+ email
16204
+ } of mailboxEmails.items) {
16191
16205
  tasks.push(this.downloader.downloadFromUrl(apiPath(`/api/emails/channel/content/html/${channelID}/${email.emailID}/${email.headerMessageID}`), email));
16192
16206
  updateAttachments(channelID, email);
16193
16207
  }
16194
16208
  yield Promise.all(tasks);
16195
- return emails;
16209
+ return mailboxEmails;
16196
16210
  });
16197
16211
  }
16198
16212
  getChannel(emailAddress, channelID, d) {
@@ -16203,7 +16217,10 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
16203
16217
  channelID
16204
16218
  }, p => x => x.mailboxID === p.channelID);
16205
16219
  }
16206
- const c = yield q.include(x => x.emailAddress).orderByDescending(x => x.datePublished).firstOrDefault();
16220
+ const c = yield q.include(x => x.emailAddress).orderByDescending(x => x.datePublished).firstOrDefault({
16221
+ cacheVersion,
16222
+ cacheSeconds: CacheTTL.seconds.oneHour
16223
+ });
16207
16224
  return c;
16208
16225
  });
16209
16226
  }
@@ -21102,55 +21119,449 @@ System.register(["tslib", "@web-atoms/core/dist/web/WebApp", "@web-atoms/web-con
21102
21119
 
21103
21120
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/emoji/EmojiPopup");
21104
21121
 
21105
- System.register([], function (_export, _context) {
21122
+ System.register(["./AtomBinder"], function (_export, _context) {
21106
21123
  "use strict";
21107
21124
 
21108
- var AppLocation;
21125
+ var AtomBinder, AtomList, ap;
21126
+ _export("AtomList", void 0);
21109
21127
  return {
21110
- setters: [],
21128
+ setters: [function (_AtomBinder) {
21129
+ AtomBinder = _AtomBinder.AtomBinder;
21130
+ }],
21111
21131
  execute: function () {
21112
- _export("AppLocation", AppLocation = {
21113
- isLocalTesting: /\d+\.\d+\.\d+\.\d+/.test(location.hostname)
21132
+ _export("AtomList", AtomList = class AtomList extends Array {
21133
+ constructor() {
21134
+ super();
21135
+ this.startValue = 0;
21136
+ this.totalValue = 0;
21137
+ this.sizeValue = 10;
21138
+ this["__proto__"] = AtomList.prototype;
21139
+ this.next = () => {
21140
+ this.start = this.start + this.size;
21141
+ };
21142
+ this.prev = () => {
21143
+ if (this.start >= this.size) {
21144
+ this.start = this.start - this.size;
21145
+ }
21146
+ };
21147
+ }
21148
+ get start() {
21149
+ return this.startValue;
21150
+ }
21151
+ set start(v) {
21152
+ if (v === this.startValue) {
21153
+ return;
21154
+ }
21155
+ this.startValue = v;
21156
+ AtomBinder.refreshValue(this, "start");
21157
+ }
21158
+ get total() {
21159
+ return this.totalValue;
21160
+ }
21161
+ set total(v) {
21162
+ if (v === this.totalValue) {
21163
+ return;
21164
+ }
21165
+ this.totalValue = v;
21166
+ AtomBinder.refreshValue(this, "total");
21167
+ }
21168
+ get size() {
21169
+ return this.sizeValue;
21170
+ }
21171
+ set size(v) {
21172
+ if (v === this.sizeValue) {
21173
+ return;
21174
+ }
21175
+ this.sizeValue = v;
21176
+ AtomBinder.refreshValue(this, "size");
21177
+ }
21178
+ add(item) {
21179
+ const i = this.length;
21180
+ const n = this.push(item);
21181
+ AtomBinder.invokeItemsEvent(this, "add", i, item);
21182
+ AtomBinder.refreshValue(this, "length");
21183
+ return n;
21184
+ }
21185
+ addAll(items) {
21186
+ for (const item of items) {
21187
+ const i = this.length;
21188
+ this.push(item);
21189
+ AtomBinder.invokeItemsEvent(this, "add", i, item);
21190
+ AtomBinder.refreshValue(this, "length");
21191
+ }
21192
+ const t = items["total"];
21193
+ if (t) {
21194
+ this.total = t;
21195
+ }
21196
+ }
21197
+ replace(items, start, size) {
21198
+ this.length = items.length;
21199
+ for (let i = 0; i < items.length; i++) {
21200
+ this[i] = items[i];
21201
+ }
21202
+ this.refresh();
21203
+ const t = items["total"];
21204
+ if (t) {
21205
+ this.total = t;
21206
+ }
21207
+ if (start !== undefined) {
21208
+ this.start = start;
21209
+ }
21210
+ if (size !== undefined) {
21211
+ this.size = size;
21212
+ }
21213
+ }
21214
+ insert(i, item) {
21215
+ const n = this.splice(i, 0, item);
21216
+ AtomBinder.invokeItemsEvent(this, "add", i, item);
21217
+ AtomBinder.refreshValue(this, "length");
21218
+ }
21219
+ set(i, item) {
21220
+ const old = this[i];
21221
+ this[i] = item;
21222
+ AtomBinder.invokeItemsEvent(this, "replace", i, item, old);
21223
+ AtomBinder.refreshValue(this, "length");
21224
+ }
21225
+ removeAt(i) {
21226
+ const item = this[i];
21227
+ this.splice(i, 1);
21228
+ AtomBinder.invokeItemsEvent(this, "remove", i, item);
21229
+ AtomBinder.refreshValue(this, "length");
21230
+ return item;
21231
+ }
21232
+ remove(item) {
21233
+ if (item instanceof Function) {
21234
+ let removed = false;
21235
+ for (let index = 0; index < this.length;) {
21236
+ const it = this[index];
21237
+ if (item(it)) {
21238
+ this.splice(index, 1);
21239
+ AtomBinder.invokeItemsEvent(this, "remove", index, it);
21240
+ AtomBinder.refreshValue(this, "length");
21241
+ removed = true;
21242
+ continue;
21243
+ }
21244
+ index++;
21245
+ }
21246
+ return removed;
21247
+ }
21248
+ const n = this.indexOf(item);
21249
+ if (n !== -1) {
21250
+ this.removeAt(n);
21251
+ return true;
21252
+ }
21253
+ return false;
21254
+ }
21255
+ clear() {
21256
+ this.length = 0;
21257
+ this.refresh();
21258
+ }
21259
+ refresh() {
21260
+ AtomBinder.invokeItemsEvent(this, "refresh", -1, null);
21261
+ AtomBinder.refreshValue(this, "length");
21262
+ }
21263
+ watch(f, wrap) {
21264
+ if (wrap) {
21265
+ const fx = f;
21266
+ f = function () {
21267
+ const p = [];
21268
+ for (let i = 0; i < arguments.length; i++) {
21269
+ const iterator = arguments[i];
21270
+ p.push(iterator);
21271
+ }
21272
+ return fx.call(this, p);
21273
+ };
21274
+ }
21275
+ return AtomBinder.add_CollectionChanged(this, f);
21276
+ }
21277
+ count(f) {
21278
+ let total = 0;
21279
+ for (const iterator of this) {
21280
+ if (f(iterator)) {
21281
+ total++;
21282
+ }
21283
+ }
21284
+ return total;
21285
+ }
21286
+ avg(f) {
21287
+ if (!this.length) {
21288
+ return 0;
21289
+ }
21290
+ let sum = 0;
21291
+ for (const iterator of this) {
21292
+ sum += f(iterator);
21293
+ }
21294
+ return sum / this.length;
21295
+ }
21296
+ includes(item) {
21297
+ return this.indexOf(item) !== -1;
21298
+ }
21114
21299
  });
21300
+ ap = Array.prototype;
21301
+ for (const key of Object.getOwnPropertyNames(AtomList.prototype)) {
21302
+ const {
21303
+ value
21304
+ } = Object.getOwnPropertyDescriptor(AtomList.prototype, key);
21305
+ switch (key) {
21306
+ case "add":
21307
+ case "addAll":
21308
+ case "clear":
21309
+ case "refresh":
21310
+ case "set":
21311
+ case "remove":
21312
+ case "removeAt":
21313
+ case "watch":
21314
+ case "replace":
21315
+ case "insert":
21316
+ case "count":
21317
+ case "avg":
21318
+ case "includes":
21319
+ if (key in ap) {
21320
+ continue;
21321
+ }
21322
+ Object.defineProperty(ap, key, {
21323
+ enumerable: false,
21324
+ value,
21325
+ configurable: true,
21326
+ writable: true
21327
+ });
21328
+ continue;
21329
+ }
21330
+ }
21115
21331
  }
21116
21332
  };
21117
21333
  });
21118
- //# sourceMappingURL=TestMode.js.map
21334
+ //# sourceMappingURL=AtomList.js.map
21119
21335
 
21120
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/TestMode");
21336
+ AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomList");
21121
21337
 
21122
- System.register(["@web-atoms/core/dist/style/styled", "../../../common/TestMode"], function (_export, _context) {
21338
+ System.register(["@web-atoms/core/dist/style/styled"], function (_export, _context) {
21123
21339
  "use strict";
21124
21340
 
21125
- var styled, AppLocation, channelViewStyle;
21341
+ var styled;
21126
21342
  return {
21127
21343
  setters: [function (_webAtomsCoreDistStyleStyled) {
21128
21344
  styled = _webAtomsCoreDistStyleStyled.default;
21129
- }, function (_commonTestMode) {
21130
- AppLocation = _commonTestMode.AppLocation;
21131
21345
  }],
21132
21346
  execute: function () {
21133
21347
  styled.css`
21134
21348
 
21135
- box-sizing: border-box;
21136
-
21137
- & > header {
21349
+ div[data-desktop-app=desktop-app] {
21350
+ width: 100%;
21351
+ }
21138
21352
 
21139
- }
21353
+ /* div[data-base-page=base-page] {
21354
+ & > [data-page-element=title] {
21355
+ overflow-y: visible;
21356
+ }
21357
+ } */
21140
21358
 
21141
- & button[data-element=engage] {
21142
- margin:0;
21143
- border: none;
21144
- outline: none;
21145
- background: transparent;
21146
- cursor: pointer;
21147
- & > img {
21148
- max-height: 20px;
21149
- height: 20px;
21150
- pointer-events: none;
21359
+ `.withId("default-app-style").withOrder("medium").installGlobal();
21151
21360
  }
21152
- }
21153
-
21361
+ };
21362
+ });
21363
+ //# sourceMappingURL=OverrideAppStyle.js.map
21364
+
21365
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/style/OverrideAppStyle");
21366
+
21367
+
21368
+ System.register([], function(_export, _context) {
21369
+ return {
21370
+ setters: [],
21371
+ execute: function() {
21372
+
21373
+ // this is because in web atoms loader
21374
+ // root url may not be set when the module is registered
21375
+ setTimeout(() => {
21376
+
21377
+ const cssModule = _context.meta.resolve("./data-styles.css");
21378
+ const cssURL = System.resolve(cssModule);
21379
+
21380
+ const link = document.createElement("link");
21381
+ link.id = "data-styles";
21382
+ link.setAttribute("href", cssURL);
21383
+ link.setAttribute("rel", "stylesheet");
21384
+ link.setAttribute("as", "style");
21385
+ link.setAttribute("crossorigin", "anonymous");
21386
+ const head = document.head;
21387
+ const firstElementChild = head.firstElementChild;
21388
+ if (firstElementChild) {
21389
+ head.insertBefore(link, firstElementChild);
21390
+ } else {
21391
+ head.appendChild(link);
21392
+ }
21393
+ }, 1);
21394
+ }
21395
+ };
21396
+ });
21397
+
21398
+
21399
+ AmdLoader.instance.setup("@web-atoms/data-styles/data-styles");
21400
+
21401
+ System.register(["@web-atoms/core/dist/core/types", "@web-atoms/core/dist/core/AtomList", "./OverrideAppStyle", "@web-atoms/core/dist/style/styled", "@web-atoms/data-styles/data-styles"], function (_export, _context) {
21402
+ "use strict";
21403
+
21404
+ var UMD, styled, ___UMD;
21405
+ function addLinkTag(href, integrity, rel = "stylesheet") {
21406
+ if (!document.head.querySelector(`[href="${href}"]`)) {
21407
+ const fa = document.createElement("link");
21408
+ fa.href = href;
21409
+ fa.crossOrigin = "anonymous";
21410
+ fa.as = "style";
21411
+ fa.rel = "preload";
21412
+ if (integrity) {
21413
+ fa.integrity = integrity;
21414
+ }
21415
+ fa.onload = () => {
21416
+ fa.onload = null;
21417
+ fa.rel = rel;
21418
+ };
21419
+ document.head.insertBefore(fa, document.head.firstElementChild);
21420
+ }
21421
+ }
21422
+ return {
21423
+ setters: [function (_webAtomsCoreDistCoreTypes) {
21424
+ UMD = _webAtomsCoreDistCoreTypes.UMD;
21425
+ }, function (_webAtomsCoreDistCoreAtomList) {}, function (_OverrideAppStyle) {}, function (_webAtomsCoreDistStyleStyled) {
21426
+ styled = _webAtomsCoreDistStyleStyled.default;
21427
+ }, function (_webAtomsDataStylesDataStyles) {}],
21428
+ execute: function () {
21429
+ _export("___UMD", ___UMD = UMD);
21430
+ addLinkTag("https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap");
21431
+ addLinkTag("https://npm-git.azureedge.net/npm/package/@c8private/fa-icons@6.5.2/css/all.min.css");
21432
+ addLinkTag("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0");
21433
+ addLinkTag("https://cdn.jsdelivr.net/npm/file-icon-vectors@1.0.0/dist/file-icon-vivid.min.css");
21434
+ styled.css`
21435
+
21436
+ :root {
21437
+ --primary-color: #294D4A;
21438
+ --accent-color: #ff6733;
21439
+ --accent2-color: #ff673375;
21440
+ --lighter-accent-color: #e6e6fa60;
21441
+ --light-accent-color: #f2e5fa;
21442
+ --accent-text-color: white;
21443
+ --background-color: #f1f1f160;
21444
+ --window-background: #50505025;
21445
+ --media-bg-color: #9F33FF0F;
21446
+ --font-size-small: 0.8125em;
21447
+
21448
+ --hover-color: #b8b88b20;
21449
+ --command-bg-color: #50505025;
21450
+ --hover-text-color: CanvasText;
21451
+ --selection-color: #b8b88b60;
21452
+ --selection-text-color: CanvasText;
21453
+ --spacing: 5px;
21454
+ --spacing-medium: 7px;
21455
+ --spacing-large: 10px;
21456
+ }
21457
+
21458
+ html, body {
21459
+ margin:0;
21460
+ }
21461
+
21462
+ * {
21463
+ scrollbar-width: thin;
21464
+ scrollbar-color: var(--accent-color) white;
21465
+ }
21466
+
21467
+
21468
+ ::-webkit-scrollbar {
21469
+ width: 5px;
21470
+ }
21471
+ ::-webkit-scrollbar-track {
21472
+ background: white;
21473
+ border-radius: 20px;
21474
+ }
21475
+ ::-webkit-scrollbar-thumb {
21476
+ background: var(--accent-color);
21477
+ border-radius: 20px;
21478
+ }
21479
+
21480
+ body {
21481
+ font-family: trebuchet ms, "Source Sans Pro";
21482
+ font-size: 16px;
21483
+ justify-content: stretch;
21484
+
21485
+ & * {
21486
+ font-family: trebuchet ms, "Source Sans Pro";
21487
+ box-sizing: border-box;
21488
+ }
21489
+
21490
+ &::placeholder {
21491
+ font-size: smaller;
21492
+ }
21493
+
21494
+ & ul {
21495
+ padding-inline-start: 15px;
21496
+ }
21497
+
21498
+ & input[type=search] {
21499
+ border: none;
21500
+ outline: none;
21501
+ border-radius: 9999px;
21502
+ padding-right: 10px;
21503
+ padding-left: 25px;
21504
+ background: canvas url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' class='bi bi-search' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'%3E%3C/path%3E%3C/svg%3E") no-repeat 5px center;
21505
+ }
21506
+ }
21507
+
21508
+ `.withId("global-styles").withOrder("medium").installGlobal();
21509
+ }
21510
+ };
21511
+ });
21512
+ //# sourceMappingURL=GlobalStyle.js.map
21513
+
21514
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/style/GlobalStyle");
21515
+
21516
+ System.register([], function (_export, _context) {
21517
+ "use strict";
21518
+
21519
+ var AppLocation;
21520
+ return {
21521
+ setters: [],
21522
+ execute: function () {
21523
+ _export("AppLocation", AppLocation = {
21524
+ isLocalTesting: /\d+\.\d+\.\d+\.\d+/.test(location.hostname)
21525
+ });
21526
+ }
21527
+ };
21528
+ });
21529
+ //# sourceMappingURL=TestMode.js.map
21530
+
21531
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/TestMode");
21532
+
21533
+ System.register(["@web-atoms/core/dist/style/styled", "../../../common/TestMode"], function (_export, _context) {
21534
+ "use strict";
21535
+
21536
+ var styled, AppLocation, channelViewStyle;
21537
+ return {
21538
+ setters: [function (_webAtomsCoreDistStyleStyled) {
21539
+ styled = _webAtomsCoreDistStyleStyled.default;
21540
+ }, function (_commonTestMode) {
21541
+ AppLocation = _commonTestMode.AppLocation;
21542
+ }],
21543
+ execute: function () {
21544
+ styled.css`
21545
+
21546
+ box-sizing: border-box;
21547
+
21548
+ & > header {
21549
+
21550
+ }
21551
+
21552
+ & button[data-element=engage] {
21553
+ margin:0;
21554
+ border: none;
21555
+ outline: none;
21556
+ background: transparent;
21557
+ cursor: pointer;
21558
+ & > img {
21559
+ max-height: 20px;
21560
+ height: 20px;
21561
+ pointer-events: none;
21562
+ }
21563
+ }
21564
+
21154
21565
  & section[data-element=blog-item] {
21155
21566
  margin: 10px;
21156
21567
  border-right: solid 1px lightgray;
@@ -21167,6 +21578,23 @@ box-sizing: border-box;
21167
21578
  color: canvastext;
21168
21579
  }
21169
21580
 
21581
+ & [data-fade=bottom] {
21582
+ position: relative;
21583
+ max-height: 200px;
21584
+ overflow: hidden;
21585
+ &:after {
21586
+ position: absolute;
21587
+ left: 0;
21588
+ right: 0;
21589
+ top: 0;
21590
+ bottom: 0;
21591
+ content: "";
21592
+ margin: 0;
21593
+ pointer-events: none;
21594
+ background: linear-gradient(to top, rgba(255, 255, 255, 1) 1px, rgba(255, 255, 255, 0) 32px);
21595
+ }
21596
+ }
21597
+
21170
21598
  & > h4 {
21171
21599
  grid-row: 1;
21172
21600
  grid-column: 1 / span 2;
@@ -23870,19 +24298,25 @@ System.register(["../../common/TestMode"], function (_export, _context) {
23870
24298
  }],
23871
24299
  execute: function () {
23872
24300
  _export("UrlService", UrlService = {
23873
- toBlogUrl(channelID, emailID, subject) {
24301
+ toBlogUrl({
24302
+ mailboxID,
24303
+ emailID,
24304
+ email: {
24305
+ subject
24306
+ } = {}
24307
+ }) {
23874
24308
  subject || (subject = "");
23875
24309
  if (subject.length > 400) {
23876
24310
  subject = subject.substring(0, 400);
23877
24311
  }
23878
24312
  subject = subject.replace(/[^\p{L}\p{N}]+/ug, "-");
23879
24313
  subject = encodeURIComponent(subject).replace(/\%20/g, "-");
23880
- const cid = BigInt(channelID).toString(36);
24314
+ const cid = BigInt(mailboxID).toString(36);
23881
24315
  const eid = BigInt(emailID).toString(36);
23882
24316
  if (AppLocation.isLocalTesting) {
23883
- return `?detail=true&cid=${cid}&eid=${eid}`;
24317
+ return `?detail=true&p0=${cid}&p1=p&p2=${eid}`;
23884
24318
  }
23885
- return `/channels/${cid}/${eid}/${subject}`;
24319
+ return `/channels/${cid}/p/${eid}/${subject}`;
23886
24320
  },
23887
24321
  toTagUrl({
23888
24322
  mailboxID,
@@ -23894,7 +24328,7 @@ System.register(["../../common/TestMode"], function (_export, _context) {
23894
24328
  const cid = BigInt(mailboxID).toString(36);
23895
24329
  const eid = BigInt(tagID).toString(36);
23896
24330
  if (AppLocation.isLocalTesting) {
23897
- return `?detail=true&cid=${cid}&eid=${eid}`;
24331
+ return `?detail=true&p0=${cid}&p1=t&p2=${eid}`;
23898
24332
  }
23899
24333
  name || (name = "");
23900
24334
  if (name.length > 400) {
@@ -23902,7 +24336,7 @@ System.register(["../../common/TestMode"], function (_export, _context) {
23902
24336
  }
23903
24337
  name = name.replace(/[^\p{L}\p{N}]+/ug, "-");
23904
24338
  name = encodeURIComponent(name).replace(/\%20/g, "-");
23905
- return `/channels/${cid}/${eid}/${name}`;
24339
+ return `/channels/${cid}/t/${eid}/${name}`;
23906
24340
  }
23907
24341
  });
23908
24342
  }
@@ -23912,10 +24346,10 @@ System.register(["../../common/TestMode"], function (_export, _context) {
23912
24346
 
23913
24347
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/UrlService");
23914
24348
 
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) {
24349
+ 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", "../../../common/cache/CacheTTL"], function (_export, _context) {
23916
24350
  "use strict";
23917
24351
 
23918
- var __awaiter, __decorate, __metadata, InjectProperty, AtomRepeater, EntityService, MailboxTag, XNode, styled, UrlService, TagCloud;
24352
+ var __awaiter, __decorate, __metadata, InjectProperty, AtomRepeater, EntityService, MailboxTag, XNode, styled, UrlService, CacheTTL, TagCloud, cacheVersion;
23919
24353
  _export("default", void 0);
23920
24354
  return {
23921
24355
  setters: [function (_tslib) {
@@ -23936,8 +24370,11 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
23936
24370
  styled = _webAtomsCoreDistStyleStyled.default;
23937
24371
  }, function (_UrlService) {
23938
24372
  UrlService = _UrlService.UrlService;
24373
+ }, function (_commonCacheCacheTTL) {
24374
+ CacheTTL = _commonCacheCacheTTL.CacheTTL;
23939
24375
  }],
23940
24376
  execute: function () {
24377
+ cacheVersion = "1a";
23941
24378
  styled.css`
23942
24379
  display: flex;
23943
24380
  flex-direction: row;
@@ -23968,7 +24405,9 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
23968
24405
  init() {
23969
24406
  return __awaiter(this, void 0, void 0, function* () {
23970
24407
  const tags = yield this.entityService.query(MailboxTag, "channelTags").include(x => x.tag).orderByDescending(x => x.count).toPagedList({
23971
- size: 20
24408
+ size: 20,
24409
+ cacheVersion,
24410
+ cacheSeconds: CacheTTL.seconds.fifteenMinutes
23972
24411
  });
23973
24412
  this.itemRenderer = x => XNode.create("a", {
23974
24413
  href: UrlService.toTagUrl(x),
@@ -24046,10 +24485,10 @@ System.register(["tslib", "@web-atoms/core/dist/di/Inject", "../../services/Enti
24046
24485
 
24047
24486
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/BlogImageService");
24048
24487
 
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) {
24488
+ 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", "../../../common/cache/CacheTTL"], function (_export, _context) {
24050
24489
  "use strict";
24051
24490
 
24052
- var __awaiter, __decorate, __metadata, InjectProperty, AtomRepeater, EntityService, MailboxEmail, XNode, styled, UrlService, Bind, loaderImage, BlogImageService, PostList;
24491
+ var __awaiter, __decorate, __metadata, InjectProperty, AtomRepeater, EntityService, MailboxEmail, XNode, styled, UrlService, Bind, loaderImage, BlogImageService, CacheTTL, PostList, cacheVersion;
24053
24492
  _export("default", void 0);
24054
24493
  return {
24055
24494
  setters: [function (_tslib) {
@@ -24076,8 +24515,11 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
24076
24515
  loaderImage = _socialMailSocialMailClientContentImagesGifLoaderGif.default;
24077
24516
  }, function (_BlogImageService) {
24078
24517
  BlogImageService = _BlogImageService.default;
24518
+ }, function (_commonCacheCacheTTL) {
24519
+ CacheTTL = _commonCacheCacheTTL.CacheTTL;
24079
24520
  }],
24080
24521
  execute: function () {
24522
+ cacheVersion = "1a";
24081
24523
  styled.css`
24082
24524
  display: flex;
24083
24525
  flex-direction: row;
@@ -24134,7 +24576,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
24134
24576
  this.itemRenderer = x => XNode.create("div", null, XNode.create("img", {
24135
24577
  src: Bind.oneTimeAsync(() => this.blogImageService.getImage(x), loaderImage)
24136
24578
  }), XNode.create("a", {
24137
- href: UrlService.toBlogUrl(x.mailboxID, x.emailID, x.email.subject),
24579
+ href: UrlService.toBlogUrl(x),
24138
24580
  title: x.email.subject,
24139
24581
  target: "_blank",
24140
24582
  text: x.email.subject
@@ -24149,7 +24591,9 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
24149
24591
  }
24150
24592
  query(q) {
24151
24593
  return q.orderByDescending(x => x.engagementCount).toPagedList({
24152
- size: 5
24594
+ size: 5,
24595
+ cacheVersion,
24596
+ cacheSeconds: CacheTTL.seconds.fifteenMinutes
24153
24597
  });
24154
24598
  }
24155
24599
  });
@@ -24234,269 +24678,32 @@ System.register(["@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/style/
24234
24678
 
24235
24679
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/controls/BlogHeader");
24236
24680
 
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) {
24681
+ System.register([], function (_export, _context) {
24682
+ "use strict";
24683
+
24684
+ function Pack(...a) {}
24685
+ _export("default", Pack);
24686
+ return {
24687
+ setters: [],
24688
+ execute: function () {}
24689
+ };
24690
+ });
24691
+ //# sourceMappingURL=Pack.js.map
24692
+
24693
+ AmdLoader.instance.setup("@web-atoms/core/dist/Pack");
24694
+
24695
+ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/core/types", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/style/styled", "@web-atoms/core/dist/web/controls/AtomControl"], function (_export, _context) {
24238
24696
  "use strict";
24239
24697
 
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;
24698
+ var __awaiter, Bind, CancelToken, XNode, styled, AtomControl, InfiniteRepeater, _a, loadMoreSet, pagedItemsSetter, scrollToBottom;
24241
24699
  _export("default", void 0);
24242
24700
  return {
24243
24701
  setters: [function (_tslib) {
24244
24702
  __awaiter = _tslib.__awaiter;
24245
- __decorate = _tslib.__decorate;
24246
- __metadata = _tslib.__metadata;
24247
- }, function (_webAtomsCoreDistCoreInjectProperty) {
24248
- InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
24249
- }, function (_webAtomsCoreDistWebControlsAtomControl) {
24250
- AtomControl = _webAtomsCoreDistWebControlsAtomControl.AtomControl;
24251
- }, function (_BlogService) {
24252
- BlogService = _BlogService.default;
24253
- }, function (_webAtomsCoreDistCoreXNode) {
24254
- XNode = _webAtomsCoreDistCoreXNode.default;
24255
- }, function (_webAtomsCoreDistViewModelAction) {
24256
- Action = _webAtomsCoreDistViewModelAction.default;
24257
- }, function (_emojiEmojiPopup) {
24258
- EmojiPopup = _emojiEmojiPopup.default;
24259
- }, function (_stylesChannelViewStyle) {}, function (_webAtomsCoreDistWebServicesPopupService) {
24260
- PopupService = _webAtomsCoreDistWebServicesPopupService.default;
24261
- }, function (_webAtomsWebControlsDistBasicAtomRepeater) {
24262
- AtomRepeater = _webAtomsWebControlsDistBasicAtomRepeater.default;
24263
- }, function (_PostView) {
24264
- PostView = _PostView.default;
24265
- }, function (_commonControlsButtonsCopyIcon) {
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;
24275
- }],
24276
- execute: function () {
24277
- url = (_a = window.pageUrl) !== null && _a !== void 0 ? _a : new URL(location.href);
24278
- ({
24279
- 1: channelID = url.searchParams.get("cid"),
24280
- 2: emailID = url.searchParams.get("eid")
24281
- } = (_b = /^\/channels\/([^\/]+)\/([^\/]+)\//.exec(url === null || url === void 0 ? void 0 : url.pathname)) !== null && _b !== void 0 ? _b : {});
24282
- channelID = parseInt(channelID, 36);
24283
- emailID = parseInt(emailID, 36);
24284
- commentIcon = "💬";
24285
- _export("default", ChannelMessage = class ChannelMessage extends AtomControl {
24286
- constructor(app, e = document.createElement("section")) {
24287
- super(app, e);
24288
- this.runAfterInit(() => this.app.runAsync(() => this.init()));
24289
- }
24290
- init() {
24291
- var _a;
24292
- return __awaiter(this, void 0, void 0, function* () {
24293
- const channel = yield this.blogService.getChannel(void 0, channelID, void 0);
24294
- this.channel = channel;
24295
- const email = yield this.blogService.getEmail({
24296
- emailID,
24297
- channelID
24298
- });
24299
- this.email = email;
24300
- const engagements = (_a = email.engagements) !== null && _a !== void 0 ? _a : [];
24301
- this.element.setAttribute("data-blog-list", "blog-list");
24302
- this.element.setAttribute("data-layout", "flex-center");
24303
- this.renderer = XNode.create("section", null, XNode.create(BlogHeader, {
24304
- channel: channel
24305
- }), XNode.create("section", null, XNode.create(AtomRepeater, {
24306
- items: [email],
24307
- itemRenderer: x => XNode.create(PostView, {
24308
- email: x
24309
- })
24310
- })), XNode.create("aside", null, XNode.create(TagCloud, null), XNode.create(PopularPosts, null), XNode.create(RecentPosts, null)), XNode.create("footer", null));
24311
- });
24312
- }
24313
- reactEmail(email, ce) {
24314
- return __awaiter(this, void 0, void 0, function* () {
24315
- const {
24316
- headerMessageID
24317
- } = email;
24318
- const emoji = yield EmojiPopup.showControl(ce.target, {
24319
- parentElement: ce.target
24320
- });
24321
- const {
24322
- channel
24323
- } = this;
24324
- const subject = `${emoji}:${Number(email.emailID).toString(36)}:${headerMessageID}`;
24325
- yield PopupService.alert({
24326
- message: XNode.create("div", {
24327
- "data-layout": "vertical-flex"
24328
- }, "To add your emoji to this post, email just the emoji ", emoji, " with given subject to the channel email address.", XNode.create("div", null, "To: ", channel.emailAddress.emailAddress, " ", XNode.create(CopyIcon, {
24329
- text: channel.emailAddress.emailAddress
24330
- }), " "), XNode.create("div", null, "Subject: ", subject, " ", XNode.create(CopyIcon, {
24331
- text: subject
24332
- })), XNode.create("div", null, "Body: ", emoji, " ", XNode.create(CopyIcon, {
24333
- text: emoji
24334
- })), XNode.create("br", null), XNode.create("div", null, "If you have email client configured, you can click on following link."), XNode.create("div", null, XNode.create("a", {
24335
- href: `mailto:${channel.emailAddress.emailAddress}?subject=${subject}&body=${emoji}&in-reply-to=${headerMessageID}`
24336
- }, "Email Now"))),
24337
- title: "Send Email"
24338
- });
24339
- });
24340
- }
24341
- replyEmail(email, ce) {
24342
- return __awaiter(this, void 0, void 0, function* () {
24343
- const emoji = commentIcon;
24344
- const {
24345
- headerMessageID
24346
- } = email;
24347
- const {
24348
- channel
24349
- } = this;
24350
- const subject = `${emoji}:${Number(email.emailID).toString(36)}:${headerMessageID}`;
24351
- yield PopupService.alert({
24352
- message: XNode.create("div", {
24353
- "data-layout": "vertical-flex"
24354
- }, "To send comment to this post, email us your comment with given subject to the channel email address.", XNode.create("div", null, "To: ", channel.emailAddress.emailAddress, " ", XNode.create(CopyIcon, {
24355
- text: channel.emailAddress.emailAddress
24356
- })), XNode.create("div", null, "Subject: ", subject, " ", XNode.create(CopyIcon, {
24357
- text: subject
24358
- })), XNode.create("br", null), XNode.create("div", null, "If you have email client configured, you can click on following link."), XNode.create("div", null, XNode.create("a", {
24359
- href: `mailto:${channel.emailAddress.emailAddress}?subject=${subject}&in-reply-to=${headerMessageID}`
24360
- }, "Email Now"))),
24361
- title: "Send Email"
24362
- });
24363
- });
24364
- }
24365
- });
24366
- __decorate([InjectProperty, __metadata("design:type", BlogService)], ChannelMessage.prototype, "blogService", void 0);
24367
- __decorate([Action({
24368
- onEvent: "react-email"
24369
- }), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, CustomEvent]), __metadata("design:returntype", Promise)], ChannelMessage.prototype, "reactEmail", null);
24370
- __decorate([Action({
24371
- onEvent: "reply-email"
24372
- }), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, CustomEvent]), __metadata("design:returntype", Promise)], ChannelMessage.prototype, "replyEmail", null);
24373
- }
24374
- };
24375
- });
24376
- //# sourceMappingURL=ChannelMessage.js.map
24377
-
24378
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/ChannelMessage");
24379
-
24380
- System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/style/styled"], function (_export, _context) {
24381
- "use strict";
24382
-
24383
- var __rest, XNode, styled, toggleDetails, setEventHandler;
24384
- function LimitedText(_a, ...nodes) {
24385
- var {
24386
- text = "",
24387
- height = 100
24388
- } = _a,
24389
- a = __rest(_a, ["text", "height"]);
24390
- setEventHandler === null || setEventHandler === void 0 ? void 0 : setEventHandler();
24391
- const h = typeof height === "number" ? `${height}px` : height;
24392
- return XNode.create("div", Object.assign({
24393
- "data-mode": "collapsed",
24394
- "data-max-height": h,
24395
- "style-max-height": h,
24396
- "data-limited-text": "limited-text"
24397
- }, a), text && XNode.create("p", {
24398
- text: text
24399
- }), ...nodes, XNode.create("div", {
24400
- "style-top": h,
24401
- "data-element": "more"
24402
- }, XNode.create("button", {
24403
- class: "fa-solid fa-angles-up"
24404
- })));
24405
- }
24406
- _export("default", LimitedText);
24407
- return {
24408
- setters: [function (_tslib) {
24409
- __rest = _tslib.__rest;
24410
- }, function (_webAtomsCoreDistCoreXNode) {
24411
- XNode = _webAtomsCoreDistCoreXNode.default;
24412
- }, function (_webAtomsCoreDistStyleStyled) {
24413
- styled = _webAtomsCoreDistStyleStyled.default;
24414
- }],
24415
- execute: function () {
24416
- styled.css`
24417
- position: relative;
24418
- overflow: hidden;
24419
- contain: content;
24420
-
24421
- &[data-mode=collapsed] {
24422
- & > [data-element=more] {
24423
- cursor: pointer;
24424
- background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.5) 19%, rgba(255,255,255,1) 65%, rgba(255,255,255,1) 100%);
24425
- & > button {
24426
- transform: rotate(180deg);
24427
- }
24428
- }
24429
- }
24430
-
24431
- & > [data-element=more] {
24432
- display: flex;
24433
- justify-content: flex-end;
24434
- width: 100%;
24435
- right: 0;
24436
- left: 0;
24437
- position: absolute;
24438
- transform: translateY(-100%);
24439
- & > button {
24440
- padding: 1px;
24441
- padding-left: 10px;
24442
- padding-right: 10px;
24443
- border-radius: 9999px;
24444
- border: none;
24445
- outline: none;
24446
- box-shadow: 0 0 6px 6px white;
24447
- transition: transform 0.5s ease-out;
24448
- }
24449
- }
24450
-
24451
- `.installGlobal("[data-limited-text]");
24452
- toggleDetails = e => {
24453
- let start = e.target;
24454
- if (e.defaultPrevented) {
24455
- return;
24456
- }
24457
- start = start.parentElement;
24458
- const container = start;
24459
- start = start === null || start === void 0 ? void 0 : start.parentElement;
24460
- if (!start || start.getAttribute("data-limited-text") !== "limited-text") {
24461
- return;
24462
- }
24463
- e.preventDefault();
24464
- e.stopImmediatePropagation();
24465
- e.stopPropagation();
24466
- if (start.getAttribute("data-mode") === "collapsed") {
24467
- start.setAttribute("data-mode", "open");
24468
- start.style.maxHeight = "";
24469
- container.style.top = "";
24470
- } else {
24471
- const h = start.getAttribute("data-max-height");
24472
- start.style.maxHeight = h;
24473
- container.style.top = h;
24474
- start.setAttribute("data-mode", "collapsed");
24475
- }
24476
- };
24477
- setEventHandler = () => {
24478
- document.body.addEventListener("click", toggleDetails);
24479
- setEventHandler = null;
24480
- };
24481
- }
24482
- };
24483
- });
24484
- //# sourceMappingURL=LimitedText.js.map
24485
-
24486
- AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/LimitedText");
24487
-
24488
- System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/core/types", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/style/styled", "@web-atoms/core/dist/web/controls/AtomControl"], function (_export, _context) {
24489
- "use strict";
24490
-
24491
- var __awaiter, Bind, CancelToken, XNode, styled, AtomControl, InfiniteRepeater, _a, loadMoreSet, pagedItemsSetter, scrollToBottom;
24492
- _export("default", void 0);
24493
- return {
24494
- setters: [function (_tslib) {
24495
- __awaiter = _tslib.__awaiter;
24496
- }, function (_webAtomsCoreDistCoreBind) {
24497
- Bind = _webAtomsCoreDistCoreBind.default;
24498
- }, function (_webAtomsCoreDistCoreTypes) {
24499
- CancelToken = _webAtomsCoreDistCoreTypes.CancelToken;
24703
+ }, function (_webAtomsCoreDistCoreBind) {
24704
+ Bind = _webAtomsCoreDistCoreBind.default;
24705
+ }, function (_webAtomsCoreDistCoreTypes) {
24706
+ CancelToken = _webAtomsCoreDistCoreTypes.CancelToken;
24500
24707
  }, function (_webAtomsCoreDistCoreXNode) {
24501
24708
  XNode = _webAtomsCoreDistCoreXNode.default;
24502
24709
  }, function (_webAtomsCoreDistStyleStyled) {
@@ -24617,561 +24824,299 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
24617
24824
 
24618
24825
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater");
24619
24826
 
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) {
24827
+ System.register(["@web-atoms/core/dist/core/XNode", "../../common/date/DateFormats", "../../web/page/mails/service/ConversationService", "./UrlService"], function (_export, _context) {
24621
24828
  "use strict";
24622
24829
 
24623
- var __awaiter, __decorate, __metadata, Bind, InjectProperty, XNode, AtomControl, AtomRepeater, LimitedText, InfiniteRepeater, DateFormats, renderMail, BlogService, UrlService, TagCloud, PopularPosts, RecentPosts, BlogHeader, ChannelView;
24624
- _export("default", void 0);
24830
+ var XNode, DateFormats, renderMail, UrlService, commentIcon;
24831
+ function PostSummary({
24832
+ mailboxEmail = void 0,
24833
+ itemPath = void 0
24834
+ }) {
24835
+ const {
24836
+ mailboxID,
24837
+ email
24838
+ } = mailboxEmail;
24839
+ const {
24840
+ engagements = []
24841
+ } = email;
24842
+ const isComment = email.parentID !== null;
24843
+ return XNode.create("section", {
24844
+ "data-element": "blog-item",
24845
+ "data-comment": isComment,
24846
+ "data-item-path": itemPath
24847
+ }, XNode.create("h4", {
24848
+ "data-element": "title"
24849
+ }, XNode.create("a", {
24850
+ href: UrlService.toBlogUrl(mailboxEmail),
24851
+ text: isComment ? email.senderName : email.subject
24852
+ })), XNode.create("h6", {
24853
+ "data-element": "date",
24854
+ text: DateFormats.relative.short(email.dateSent)
24855
+ }), !isComment && XNode.create("h5", {
24856
+ text: email.senderName
24857
+ }), XNode.create("section", {
24858
+ "data-element": "content",
24859
+ "data-fade": "bottom"
24860
+ }, !email.parentID ? XNode.create("section", Object.assign({}, renderMail({
24861
+ email
24862
+ }))) : XNode.create("section", {
24863
+ text: email.textBody
24864
+ })), XNode.create("footer", null, ...engagements.map(x => XNode.create("span", {
24865
+ "data-click-event": x.engagement === commentIcon ? "view-comments" : "none",
24866
+ "data-element": "engagements",
24867
+ title: `View all ${x.engagement} ${x.count}`,
24868
+ text: `${x.engagement} ${x.count}`
24869
+ }))));
24870
+ }
24871
+ _export("default", PostSummary);
24625
24872
  return {
24626
- setters: [function (_tslib) {
24627
- __awaiter = _tslib.__awaiter;
24628
- __decorate = _tslib.__decorate;
24629
- __metadata = _tslib.__metadata;
24630
- }, function (_webAtomsCoreDistCoreBind) {
24631
- Bind = _webAtomsCoreDistCoreBind.default;
24632
- }, function (_webAtomsCoreDistCoreInjectProperty) {
24633
- InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
24634
- }, function (_webAtomsCoreDistCoreXNode) {
24873
+ setters: [function (_webAtomsCoreDistCoreXNode) {
24635
24874
  XNode = _webAtomsCoreDistCoreXNode.default;
24636
- }, function (_webAtomsCoreDistWebControlsAtomControl) {
24637
- AtomControl = _webAtomsCoreDistWebControlsAtomControl.AtomControl;
24638
- }, function (_webAtomsWebControlsDistBasicAtomRepeater) {
24639
- AtomRepeater = _webAtomsWebControlsDistBasicAtomRepeater.default;
24640
- }, function (_webAtomsWebControlsDistBasicLimitedText) {
24641
- LimitedText = _webAtomsWebControlsDistBasicLimitedText.default;
24642
- }, function (_commonControlsRepeaterInfiniteRepeater) {
24643
- InfiniteRepeater = _commonControlsRepeaterInfiniteRepeater.default;
24644
24875
  }, function (_commonDateDateFormats) {
24645
24876
  DateFormats = _commonDateDateFormats.DateFormats;
24646
24877
  }, function (_webPageMailsServiceConversationService) {
24647
24878
  renderMail = _webPageMailsServiceConversationService.renderMail;
24648
- }, function (_BlogService) {
24649
- BlogService = _BlogService.default;
24650
- }, function (_stylesChannelViewStyle) {}, function (_UrlService) {
24879
+ }, function (_UrlService) {
24651
24880
  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;
24660
24881
  }],
24661
24882
  execute: function () {
24662
- _export("default", ChannelView = class ChannelView extends AtomControl {
24663
- constructor(app, e = document.createElement("section")) {
24664
- super(app, e);
24665
- this.search = "";
24666
- this.mails = [];
24667
- this.pushInit();
24883
+ commentIcon = "💬";
24884
+ }
24885
+ };
24886
+ });
24887
+ //# sourceMappingURL=PostSummary.js.map
24888
+
24889
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/PostSummary");
24890
+
24891
+ System.register([], function (_export, _context) {
24892
+ "use strict";
24893
+
24894
+ var Base36, toBase36, parseBigInt;
24895
+ _export("Base36", void 0);
24896
+ return {
24897
+ setters: [],
24898
+ execute: function () {
24899
+ _export("toBase36", toBase36 = n => BigInt(n).toString(36));
24900
+ parseBigInt = (numberString, throwOnFail = true) => {
24901
+ if (!numberString) {
24902
+ return;
24668
24903
  }
24669
- init() {
24670
- var _a;
24671
- return __awaiter(this, void 0, void 0, function* () {
24672
- let {
24673
- channelID,
24674
- emailAddress,
24675
- domainID
24676
- } = (_a = window.socialMail) !== null && _a !== void 0 ? _a : {};
24677
- let args = this.element.getAttribute("data-json-args");
24678
- if (args) {
24679
- args = JSON.parse(args || "{}");
24680
- const d = args.domainID || args.domain;
24681
- if (d) {
24682
- domainID = d;
24683
- }
24684
- const c = args.channels || args.channel;
24685
- if (c) {
24686
- channelID = c;
24687
- }
24904
+ if (numberString.startsWith("$")) {
24905
+ return;
24906
+ }
24907
+ const keySpace = "0123456789abcdefghijklmnopqrstuvwxyz";
24908
+ let result = BigInt(0);
24909
+ const keySpaceLength = BigInt(keySpace.length);
24910
+ for (const iterator of numberString) {
24911
+ const value = keySpace.indexOf(iterator);
24912
+ if (value === -1) {
24913
+ if (throwOnFail) {
24914
+ throw new Error("invalid string");
24688
24915
  }
24689
- this.element.setAttribute("data-blog-list", "blog-list");
24690
- this.channel = yield this.blogService.getChannel(emailAddress, channelID, domainID);
24691
- channelID = this.channel.mailboxID;
24692
- emailAddress = this.channel.emailAddress.emailAddress;
24693
- this.renderer = XNode.create("div", {
24694
- "data-layout": "flex-center"
24695
- }, XNode.create("span", {
24696
- text: "..."
24697
- }));
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({
24702
- items: this.mails,
24703
- "data-auto-scroll": "false"
24704
- }, InfiniteRepeater.pagedItems(start => (c, e, cancelToken) => this.blogService.getEmails({
24705
- channelID: this.channel.mailboxID,
24706
- start,
24707
- search: this.search,
24708
- cancelToken
24709
- })), {
24710
- itemRenderer: email => {
24711
- var _a;
24712
- const engagements = (_a = email.engagements) !== null && _a !== void 0 ? _a : [];
24713
- return XNode.create("section", {
24714
- "data-element": "blog-item"
24715
- }, XNode.create("h4", {
24716
- "data-element": "title"
24717
- }, XNode.create("a", {
24718
- href: UrlService.toBlogUrl(channelID, email.emailID, email.subject),
24719
- text: email.subject
24720
- })), XNode.create("h6", {
24721
- "data-element": "date",
24722
- text: DateFormats.relative.short(email.dateSent)
24723
- }), XNode.create("h5", {
24724
- text: email.senderName
24725
- }), XNode.create("section", {
24726
- "data-element": "content"
24727
- }, XNode.create(LimitedText, {
24728
- height: 200
24729
- }, XNode.create("section", Object.assign({}, renderMail({
24730
- email
24731
- }))))), XNode.create("footer", null, ...engagements.map(x => XNode.create("span", {
24732
- title: `View all ${x.engagement} ${x.count}`,
24733
- text: `${x.engagement} ${x.count}`
24734
- }))));
24735
- }
24736
- }))), XNode.create("aside", null, XNode.create(TagCloud, null), XNode.create(PopularPosts, null), XNode.create(RecentPosts, null)), XNode.create("footer", null));
24737
- });
24916
+ return;
24917
+ }
24918
+ result = result * keySpaceLength + BigInt(value);
24919
+ }
24920
+ return result;
24921
+ };
24922
+ _export("Base36", Base36 = class Base36 {
24923
+ static encode(n) {
24924
+ return BigInt(n).toString(36);
24925
+ }
24926
+ static decode(n, throwOnFail = true) {
24927
+ var _a;
24928
+ return (_a = parseBigInt(n, throwOnFail)) === null || _a === void 0 ? void 0 : _a.toString();
24738
24929
  }
24739
24930
  });
24740
- __decorate([InjectProperty, __metadata("design:type", BlogService)], ChannelView.prototype, "blogService", void 0);
24741
24931
  }
24742
24932
  };
24743
24933
  });
24744
- //# sourceMappingURL=ChannelMessageList.js.map
24934
+ //# sourceMappingURL=toBase36.js.map
24745
24935
 
24746
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/ChannelMessageList");
24936
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/toBase36");
24747
24937
 
24748
- System.register(["./AtomBinder"], function (_export, _context) {
24938
+ 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", "../../style/GlobalStyle", "./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", "@web-atoms/core/dist/Pack", "../../common/controls/repeater/InfiniteRepeater", "@web-atoms/core/dist/core/Bind", "./PostSummary", "../../common/toBase36"], function (_export, _context) {
24749
24939
  "use strict";
24750
24940
 
24751
- var AtomBinder, AtomList, ap;
24752
- _export("AtomList", void 0);
24941
+ var __awaiter, __decorate, __metadata, InjectProperty, AtomControl, BlogService, XNode, Action, EmojiPopup, PopupService, AtomRepeater, PostView, CopyIcon, TagCloud, PopularPosts, RecentPosts, BlogHeader, Pack, InfiniteRepeater, Bind, PostSummary, Base36, _a, _b, url, channelID, type, p2, emailID, commentIcon, ChannelMessage;
24753
24942
  return {
24754
- setters: [function (_AtomBinder) {
24755
- AtomBinder = _AtomBinder.AtomBinder;
24943
+ setters: [function (_tslib) {
24944
+ __awaiter = _tslib.__awaiter;
24945
+ __decorate = _tslib.__decorate;
24946
+ __metadata = _tslib.__metadata;
24947
+ }, function (_webAtomsCoreDistCoreInjectProperty) {
24948
+ InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
24949
+ }, function (_webAtomsCoreDistWebControlsAtomControl) {
24950
+ AtomControl = _webAtomsCoreDistWebControlsAtomControl.AtomControl;
24951
+ }, function (_BlogService) {
24952
+ BlogService = _BlogService.default;
24953
+ }, function (_webAtomsCoreDistCoreXNode) {
24954
+ XNode = _webAtomsCoreDistCoreXNode.default;
24955
+ }, function (_webAtomsCoreDistViewModelAction) {
24956
+ Action = _webAtomsCoreDistViewModelAction.default;
24957
+ }, function (_emojiEmojiPopup) {
24958
+ EmojiPopup = _emojiEmojiPopup.default;
24959
+ }, function (_styleGlobalStyle) {}, function (_stylesChannelViewStyle) {}, function (_webAtomsCoreDistWebServicesPopupService) {
24960
+ PopupService = _webAtomsCoreDistWebServicesPopupService.default;
24961
+ }, function (_webAtomsWebControlsDistBasicAtomRepeater) {
24962
+ AtomRepeater = _webAtomsWebControlsDistBasicAtomRepeater.default;
24963
+ }, function (_PostView) {
24964
+ PostView = _PostView.default;
24965
+ }, function (_commonControlsButtonsCopyIcon) {
24966
+ CopyIcon = _commonControlsButtonsCopyIcon.default;
24967
+ }, function (_controlsTagCloud) {
24968
+ TagCloud = _controlsTagCloud.default;
24969
+ }, function (_controlsPostList) {
24970
+ PopularPosts = _controlsPostList.default;
24971
+ }, function (_controlsRecentPosts) {
24972
+ RecentPosts = _controlsRecentPosts.default;
24973
+ }, function (_controlsBlogHeader) {
24974
+ BlogHeader = _controlsBlogHeader.default;
24975
+ }, function (_webAtomsCoreDistPack) {
24976
+ Pack = _webAtomsCoreDistPack.default;
24977
+ }, function (_commonControlsRepeaterInfiniteRepeater) {
24978
+ InfiniteRepeater = _commonControlsRepeaterInfiniteRepeater.default;
24979
+ }, function (_webAtomsCoreDistCoreBind) {
24980
+ Bind = _webAtomsCoreDistCoreBind.default;
24981
+ }, function (_PostSummary) {
24982
+ PostSummary = _PostSummary.default;
24983
+ }, function (_commonToBase) {
24984
+ Base36 = _commonToBase.Base36;
24756
24985
  }],
24757
24986
  execute: function () {
24758
- _export("AtomList", AtomList = class AtomList extends Array {
24759
- constructor() {
24760
- super();
24761
- this.startValue = 0;
24762
- this.totalValue = 0;
24763
- this.sizeValue = 10;
24764
- this["__proto__"] = AtomList.prototype;
24765
- this.next = () => {
24766
- this.start = this.start + this.size;
24767
- };
24768
- this.prev = () => {
24769
- if (this.start >= this.size) {
24770
- this.start = this.start - this.size;
24771
- }
24772
- };
24773
- }
24774
- get start() {
24775
- return this.startValue;
24776
- }
24777
- set start(v) {
24778
- if (v === this.startValue) {
24779
- return;
24780
- }
24781
- this.startValue = v;
24782
- AtomBinder.refreshValue(this, "start");
24783
- }
24784
- get total() {
24785
- return this.totalValue;
24786
- }
24787
- set total(v) {
24788
- if (v === this.totalValue) {
24789
- return;
24790
- }
24791
- this.totalValue = v;
24792
- AtomBinder.refreshValue(this, "total");
24793
- }
24794
- get size() {
24795
- return this.sizeValue;
24796
- }
24797
- set size(v) {
24798
- if (v === this.sizeValue) {
24799
- return;
24800
- }
24801
- this.sizeValue = v;
24802
- AtomBinder.refreshValue(this, "size");
24803
- }
24804
- add(item) {
24805
- const i = this.length;
24806
- const n = this.push(item);
24807
- AtomBinder.invokeItemsEvent(this, "add", i, item);
24808
- AtomBinder.refreshValue(this, "length");
24809
- return n;
24810
- }
24811
- addAll(items) {
24812
- for (const item of items) {
24813
- const i = this.length;
24814
- this.push(item);
24815
- AtomBinder.invokeItemsEvent(this, "add", i, item);
24816
- AtomBinder.refreshValue(this, "length");
24817
- }
24818
- const t = items["total"];
24819
- if (t) {
24820
- this.total = t;
24821
- }
24822
- }
24823
- replace(items, start, size) {
24824
- this.length = items.length;
24825
- for (let i = 0; i < items.length; i++) {
24826
- this[i] = items[i];
24827
- }
24828
- this.refresh();
24829
- const t = items["total"];
24830
- if (t) {
24831
- this.total = t;
24832
- }
24833
- if (start !== undefined) {
24834
- this.start = start;
24835
- }
24836
- if (size !== undefined) {
24837
- this.size = size;
24838
- }
24839
- }
24840
- insert(i, item) {
24841
- const n = this.splice(i, 0, item);
24842
- AtomBinder.invokeItemsEvent(this, "add", i, item);
24843
- AtomBinder.refreshValue(this, "length");
24844
- }
24845
- set(i, item) {
24846
- const old = this[i];
24847
- this[i] = item;
24848
- AtomBinder.invokeItemsEvent(this, "replace", i, item, old);
24849
- AtomBinder.refreshValue(this, "length");
24850
- }
24851
- removeAt(i) {
24852
- const item = this[i];
24853
- this.splice(i, 1);
24854
- AtomBinder.invokeItemsEvent(this, "remove", i, item);
24855
- AtomBinder.refreshValue(this, "length");
24856
- return item;
24987
+ url = (_a = window.pageUrl) !== null && _a !== void 0 ? _a : new URL(location.href);
24988
+ ({
24989
+ 1: channelID = url.searchParams.get("p0"),
24990
+ 2: type = url.searchParams.get("p1"),
24991
+ 3: p2 = url.searchParams.get("p2")
24992
+ } = (_b = /^\/channels\/([^\/]+)\/([^\/]+)\/([^\/]+)\//.exec(url === null || url === void 0 ? void 0 : url.pathname)) !== null && _b !== void 0 ? _b : {});
24993
+ if (channelID) {
24994
+ channelID = Base36.decode(channelID);
24995
+ }
24996
+ type || (type = "");
24997
+ if (p2) {
24998
+ p2 = Base36.decode(p2);
24999
+ }
25000
+ emailID = type === "p" ? p2 : void 0;
25001
+ commentIcon = "💬";
25002
+ ChannelMessage = class ChannelMessage extends AtomControl {
25003
+ constructor(app, e = document.createElement("section")) {
25004
+ super(app, e);
25005
+ this.search = "";
25006
+ this.tagID = type === "t" ? p2 : null;
25007
+ this.authorID = type === "a" ? p2 : null;
25008
+ this.emails = [];
25009
+ this.pushInit();
24857
25010
  }
24858
- remove(item) {
24859
- if (item instanceof Function) {
24860
- let removed = false;
24861
- for (let index = 0; index < this.length;) {
24862
- const it = this[index];
24863
- if (item(it)) {
24864
- this.splice(index, 1);
24865
- AtomBinder.invokeItemsEvent(this, "remove", index, it);
24866
- AtomBinder.refreshValue(this, "length");
24867
- removed = true;
24868
- continue;
24869
- }
24870
- index++;
25011
+ init() {
25012
+ var _a;
25013
+ var _b;
25014
+ return __awaiter(this, void 0, void 0, function* () {
25015
+ const channel = yield this.blogService.getChannel(void 0, channelID, void 0);
25016
+ this.channel = channel;
25017
+ if (emailID) {
25018
+ this.email = yield this.blogService.getEmail({
25019
+ emailID,
25020
+ channelID
25021
+ });
25022
+ (_a = (_b = this.email).engagements) !== null && _a !== void 0 ? _a : _b.engagements = [];
25023
+ this.emails = [this.email];
24871
25024
  }
24872
- return removed;
24873
- }
24874
- const n = this.indexOf(item);
24875
- if (n !== -1) {
24876
- this.removeAt(n);
24877
- return true;
24878
- }
24879
- return false;
25025
+ const search = Bind.twoWaysImmediate(() => this.search);
25026
+ this.element.setAttribute("data-blog-list", "blog-list");
25027
+ this.element.setAttribute("data-layout", "flex-center");
25028
+ this.renderer = XNode.create("section", null, XNode.create(BlogHeader, {
25029
+ search: search,
25030
+ channel: channel
25031
+ }), XNode.create("section", null, emailID ? XNode.create(AtomRepeater, {
25032
+ items: this.emails,
25033
+ "event-items-updated": () => this.itemsUpdated(),
25034
+ itemRenderer: x => XNode.create(PostView, {
25035
+ email: x
25036
+ })
25037
+ }) : XNode.create(AtomRepeater, Object.assign({
25038
+ items: this.emails,
25039
+ "event-items-updated": () => this.itemsUpdated(),
25040
+ "data-auto-scroll": "false"
25041
+ }, InfiniteRepeater.pagedItems(start => (c, e, cancelToken) => this.blogService.getEmails({
25042
+ channelID: this.channel.mailboxID,
25043
+ authorID: this.authorID,
25044
+ tagID: this.tagID,
25045
+ start,
25046
+ search: this.search,
25047
+ cancelToken
25048
+ })), {
25049
+ itemRenderer: x => XNode.create(PostSummary, {
25050
+ mailboxEmail: x
25051
+ })
25052
+ }))), XNode.create("aside", null, XNode.create(TagCloud, null), XNode.create(PopularPosts, null), XNode.create(RecentPosts, null)), XNode.create("footer", null));
25053
+ });
24880
25054
  }
24881
- clear() {
24882
- this.length = 0;
24883
- this.refresh();
25055
+ itemsUpdated() {
25056
+ window.pageReady = true;
24884
25057
  }
24885
- refresh() {
24886
- AtomBinder.invokeItemsEvent(this, "refresh", -1, null);
24887
- AtomBinder.refreshValue(this, "length");
25058
+ reactEmail(email, ce) {
25059
+ return __awaiter(this, void 0, void 0, function* () {
25060
+ const {
25061
+ headerMessageID
25062
+ } = email;
25063
+ const emoji = yield EmojiPopup.showControl(ce.target, {
25064
+ parentElement: ce.target
25065
+ });
25066
+ const {
25067
+ channel
25068
+ } = this;
25069
+ const subject = `${emoji}:${Number(email.emailID).toString(36)}:${headerMessageID}`;
25070
+ yield PopupService.alert({
25071
+ message: XNode.create("div", {
25072
+ "data-layout": "vertical-flex"
25073
+ }, "To add your emoji to this post, email just the emoji ", emoji, " with given subject to the channel email address.", XNode.create("div", null, "To: ", channel.emailAddress.emailAddress, " ", XNode.create(CopyIcon, {
25074
+ text: channel.emailAddress.emailAddress
25075
+ }), " "), XNode.create("div", null, "Subject: ", subject, " ", XNode.create(CopyIcon, {
25076
+ text: subject
25077
+ })), XNode.create("div", null, "Body: ", emoji, " ", XNode.create(CopyIcon, {
25078
+ text: emoji
25079
+ })), XNode.create("br", null), XNode.create("div", null, "If you have email client configured, you can click on following link."), XNode.create("div", null, XNode.create("a", {
25080
+ href: `mailto:${channel.emailAddress.emailAddress}?subject=${subject}&body=${emoji}&in-reply-to=${headerMessageID}`
25081
+ }, "Email Now"))),
25082
+ title: "Send Email"
25083
+ });
25084
+ });
24888
25085
  }
24889
- watch(f, wrap) {
24890
- if (wrap) {
24891
- const fx = f;
24892
- f = function () {
24893
- const p = [];
24894
- for (let i = 0; i < arguments.length; i++) {
24895
- const iterator = arguments[i];
24896
- p.push(iterator);
24897
- }
24898
- return fx.call(this, p);
24899
- };
24900
- }
24901
- return AtomBinder.add_CollectionChanged(this, f);
24902
- }
24903
- count(f) {
24904
- let total = 0;
24905
- for (const iterator of this) {
24906
- if (f(iterator)) {
24907
- total++;
24908
- }
24909
- }
24910
- return total;
24911
- }
24912
- avg(f) {
24913
- if (!this.length) {
24914
- return 0;
24915
- }
24916
- let sum = 0;
24917
- for (const iterator of this) {
24918
- sum += f(iterator);
24919
- }
24920
- return sum / this.length;
24921
- }
24922
- includes(item) {
24923
- return this.indexOf(item) !== -1;
24924
- }
24925
- });
24926
- ap = Array.prototype;
24927
- for (const key of Object.getOwnPropertyNames(AtomList.prototype)) {
24928
- const {
24929
- value
24930
- } = Object.getOwnPropertyDescriptor(AtomList.prototype, key);
24931
- switch (key) {
24932
- case "add":
24933
- case "addAll":
24934
- case "clear":
24935
- case "refresh":
24936
- case "set":
24937
- case "remove":
24938
- case "removeAt":
24939
- case "watch":
24940
- case "replace":
24941
- case "insert":
24942
- case "count":
24943
- case "avg":
24944
- case "includes":
24945
- if (key in ap) {
24946
- continue;
24947
- }
24948
- Object.defineProperty(ap, key, {
24949
- enumerable: false,
24950
- value,
24951
- configurable: true,
24952
- writable: true
25086
+ replyEmail(email, ce) {
25087
+ return __awaiter(this, void 0, void 0, function* () {
25088
+ const emoji = commentIcon;
25089
+ const {
25090
+ headerMessageID
25091
+ } = email;
25092
+ const {
25093
+ channel
25094
+ } = this;
25095
+ const subject = `${emoji}:${Number(email.emailID).toString(36)}:${headerMessageID}`;
25096
+ yield PopupService.alert({
25097
+ message: XNode.create("div", {
25098
+ "data-layout": "vertical-flex"
25099
+ }, "To send comment to this post, email us your comment with given subject to the channel email address.", XNode.create("div", null, "To: ", channel.emailAddress.emailAddress, " ", XNode.create(CopyIcon, {
25100
+ text: channel.emailAddress.emailAddress
25101
+ })), XNode.create("div", null, "Subject: ", subject, " ", XNode.create(CopyIcon, {
25102
+ text: subject
25103
+ })), XNode.create("br", null), XNode.create("div", null, "If you have email client configured, you can click on following link."), XNode.create("div", null, XNode.create("a", {
25104
+ href: `mailto:${channel.emailAddress.emailAddress}?subject=${subject}&in-reply-to=${headerMessageID}`
25105
+ }, "Email Now"))),
25106
+ title: "Send Email"
24953
25107
  });
24954
- continue;
24955
- }
24956
- }
24957
- }
24958
- };
24959
- });
24960
- //# sourceMappingURL=AtomList.js.map
24961
-
24962
- AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomList");
24963
-
24964
- System.register(["@web-atoms/core/dist/style/styled"], function (_export, _context) {
24965
- "use strict";
24966
-
24967
- var styled;
24968
- return {
24969
- setters: [function (_webAtomsCoreDistStyleStyled) {
24970
- styled = _webAtomsCoreDistStyleStyled.default;
24971
- }],
24972
- execute: function () {
24973
- styled.css`
24974
-
24975
- div[data-desktop-app=desktop-app] {
24976
- width: 100%;
24977
- }
24978
-
24979
- /* div[data-base-page=base-page] {
24980
- & > [data-page-element=title] {
24981
- overflow-y: visible;
24982
- }
24983
- } */
24984
-
24985
- `.withId("default-app-style").withOrder("medium").installGlobal();
24986
- }
24987
- };
24988
- });
24989
- //# sourceMappingURL=OverrideAppStyle.js.map
24990
-
24991
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/style/OverrideAppStyle");
24992
-
24993
-
24994
- System.register([], function(_export, _context) {
24995
- return {
24996
- setters: [],
24997
- execute: function() {
24998
-
24999
- // this is because in web atoms loader
25000
- // root url may not be set when the module is registered
25001
- setTimeout(() => {
25002
-
25003
- const cssModule = _context.meta.resolve("./data-styles.css");
25004
- const cssURL = System.resolve(cssModule);
25005
-
25006
- const link = document.createElement("link");
25007
- link.id = "data-styles";
25008
- link.setAttribute("href", cssURL);
25009
- link.setAttribute("rel", "stylesheet");
25010
- link.setAttribute("as", "style");
25011
- link.setAttribute("crossorigin", "anonymous");
25012
- const head = document.head;
25013
- const firstElementChild = head.firstElementChild;
25014
- if (firstElementChild) {
25015
- head.insertBefore(link, firstElementChild);
25016
- } else {
25017
- head.appendChild(link);
25018
- }
25019
- }, 1);
25108
+ });
25020
25109
  }
25021
- };
25022
- });
25023
-
25024
-
25025
- AmdLoader.instance.setup("@web-atoms/data-styles/data-styles");
25026
-
25027
- System.register(["@web-atoms/core/dist/core/types", "@web-atoms/core/dist/core/AtomList", "./OverrideAppStyle", "@web-atoms/core/dist/style/styled", "@web-atoms/data-styles/data-styles"], function (_export, _context) {
25028
- "use strict";
25029
-
25030
- var UMD, styled, ___UMD;
25031
- function addLinkTag(href, integrity, rel = "stylesheet") {
25032
- if (!document.head.querySelector(`[href="${href}"]`)) {
25033
- const fa = document.createElement("link");
25034
- fa.href = href;
25035
- fa.crossOrigin = "anonymous";
25036
- fa.as = "style";
25037
- fa.rel = "preload";
25038
- if (integrity) {
25039
- fa.integrity = integrity;
25040
- }
25041
- fa.onload = () => {
25042
- fa.onload = null;
25043
- fa.rel = rel;
25044
25110
  };
25045
- document.head.insertBefore(fa, document.head.firstElementChild);
25046
- }
25047
- }
25048
- return {
25049
- setters: [function (_webAtomsCoreDistCoreTypes) {
25050
- UMD = _webAtomsCoreDistCoreTypes.UMD;
25051
- }, function (_webAtomsCoreDistCoreAtomList) {}, function (_OverrideAppStyle) {}, function (_webAtomsCoreDistStyleStyled) {
25052
- styled = _webAtomsCoreDistStyleStyled.default;
25053
- }, function (_webAtomsDataStylesDataStyles) {}],
25054
- execute: function () {
25055
- _export("___UMD", ___UMD = UMD);
25056
- addLinkTag("https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap");
25057
- addLinkTag("https://npm-git.azureedge.net/npm/package/@c8private/fa-icons@6.5.2/css/all.min.css");
25058
- addLinkTag("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0");
25059
- addLinkTag("https://cdn.jsdelivr.net/npm/file-icon-vectors@1.0.0/dist/file-icon-vivid.min.css");
25060
- styled.css`
25061
-
25062
- :root {
25063
- --primary-color: #294D4A;
25064
- --accent-color: #ff6733;
25065
- --accent2-color: #ff673375;
25066
- --lighter-accent-color: #e6e6fa60;
25067
- --light-accent-color: #f2e5fa;
25068
- --accent-text-color: white;
25069
- --background-color: #f1f1f160;
25070
- --window-background: #50505025;
25071
- --media-bg-color: #9F33FF0F;
25072
- --font-size-small: 0.8125em;
25073
-
25074
- --hover-color: #b8b88b20;
25075
- --command-bg-color: #50505025;
25076
- --hover-text-color: CanvasText;
25077
- --selection-color: #b8b88b60;
25078
- --selection-text-color: CanvasText;
25079
- --spacing: 5px;
25080
- --spacing-medium: 7px;
25081
- --spacing-large: 10px;
25082
- }
25083
-
25084
- html, body {
25085
- margin:0;
25086
- }
25087
-
25088
- * {
25089
- scrollbar-width: thin;
25090
- scrollbar-color: var(--accent-color) white;
25091
- }
25092
-
25093
-
25094
- ::-webkit-scrollbar {
25095
- width: 5px;
25096
- }
25097
- ::-webkit-scrollbar-track {
25098
- background: white;
25099
- border-radius: 20px;
25100
- }
25101
- ::-webkit-scrollbar-thumb {
25102
- background: var(--accent-color);
25103
- border-radius: 20px;
25104
- }
25105
-
25106
- body {
25107
- font-family: trebuchet ms, "Source Sans Pro";
25108
- font-size: 16px;
25109
- justify-content: stretch;
25110
-
25111
- & * {
25112
- font-family: trebuchet ms, "Source Sans Pro";
25113
- box-sizing: border-box;
25114
- }
25115
-
25116
- &::placeholder {
25117
- font-size: smaller;
25118
- }
25119
-
25120
- & ul {
25121
- padding-inline-start: 15px;
25122
- }
25123
-
25124
- & input[type=search] {
25125
- border: none;
25126
- outline: none;
25127
- border-radius: 9999px;
25128
- padding-right: 10px;
25129
- padding-left: 25px;
25130
- background: canvas url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' class='bi bi-search' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'%3E%3C/path%3E%3C/svg%3E") no-repeat 5px center;
25131
- }
25132
- }
25133
-
25134
- `.withId("global-styles").withOrder("medium").installGlobal();
25135
- }
25136
- };
25137
- });
25138
- //# sourceMappingURL=GlobalStyle.js.map
25139
-
25140
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/style/GlobalStyle");
25141
-
25142
- System.register([], function (_export, _context) {
25143
- "use strict";
25144
-
25145
- function Pack(...a) {}
25146
- _export("default", Pack);
25147
- return {
25148
- setters: [],
25149
- execute: function () {}
25150
- };
25151
- });
25152
- //# sourceMappingURL=Pack.js.map
25153
-
25154
- AmdLoader.instance.setup("@web-atoms/core/dist/Pack");
25155
-
25156
- System.register(["tslib", "../../style/GlobalStyle", "@web-atoms/core/dist/Pack"], function (_export, _context) {
25157
- "use strict";
25158
-
25159
- var __decorate, Pack, url, view, Empty;
25160
- return {
25161
- setters: [function (_tslib) {
25162
- __decorate = _tslib.__decorate;
25163
- }, function (_styleGlobalStyle) {}, function (_webAtomsCoreDistPack) {
25164
- Pack = _webAtomsCoreDistPack.default;
25165
- }],
25166
- execute: async function () {
25167
- url = new URL(location.href);
25168
- window.pageUrl = url;
25169
- ({
25170
- default: view
25171
- } = await (/\/channels\//.test(url.pathname) || url.searchParams.has("detail") ? _context.import("./ChannelMessage") : _context.import("./ChannelMessageList")));
25172
- Empty = class Empty extends view {};
25173
- Empty = __decorate([Pack], Empty);
25174
- _export("default", Empty);
25111
+ __decorate([InjectProperty, __metadata("design:type", BlogService)], ChannelMessage.prototype, "blogService", void 0);
25112
+ __decorate([Action({
25113
+ onEvent: "react-email"
25114
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, CustomEvent]), __metadata("design:returntype", Promise)], ChannelMessage.prototype, "reactEmail", null);
25115
+ __decorate([Action({
25116
+ onEvent: "reply-email"
25117
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, CustomEvent]), __metadata("design:returntype", Promise)], ChannelMessage.prototype, "replyEmail", null);
25118
+ ChannelMessage = __decorate([Pack, __metadata("design:paramtypes", [Object, Object])], ChannelMessage);
25119
+ _export("default", ChannelMessage);
25175
25120
  }
25176
25121
  };
25177
25122
  });