@banta/sdk 6.0.2 → 7.0.0

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 (109) hide show
  1. package/fesm2022/banta-sdk.mjs +327 -6762
  2. package/fesm2022/banta-sdk.mjs.map +1 -1
  3. package/index.d.ts +1472 -3
  4. package/package.json +11 -13
  5. package/esm2022/banta-sdk.mjs +0 -5
  6. package/esm2022/lib/attachment-scraper.mjs +0 -2
  7. package/esm2022/lib/banta/banta.component.mjs +0 -207
  8. package/esm2022/lib/banta-logo.component.mjs +0 -11
  9. package/esm2022/lib/banta-sdk.module.mjs +0 -135
  10. package/esm2022/lib/chat/banta-chat/banta-chat.component.mjs +0 -209
  11. package/esm2022/lib/chat/chat-message/chat-message.component.mjs +0 -62
  12. package/esm2022/lib/chat/chat-view/chat-view.component.mjs +0 -166
  13. package/esm2022/lib/chat/chat.module.mjs +0 -51
  14. package/esm2022/lib/chat/index.mjs +0 -6
  15. package/esm2022/lib/chat/live-chat-message.component.mjs +0 -80
  16. package/esm2022/lib/chat-backend-base.mjs +0 -31
  17. package/esm2022/lib/chat-backend.mjs +0 -199
  18. package/esm2022/lib/chat-source-base.mjs +0 -2
  19. package/esm2022/lib/chat-source.mjs +0 -282
  20. package/esm2022/lib/comments/attachment-button/attachment-button.component.mjs +0 -75
  21. package/esm2022/lib/comments/attachment-scraper.directive.mjs +0 -101
  22. package/esm2022/lib/comments/banta-comments/banta-comments.component.mjs +0 -817
  23. package/esm2022/lib/comments/comment/comment.component.mjs +0 -224
  24. package/esm2022/lib/comments/comment-field/comment-field.component.mjs +0 -411
  25. package/esm2022/lib/comments/comment-sort/comment-sort.component.mjs +0 -37
  26. package/esm2022/lib/comments/comment-view/comment-view.component.mjs +0 -780
  27. package/esm2022/lib/comments/comments.module.mjs +0 -127
  28. package/esm2022/lib/comments/index.mjs +0 -12
  29. package/esm2022/lib/comments/inline-replies.directive.mjs +0 -13
  30. package/esm2022/lib/comments/live-comment.component.mjs +0 -80
  31. package/esm2022/lib/comments/reply-send-options.directive.mjs +0 -13
  32. package/esm2022/lib/common/attachment/attachment.component.mjs +0 -128
  33. package/esm2022/lib/common/attachments/attachments.component.mjs +0 -75
  34. package/esm2022/lib/common/common.module.mjs +0 -68
  35. package/esm2022/lib/common/index.mjs +0 -11
  36. package/esm2022/lib/common/lazy-connection.mjs +0 -15
  37. package/esm2022/lib/common/lightbox/lightbox.component.mjs +0 -31
  38. package/esm2022/lib/common/markdown-to-html.pipe.mjs +0 -83
  39. package/esm2022/lib/common/mention-linker.pipe.mjs +0 -35
  40. package/esm2022/lib/common/timer-pool.service.mjs +0 -85
  41. package/esm2022/lib/common/timestamp.component.mjs +0 -124
  42. package/esm2022/lib/common/trust-resource-url.pipe.mjs +0 -22
  43. package/esm2022/lib/emoji/emoji-selector-button.component.mjs +0 -115
  44. package/esm2022/lib/emoji/emoji-selector-panel/emoji-selector-panel.component.mjs +0 -93
  45. package/esm2022/lib/emoji/emoji.module.mjs +0 -55
  46. package/esm2022/lib/emoji/emojis.mjs +0 -6508
  47. package/esm2022/lib/emoji/index.mjs +0 -5
  48. package/esm2022/lib/giphy-attachments.mjs +0 -16
  49. package/esm2022/lib/index.mjs +0 -20
  50. package/esm2022/lib/live-message.component.mjs +0 -96
  51. package/esm2022/lib/message-menu-item.mjs +0 -2
  52. package/esm2022/lib/sdk-options.mjs +0 -3
  53. package/esm2022/lib/static-chat-source.mjs +0 -101
  54. package/esm2022/lib/tweet-attachments.mjs +0 -13
  55. package/esm2022/lib/url-attachments.mjs +0 -42
  56. package/esm2022/lib/youtube-attachments.mjs +0 -29
  57. package/esm2022/public-api.mjs +0 -5
  58. package/lib/attachment-scraper.d.ts +0 -15
  59. package/lib/banta/banta.component.d.ts +0 -59
  60. package/lib/banta-logo.component.d.ts +0 -5
  61. package/lib/banta-sdk.module.d.ts +0 -32
  62. package/lib/chat/banta-chat/banta-chat.component.d.ts +0 -79
  63. package/lib/chat/chat-message/chat-message.component.d.ts +0 -21
  64. package/lib/chat/chat-view/chat-view.component.d.ts +0 -52
  65. package/lib/chat/chat.module.d.ts +0 -15
  66. package/lib/chat/index.d.ts +0 -5
  67. package/lib/chat/live-chat-message.component.d.ts +0 -23
  68. package/lib/chat-backend-base.d.ts +0 -72
  69. package/lib/chat-backend.d.ts +0 -66
  70. package/lib/chat-source-base.d.ts +0 -51
  71. package/lib/chat-source.d.ts +0 -85
  72. package/lib/comments/attachment-button/attachment-button.component.d.ts +0 -17
  73. package/lib/comments/attachment-scraper.directive.d.ts +0 -21
  74. package/lib/comments/banta-comments/banta-comments.component.d.ts +0 -216
  75. package/lib/comments/comment/comment.component.d.ts +0 -90
  76. package/lib/comments/comment-field/comment-field.component.d.ts +0 -92
  77. package/lib/comments/comment-sort/comment-sort.component.d.ts +0 -16
  78. package/lib/comments/comment-view/comment-view.component.d.ts +0 -205
  79. package/lib/comments/comments.module.d.ts +0 -34
  80. package/lib/comments/index.d.ts +0 -11
  81. package/lib/comments/inline-replies.directive.d.ts +0 -5
  82. package/lib/comments/live-comment.component.d.ts +0 -23
  83. package/lib/comments/reply-send-options.directive.d.ts +0 -5
  84. package/lib/common/attachment/attachment.component.d.ts +0 -34
  85. package/lib/common/attachments/attachments.component.d.ts +0 -26
  86. package/lib/common/common.module.d.ts +0 -19
  87. package/lib/common/index.d.ts +0 -10
  88. package/lib/common/lazy-connection.d.ts +0 -6
  89. package/lib/common/lightbox/lightbox.component.d.ts +0 -14
  90. package/lib/common/markdown-to-html.pipe.d.ts +0 -13
  91. package/lib/common/mention-linker.pipe.d.ts +0 -13
  92. package/lib/common/timer-pool.service.d.ts +0 -15
  93. package/lib/common/timestamp.component.d.ts +0 -19
  94. package/lib/common/trust-resource-url.pipe.d.ts +0 -10
  95. package/lib/emoji/emoji-selector-button.component.d.ts +0 -30
  96. package/lib/emoji/emoji-selector-panel/emoji-selector-panel.component.d.ts +0 -23
  97. package/lib/emoji/emoji.module.d.ts +0 -16
  98. package/lib/emoji/emojis.d.ts +0 -6507
  99. package/lib/emoji/index.d.ts +0 -4
  100. package/lib/giphy-attachments.d.ts +0 -5
  101. package/lib/index.d.ts +0 -19
  102. package/lib/live-message.component.d.ts +0 -22
  103. package/lib/message-menu-item.d.ts +0 -6
  104. package/lib/sdk-options.d.ts +0 -8
  105. package/lib/static-chat-source.d.ts +0 -49
  106. package/lib/tweet-attachments.d.ts +0 -5
  107. package/lib/url-attachments.d.ts +0 -14
  108. package/lib/youtube-attachments.d.ts +0 -5
  109. package/public-api.d.ts +0 -1
@@ -1,5 +0,0 @@
1
- export * from './emoji-selector-panel/emoji-selector-panel.component';
2
- export * from './emoji-selector-button.component';
3
- export * from './emojis';
4
- export * from './emoji.module';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZGsvc3JjL2xpYi9lbW9qaS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsbUNBQW1DLENBQUE7QUFDakQsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZW1vamktc2VsZWN0b3ItcGFuZWwvZW1vamktc2VsZWN0b3ItcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9lbW9qaS1zZWxlY3Rvci1idXR0b24uY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2Vtb2ppcyc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2Vtb2ppLm1vZHVsZSc7Il19
@@ -1,16 +0,0 @@
1
- export class GiphyAttachmentResolver {
2
- async resolveFragment(message, fragment) {
3
- if (fragment.type === 'url' && fragment.text.startsWith('https://giphy.com/gifs')) {
4
- let gifId = /[^-\/]+$/.exec(fragment.text)?.toString();
5
- if (!gifId)
6
- return null;
7
- return {
8
- type: 'iframe',
9
- url: `https://giphy.com/embed/${gifId}`,
10
- style: 'inline'
11
- };
12
- }
13
- return null;
14
- }
15
- }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lwaHktYXR0YWNobWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zZGsvc3JjL2xpYi9naXBoeS1hdHRhY2htZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBb0IsRUFBRSxRQUE0QjtRQUNwRSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssS0FBSyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQztZQUNoRixJQUFJLEtBQUssR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsS0FBSztnQkFDTixPQUFPLElBQUksQ0FBQztZQUVoQixPQUFPO2dCQUNILElBQUksRUFBRSxRQUFRO2dCQUNkLEdBQUcsRUFBRSwyQkFBMkIsS0FBSyxFQUFFO2dCQUN2QyxLQUFLLEVBQUUsUUFBUTthQUNsQixDQUFDO1FBQ04sQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYXRNZXNzYWdlLCBDaGF0TWVzc2FnZUF0dGFjaG1lbnQgfSBmcm9tIFwiQGJhbnRhL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBBdHRhY2htZW50RnJhZ21lbnQsIEF0dGFjaG1lbnRSZXNvbHZlciB9IGZyb20gXCIuL2F0dGFjaG1lbnQtc2NyYXBlclwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEdpcGh5QXR0YWNobWVudFJlc29sdmVyIGltcGxlbWVudHMgQXR0YWNobWVudFJlc29sdmVyIHtcclxuICAgIGFzeW5jIHJlc29sdmVGcmFnbWVudChtZXNzYWdlOiBDaGF0TWVzc2FnZSwgZnJhZ21lbnQ6IEF0dGFjaG1lbnRGcmFnbWVudCk6IFByb21pc2U8Q2hhdE1lc3NhZ2VBdHRhY2htZW50PiB7XHJcbiAgICAgICAgaWYgKGZyYWdtZW50LnR5cGUgPT09ICd1cmwnICYmIGZyYWdtZW50LnRleHQuc3RhcnRzV2l0aCgnaHR0cHM6Ly9naXBoeS5jb20vZ2lmcycpKSB7XHJcbiAgICAgICAgICAgIGxldCBnaWZJZCA9IC9bXi1cXC9dKyQvLmV4ZWMoZnJhZ21lbnQudGV4dCk/LnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgIGlmICghZ2lmSWQpXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnaWZyYW1lJyxcclxuICAgICAgICAgICAgICAgIHVybDogYGh0dHBzOi8vZ2lwaHkuY29tL2VtYmVkLyR7Z2lmSWR9YCxcclxuICAgICAgICAgICAgICAgIHN0eWxlOiAnaW5saW5lJ1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,20 +0,0 @@
1
- export * from './common';
2
- export * from './emoji';
3
- export * from './banta/banta.component';
4
- export * from './banta-logo.component';
5
- export * from './chat';
6
- export * from './live-message.component';
7
- export * from './comments';
8
- export * from './chat-backend-base';
9
- export * from './chat-source-base';
10
- export * from './chat-backend';
11
- export * from './chat-source';
12
- export * from './sdk-options';
13
- export * from './attachment-scraper';
14
- export * from './url-attachments';
15
- export * from './youtube-attachments';
16
- export * from './giphy-attachments';
17
- export * from './tweet-attachments';
18
- export * from './message-menu-item';
19
- export * from './banta-sdk.module';
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zZGsvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21tb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2Vtb2ppJztcclxuZXhwb3J0ICogZnJvbSAnLi9iYW50YS9iYW50YS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2JhbnRhLWxvZ28uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9jaGF0JztcclxuZXhwb3J0ICogZnJvbSAnLi9saXZlLW1lc3NhZ2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9jb21tZW50cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2hhdC1iYWNrZW5kLWJhc2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NoYXQtc291cmNlLWJhc2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NoYXQtYmFja2VuZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2hhdC1zb3VyY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Nkay1vcHRpb25zJztcclxuZXhwb3J0ICogZnJvbSAnLi9hdHRhY2htZW50LXNjcmFwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3VybC1hdHRhY2htZW50cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4veW91dHViZS1hdHRhY2htZW50cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZ2lwaHktYXR0YWNobWVudHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3R3ZWV0LWF0dGFjaG1lbnRzJztcclxuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlLW1lbnUtaXRlbSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2JhbnRhLXNkay5tb2R1bGUnOyJdfQ==
@@ -1,96 +0,0 @@
1
- import { Component, Input, Output } from "@angular/core";
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "./comments/live-comment.component";
6
- import * as i3 from "./chat/live-chat-message.component";
7
- export class LiveMessageComponent {
8
- constructor() {
9
- this._upvoted = new Subject();
10
- this._reported = new Subject();
11
- this._selected = new Subject();
12
- }
13
- get upvoted() {
14
- return this._upvoted;
15
- }
16
- get reported() {
17
- return this._reported;
18
- }
19
- get selected() {
20
- return this._selected;
21
- }
22
- get message() {
23
- return this._message;
24
- }
25
- set message(value) {
26
- this._message = value;
27
- this.viewType = this.getViewType(value);
28
- }
29
- getViewType(message) {
30
- if (message.topicId.endsWith('_firehose'))
31
- return 'chat';
32
- else if (message.topicId.endsWith('_thepoint'))
33
- return 'comment';
34
- return 'comment';
35
- }
36
- upvote() {
37
- this._upvoted.next();
38
- }
39
- report() {
40
- this._reported.next();
41
- }
42
- select() {
43
- this._selected.next();
44
- }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: LiveMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
46
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: LiveMessageComponent, selector: "banta-live-message", inputs: { message: "message" }, outputs: { upvoted: "upvoted", reported: "reported", selected: "selected" }, ngImport: i0, template: `
47
- <ng-container *ngIf="message">
48
- <banta-live-chat-message
49
- *ngIf="viewType === 'chat'"
50
- [message]="message"
51
- (upvoted)="upvote(message)"
52
- (reported)="report(message)"
53
- (selected)="select(message)">
54
- </banta-live-chat-message>
55
-
56
- <banta-live-comment
57
- *ngIf="viewType === 'comment'"
58
- [message]="message"
59
- (upvoted)="upvote(message)"
60
- (reported)="report(message)"
61
- (selected)="select(message)">
62
- </banta-live-comment>
63
- </ng-container>
64
- `, isInline: true, styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.LiveCommentComponent, selector: "banta-live-comment", inputs: ["message"], outputs: ["upvoted", "reported", "selected"] }, { kind: "component", type: i3.LiveChatMessageComponent, selector: "banta-live-chat-message", inputs: ["message"], outputs: ["upvoted", "reported", "selected"] }] }); }
65
- }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: LiveMessageComponent, decorators: [{
67
- type: Component,
68
- args: [{ selector: 'banta-live-message', template: `
69
- <ng-container *ngIf="message">
70
- <banta-live-chat-message
71
- *ngIf="viewType === 'chat'"
72
- [message]="message"
73
- (upvoted)="upvote(message)"
74
- (reported)="report(message)"
75
- (selected)="select(message)">
76
- </banta-live-chat-message>
77
-
78
- <banta-live-comment
79
- *ngIf="viewType === 'comment'"
80
- [message]="message"
81
- (upvoted)="upvote(message)"
82
- (reported)="report(message)"
83
- (selected)="select(message)">
84
- </banta-live-comment>
85
- </ng-container>
86
- ` }]
87
- }], ctorParameters: () => [], propDecorators: { upvoted: [{
88
- type: Output
89
- }], reported: [{
90
- type: Output
91
- }], selected: [{
92
- type: Output
93
- }], message: [{
94
- type: Input
95
- }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3Nkay9zcmMvbGliL2xpdmUtbWVzc2FnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7O0FBeUIzQyxNQUFNLE9BQU8sb0JBQW9CO0lBQzdCO1FBS1EsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDL0IsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDaEMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFMeEMsQ0FBQztJQVNELElBQ0ksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQ0ksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsS0FBSztRQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8sV0FBVyxDQUFDLE9BQXFCO1FBQ3JDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1lBQ3JDLE9BQU8sTUFBTSxDQUFDO2FBQ2IsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7WUFDMUMsT0FBTyxTQUFTLENBQUM7UUFFckIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs4R0F4RFEsb0JBQW9CO2tHQUFwQixvQkFBb0IsdUtBckJuQjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBa0JUOzsyRkFHUSxvQkFBb0I7a0JBdkJoQyxTQUFTOytCQUNJLG9CQUFvQixZQUNwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBa0JUO3dEQWdCRyxPQUFPO3NCQURWLE1BQU07Z0JBTUgsUUFBUTtzQkFEWCxNQUFNO2dCQU1ILFFBQVE7c0JBRFgsTUFBTTtnQkFNSCxPQUFPO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDaGF0TWVzc2FnZSB9IGZyb20gJ0BiYW50YS9jb21tb24nO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYmFudGEtbGl2ZS1tZXNzYWdlJyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lc3NhZ2VcIj5cclxuICAgICAgICAgICAgPGJhbnRhLWxpdmUtY2hhdC1tZXNzYWdlXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInZpZXdUeXBlID09PSAnY2hhdCdcIlxyXG4gICAgICAgICAgICAgICAgW21lc3NhZ2VdPVwibWVzc2FnZVwiXHJcbiAgICAgICAgICAgICAgICAodXB2b3RlZCk9XCJ1cHZvdGUobWVzc2FnZSlcIlxyXG4gICAgICAgICAgICAgICAgKHJlcG9ydGVkKT1cInJlcG9ydChtZXNzYWdlKVwiXHJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWQpPVwic2VsZWN0KG1lc3NhZ2UpXCI+XHJcbiAgICAgICAgICAgIDwvYmFudGEtbGl2ZS1jaGF0LW1lc3NhZ2U+XHJcblxyXG4gICAgICAgICAgICA8YmFudGEtbGl2ZS1jb21tZW50IFxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ2aWV3VHlwZSA9PT0gJ2NvbW1lbnQnXCJcclxuICAgICAgICAgICAgICAgIFttZXNzYWdlXT1cIm1lc3NhZ2VcIlxyXG4gICAgICAgICAgICAgICAgKHVwdm90ZWQpPVwidXB2b3RlKG1lc3NhZ2UpXCJcclxuICAgICAgICAgICAgICAgIChyZXBvcnRlZCk9XCJyZXBvcnQobWVzc2FnZSlcIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkKT1cInNlbGVjdChtZXNzYWdlKVwiPlxyXG4gICAgICAgICAgICA8L2JhbnRhLWxpdmUtY29tbWVudD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIGAsXHJcbiAgICBzdHlsZXM6IFtgYF1cclxufSlcclxuZXhwb3J0IGNsYXNzIExpdmVNZXNzYWdlQ29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9tZXNzYWdlIDogQ2hhdE1lc3NhZ2U7XHJcbiAgICBwcml2YXRlIF91cHZvdGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIHByaXZhdGUgX3JlcG9ydGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIHByaXZhdGUgX3NlbGVjdGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICB2aWV3VHlwZSA6IHN0cmluZztcclxuXHJcbiAgICBAT3V0cHV0KCkgXHJcbiAgICBnZXQgdXB2b3RlZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdXB2b3RlZDtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KCkgXHJcbiAgICBnZXQgcmVwb3J0ZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlcG9ydGVkO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAT3V0cHV0KCkgXHJcbiAgICBnZXQgc2VsZWN0ZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgbWVzc2FnZSgpIDogQ2hhdE1lc3NhZ2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9tZXNzYWdlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBtZXNzYWdlKHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5fbWVzc2FnZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMudmlld1R5cGUgPSB0aGlzLmdldFZpZXdUeXBlKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFZpZXdUeXBlKG1lc3NhZ2UgOiBDaGF0TWVzc2FnZSkge1xyXG4gICAgICAgIGlmIChtZXNzYWdlLnRvcGljSWQuZW5kc1dpdGgoJ19maXJlaG9zZScpKVxyXG4gICAgICAgICAgICByZXR1cm4gJ2NoYXQnO1xyXG4gICAgICAgIGVsc2UgaWYgKG1lc3NhZ2UudG9waWNJZC5lbmRzV2l0aCgnX3RoZXBvaW50JykpXHJcbiAgICAgICAgICAgIHJldHVybiAnY29tbWVudCc7XHJcblxyXG4gICAgICAgIHJldHVybiAnY29tbWVudCc7XHJcbiAgICB9XHJcblxyXG4gICAgdXB2b3RlKCkge1xyXG4gICAgICAgIHRoaXMuX3Vwdm90ZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlcG9ydCgpIHtcclxuICAgICAgICB0aGlzLl9yZXBvcnRlZC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0KCkge1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkLm5leHQoKTtcclxuICAgIH1cclxuXHJcbn0iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1tZW51LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zZGsvc3JjL2xpYi9tZXNzYWdlLW1lbnUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhdE1lc3NhZ2UgfSBmcm9tIFwiQGJhbnRhL2NvbW1vblwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlTWVudUl0ZW0ge1xyXG4gICAgaWNvbjogc3RyaW5nO1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIGFjdGlvbjogKG1lc3NhZ2U6IENoYXRNZXNzYWdlKSA9PiB2b2lkO1xyXG59Il19
@@ -1,3 +0,0 @@
1
- import { InjectionToken } from "@angular/core";
2
- export const BANTA_SDK_OPTIONS = new InjectionToken('BANTA_SDK_OPTIONS');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RrLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zZGsvc3JjL2xpYi9zZGstb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBU3JELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFhLG1CQUFtQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENoYXRCYWNrZW5kQmFzZSB9IGZyb20gXCIuL2NoYXQtYmFja2VuZC1iYXNlXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNka09wdGlvbnMge1xyXG4gICAgc2VydmljZVVybD86IHN0cmluZztcclxuICAgIGVtb2ppVXJsPzogc3RyaW5nO1xyXG4gICAgYmFja2VuZENsYXNzPzogVHlwZTxDaGF0QmFja2VuZEJhc2U+XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBCQU5UQV9TREtfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTZGtPcHRpb25zPignQkFOVEFfU0RLX09QVElPTlMnKTsiXX0=
@@ -1,101 +0,0 @@
1
- import { CommentsOrder, FilterMode } from "@banta/common";
2
- import { Subject } from "rxjs";
3
- /**
4
- * A special ChatSource which uses the REST API to load a limited number of chat messages, and does not support
5
- * sending/editing/deleting messages, liking/unliking, or loading more messages.
6
- *
7
- * This is used within Banta's SSR support.
8
- */
9
- export class StaticChatSource {
10
- constructor(backend, identifier, parentIdentifier, options) {
11
- this.backend = backend;
12
- this.identifier = identifier;
13
- this.parentIdentifier = parentIdentifier;
14
- this.ready = Promise.resolve(); // TODO: should we do more than this?
15
- this.readonly = true;
16
- this.canLoadMore = false;
17
- this.messageReceived = new Subject();
18
- this.messageObserved = new Subject();
19
- this.messageUpdated = new Subject();
20
- this.messageSent = new Subject();
21
- this.messages = [];
22
- this.connectionStateChanged = new Subject();
23
- this.state = 'connected';
24
- this.sortOrder = options?.sortOrder ?? CommentsOrder.NEWEST;
25
- this.filterMode = options?.filterMode ?? FilterMode.ALL;
26
- this.initialMessageCount = options?.initialMessageCount ?? 100;
27
- }
28
- async getServerInfo() {
29
- return {
30
- service: '@banta/static-chat-source',
31
- connections: 0,
32
- originId: '',
33
- serverId: '',
34
- cache: {
35
- topicCount: 0,
36
- messageCount: 0,
37
- topics: {}
38
- }
39
- };
40
- }
41
- async send(message) {
42
- throw new Error(`Cannot send a message in this state.`);
43
- }
44
- close() {
45
- // no op
46
- }
47
- async getCount() {
48
- if (this.parentIdentifier) {
49
- // TODO: We need a getReplyCount or something
50
- return 0;
51
- }
52
- this.backend.getSourceCountForTopic(this.identifier);
53
- }
54
- async loadSince(id) {
55
- return undefined;
56
- }
57
- async getExistingMessages() {
58
- if (this.parentIdentifier) {
59
- return await this.backend.getReplies(this.parentIdentifier, this.sortOrder, this.filterMode, 0, this.initialMessageCount);
60
- }
61
- else {
62
- return await this.backend.getMessages(this.identifier, this.sortOrder, this.filterMode, 0, this.initialMessageCount);
63
- }
64
- }
65
- async getPinnedMessages() {
66
- if (this.parentIdentifier) {
67
- return await this.backend.getReplies(this.parentIdentifier, this.sortOrder, this.filterMode, 0, this.initialMessageCount, true);
68
- }
69
- else {
70
- return await this.backend.getMessages(this.identifier, this.sortOrder, this.filterMode, 0, this.initialMessageCount, true);
71
- }
72
- }
73
- async loadAfter(message, count) {
74
- return []; // no op
75
- }
76
- async get(id) {
77
- return await this.backend.getMessage(this.identifier, id);
78
- }
79
- async likeMessage(messageId) {
80
- throw new Error(`Cannot perform this action in this state.`);
81
- }
82
- async unlikeMessage(messageId) {
83
- throw new Error(`Cannot perform this action in this state.`);
84
- }
85
- pinMessage(messageId, options) {
86
- throw new Error(`Cannot perform this action in this state.`);
87
- }
88
- unpinMessage(messageId) {
89
- throw new Error(`Cannot perform this action in this state.`);
90
- }
91
- async editMessage(messageId, text) {
92
- throw new Error(`Cannot perform this action in this state.`);
93
- }
94
- async deleteMessage(messageId) {
95
- throw new Error(`Cannot perform this action in this state.`);
96
- }
97
- get errorState() {
98
- return undefined;
99
- }
100
- }
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLWNoYXQtc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2RrL3NyYy9saWIvc3RhdGljLWNoYXQtc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0MsYUFBYSxFQUFFLFVBQVUsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUVwRyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSTNDOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQUN6QixZQUNZLE9BQW9CLEVBQ25CLFVBQWtCLEVBQ2xCLGdCQUF5QixFQUNsQyxPQUEyQjtRQUhuQixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDbEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFTO1FBY3RDLFVBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxxQ0FBcUM7UUFDaEUsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFlLENBQUM7UUFDN0Msb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBZSxDQUFDO1FBQzdDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQWUsQ0FBQztRQUM1QyxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFlLENBQUM7UUFFekMsYUFBUSxHQUFrQixFQUFFLENBQUM7UUFxRjdCLDJCQUFzQixHQUFHLElBQUksT0FBTyxFQUFvRCxDQUFDO1FBQ3pGLFVBQUssR0FBc0QsV0FBVyxDQUFDO1FBekduRSxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sRUFBRSxTQUFTLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUM1RCxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sRUFBRSxVQUFVLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUN4RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxFQUFFLG1CQUFtQixJQUFJLEdBQUcsQ0FBQztJQUNuRSxDQUFDO0lBa0JELEtBQUssQ0FBQyxhQUFhO1FBQ2YsT0FBTztZQUNILE9BQU8sRUFBRSwyQkFBMkI7WUFDcEMsV0FBVyxFQUFFLENBQUM7WUFDZCxRQUFRLEVBQUUsRUFBRTtZQUNaLFFBQVEsRUFBRSxFQUFFO1lBQ1osS0FBSyxFQUFFO2dCQUNILFVBQVUsRUFBRSxDQUFDO2dCQUNiLFlBQVksRUFBRSxDQUFDO2dCQUNmLE1BQU0sRUFBRSxFQUFFO2FBQ2I7U0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBb0I7UUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxLQUFLO1FBQ0QsUUFBUTtJQUNaLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUTtRQUNWLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsNkNBQTZDO1lBQzdDLE9BQU8sQ0FBQyxDQUFDO1FBQ2IsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQVU7UUFDdEIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxtQkFBbUI7UUFDckIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN4QixPQUFPLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDOUgsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3pILENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQjtRQUNuQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEksQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvSCxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBb0IsRUFBRSxLQUFhO1FBQy9DLE9BQU8sRUFBRSxDQUFDLENBQUMsUUFBUTtJQUN2QixDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFVO1FBQ2hCLE9BQU8sTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQWlCO1FBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxTQUFpQjtRQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELFVBQVUsQ0FBQyxTQUFpQixFQUFFLE9BQTZCO1FBQ3ZELE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFpQixFQUFFLElBQVk7UUFDN0MsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLFNBQWlCO1FBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBS0QsSUFBSSxVQUFVO1FBQ1YsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhdE1lc3NhZ2UsIENoYXRQZXJtaXNzaW9ucywgQ29tbWVudHNPcmRlciwgRmlsdGVyTW9kZSwgU2VydmVySW5mbyB9IGZyb20gXCJAYmFudGEvY29tbW9uXCI7XHJcbmltcG9ydCB7IENoYXRTb3VyY2VCYXNlIH0gZnJvbSBcIi4vY2hhdC1zb3VyY2UtYmFzZVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgQ2hhdEJhY2tlbmQgfSBmcm9tIFwiLi9jaGF0LWJhY2tlbmRcIjtcclxuaW1wb3J0IHsgQ2hhdFNvdXJjZU9wdGlvbnMgfSBmcm9tIFwiLi9jaGF0LWJhY2tlbmQtYmFzZVwiO1xyXG5cclxuLyoqXHJcbiAqIEEgc3BlY2lhbCBDaGF0U291cmNlIHdoaWNoIHVzZXMgdGhlIFJFU1QgQVBJIHRvIGxvYWQgYSBsaW1pdGVkIG51bWJlciBvZiBjaGF0IG1lc3NhZ2VzLCBhbmQgZG9lcyBub3Qgc3VwcG9ydCBcclxuICogc2VuZGluZy9lZGl0aW5nL2RlbGV0aW5nIG1lc3NhZ2VzLCBsaWtpbmcvdW5saWtpbmcsIG9yIGxvYWRpbmcgbW9yZSBtZXNzYWdlcy5cclxuICogXHJcbiAqIFRoaXMgaXMgdXNlZCB3aXRoaW4gQmFudGEncyBTU1Igc3VwcG9ydC5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBTdGF0aWNDaGF0U291cmNlIGltcGxlbWVudHMgQ2hhdFNvdXJjZUJhc2Uge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBiYWNrZW5kOiBDaGF0QmFja2VuZCwgXHJcbiAgICAgICAgcmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nLFxyXG4gICAgICAgIHJlYWRvbmx5IHBhcmVudElkZW50aWZpZXI/OiBzdHJpbmcsXHJcbiAgICAgICAgb3B0aW9ucz86IENoYXRTb3VyY2VPcHRpb25zXHJcbiAgICApIHtcclxuICAgICAgICBcclxuICAgICAgICB0aGlzLnNvcnRPcmRlciA9IG9wdGlvbnM/LnNvcnRPcmRlciA/PyBDb21tZW50c09yZGVyLk5FV0VTVDtcclxuICAgICAgICB0aGlzLmZpbHRlck1vZGUgPSBvcHRpb25zPy5maWx0ZXJNb2RlID8/IEZpbHRlck1vZGUuQUxMO1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbE1lc3NhZ2VDb3VudCA9IG9wdGlvbnM/LmluaXRpYWxNZXNzYWdlQ291bnQgPz8gMTAwO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRpYWxNZXNzYWdlQ291bnQ6IG51bWJlcjtcclxuICAgIHNvcnRPcmRlcjogQ29tbWVudHNPcmRlcjtcclxuICAgIGZpbHRlck1vZGU6IEZpbHRlck1vZGU7XHJcbiAgICBwZXJtaXNzaW9uczogQ2hhdFBlcm1pc3Npb25zOyAvLyBUT0RPXHJcblxyXG4gICAgcmVhZHkgPSBQcm9taXNlLnJlc29sdmUoKTsgLy8gVE9ETzogc2hvdWxkIHdlIGRvIG1vcmUgdGhhbiB0aGlzP1xyXG4gICAgcmVhZG9ubHkgPSB0cnVlO1xyXG4gICAgY2FuTG9hZE1vcmUgPSBmYWxzZTtcclxuXHJcbiAgICBtZXNzYWdlUmVjZWl2ZWQgPSBuZXcgU3ViamVjdDxDaGF0TWVzc2FnZT4oKTtcclxuICAgIG1lc3NhZ2VPYnNlcnZlZCA9IG5ldyBTdWJqZWN0PENoYXRNZXNzYWdlPigpO1xyXG4gICAgbWVzc2FnZVVwZGF0ZWQgPSBuZXcgU3ViamVjdDxDaGF0TWVzc2FnZT4oKTtcclxuICAgIG1lc3NhZ2VTZW50ID0gbmV3IFN1YmplY3Q8Q2hhdE1lc3NhZ2U+KCk7XHJcblxyXG4gICAgbWVzc2FnZXM6IENoYXRNZXNzYWdlW10gPSBbXTtcclxuXHJcbiAgICBhc3luYyBnZXRTZXJ2ZXJJbmZvKCk6IFByb21pc2U8U2VydmVySW5mbz4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHNlcnZpY2U6ICdAYmFudGEvc3RhdGljLWNoYXQtc291cmNlJyxcclxuICAgICAgICAgICAgY29ubmVjdGlvbnM6IDAsXHJcbiAgICAgICAgICAgIG9yaWdpbklkOiAnJyxcclxuICAgICAgICAgICAgc2VydmVySWQ6ICcnLFxyXG4gICAgICAgICAgICBjYWNoZToge1xyXG4gICAgICAgICAgICAgICAgdG9waWNDb3VudDogMCxcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2VDb3VudDogMCxcclxuICAgICAgICAgICAgICAgIHRvcGljczoge31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2VuZChtZXNzYWdlOiBDaGF0TWVzc2FnZSk6IFByb21pc2U8Q2hhdE1lc3NhZ2U+IHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBzZW5kIGEgbWVzc2FnZSBpbiB0aGlzIHN0YXRlLmApO1xyXG4gICAgfVxyXG5cclxuICAgIGNsb3NlKCkge1xyXG4gICAgICAgIC8vIG5vIG9wXHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0Q291bnQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMucGFyZW50SWRlbnRpZmllcikge1xyXG4gICAgICAgICAgICAvLyBUT0RPOiBXZSBuZWVkIGEgZ2V0UmVwbHlDb3VudCBvciBzb21ldGhpbmdcclxuICAgICAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmJhY2tlbmQuZ2V0U291cmNlQ291bnRGb3JUb3BpYyh0aGlzLmlkZW50aWZpZXIpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBhc3luYyBsb2FkU2luY2UoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0RXhpc3RpbmdNZXNzYWdlcygpIHtcclxuICAgICAgICBpZiAodGhpcy5wYXJlbnRJZGVudGlmaWVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJhY2tlbmQuZ2V0UmVwbGllcyh0aGlzLnBhcmVudElkZW50aWZpZXIsIHRoaXMuc29ydE9yZGVyLCB0aGlzLmZpbHRlck1vZGUsIDAsIHRoaXMuaW5pdGlhbE1lc3NhZ2VDb3VudCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYmFja2VuZC5nZXRNZXNzYWdlcyh0aGlzLmlkZW50aWZpZXIsIHRoaXMuc29ydE9yZGVyLCB0aGlzLmZpbHRlck1vZGUsIDAsIHRoaXMuaW5pdGlhbE1lc3NhZ2VDb3VudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldFBpbm5lZE1lc3NhZ2VzKCk6IFByb21pc2U8Q2hhdE1lc3NhZ2VbXT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnBhcmVudElkZW50aWZpZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYmFja2VuZC5nZXRSZXBsaWVzKHRoaXMucGFyZW50SWRlbnRpZmllciwgdGhpcy5zb3J0T3JkZXIsIHRoaXMuZmlsdGVyTW9kZSwgMCwgdGhpcy5pbml0aWFsTWVzc2FnZUNvdW50LCB0cnVlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5iYWNrZW5kLmdldE1lc3NhZ2VzKHRoaXMuaWRlbnRpZmllciwgdGhpcy5zb3J0T3JkZXIsIHRoaXMuZmlsdGVyTW9kZSwgMCwgdGhpcy5pbml0aWFsTWVzc2FnZUNvdW50LCB0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgbG9hZEFmdGVyKG1lc3NhZ2U6IENoYXRNZXNzYWdlLCBjb3VudDogbnVtYmVyKTogUHJvbWlzZTxDaGF0TWVzc2FnZVtdPiB7XHJcbiAgICAgICAgcmV0dXJuIFtdOyAvLyBubyBvcFxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldChpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYmFja2VuZC5nZXRNZXNzYWdlKHRoaXMuaWRlbnRpZmllciwgaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGxpa2VNZXNzYWdlKG1lc3NhZ2VJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgcGVyZm9ybSB0aGlzIGFjdGlvbiBpbiB0aGlzIHN0YXRlLmApO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHVubGlrZU1lc3NhZ2UobWVzc2FnZUlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBwZXJmb3JtIHRoaXMgYWN0aW9uIGluIHRoaXMgc3RhdGUuYCk7XHJcbiAgICB9XHJcblxyXG4gICAgcGluTWVzc2FnZShtZXNzYWdlSWQ6IHN0cmluZywgb3B0aW9ucz86IHsgdW50aWw/OiBudW1iZXI7IH0pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBwZXJmb3JtIHRoaXMgYWN0aW9uIGluIHRoaXMgc3RhdGUuYCk7XHJcbiAgICB9XHJcblxyXG4gICAgdW5waW5NZXNzYWdlKG1lc3NhZ2VJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgcGVyZm9ybSB0aGlzIGFjdGlvbiBpbiB0aGlzIHN0YXRlLmApO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGVkaXRNZXNzYWdlKG1lc3NhZ2VJZDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBwZXJmb3JtIHRoaXMgYWN0aW9uIGluIHRoaXMgc3RhdGUuYCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZGVsZXRlTWVzc2FnZShtZXNzYWdlSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IHBlcmZvcm0gdGhpcyBhY3Rpb24gaW4gdGhpcyBzdGF0ZS5gKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25uZWN0aW9uU3RhdGVDaGFuZ2VkID0gbmV3IFN1YmplY3Q8J2Nvbm5lY3RlZCcgfCAnY29ubmVjdGluZycgfCAnbG9zdCcgfCAncmVzdG9yZWQnPigpO1xyXG4gICAgc3RhdGUgOiAnY29ubmVjdGluZycgfCAnY29ubmVjdGVkJyB8ICdsb3N0JyB8ICdyZXN0b3JlZCcgPSAnY29ubmVjdGVkJztcclxuXHJcbiAgICBnZXQgZXJyb3JTdGF0ZSgpIHtcclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG59Il19
@@ -1,13 +0,0 @@
1
- export class TweetAttachmentResolver {
2
- async resolveFragment(message, fragment) {
3
- if (fragment.type === 'url' && (fragment.text.startsWith('https://twitter.com/') || fragment.text.startsWith('https://x.com/'))) {
4
- return {
5
- type: 'tweet',
6
- url: fragment.text,
7
- style: 'block'
8
- };
9
- }
10
- return null;
11
- }
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdlZXQtYXR0YWNobWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zZGsvc3JjL2xpYi90d2VldC1hdHRhY2htZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBb0IsRUFBRSxRQUE0QjtRQUNwRSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM5SCxPQUFPO2dCQUNILElBQUksRUFBRSxPQUFPO2dCQUNiLEdBQUcsRUFBRSxRQUFRLENBQUMsSUFBSTtnQkFDbEIsS0FBSyxFQUFFLE9BQU87YUFDakIsQ0FBQztRQUNOLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGF0TWVzc2FnZSwgQ2hhdE1lc3NhZ2VBdHRhY2htZW50IH0gZnJvbSBcIkBiYW50YS9jb21tb25cIjtcclxuaW1wb3J0IHsgQXR0YWNobWVudEZyYWdtZW50LCBBdHRhY2htZW50UmVzb2x2ZXIgfSBmcm9tIFwiLi9hdHRhY2htZW50LXNjcmFwZXJcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBUd2VldEF0dGFjaG1lbnRSZXNvbHZlciBpbXBsZW1lbnRzIEF0dGFjaG1lbnRSZXNvbHZlciB7XHJcbiAgICBhc3luYyByZXNvbHZlRnJhZ21lbnQobWVzc2FnZTogQ2hhdE1lc3NhZ2UsIGZyYWdtZW50OiBBdHRhY2htZW50RnJhZ21lbnQpOiBQcm9taXNlPENoYXRNZXNzYWdlQXR0YWNobWVudD4ge1xyXG4gICAgICAgIGlmIChmcmFnbWVudC50eXBlID09PSAndXJsJyAmJiAoZnJhZ21lbnQudGV4dC5zdGFydHNXaXRoKCdodHRwczovL3R3aXR0ZXIuY29tLycpIHx8IGZyYWdtZW50LnRleHQuc3RhcnRzV2l0aCgnaHR0cHM6Ly94LmNvbS8nKSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICd0d2VldCcsXHJcbiAgICAgICAgICAgICAgICB1cmw6IGZyYWdtZW50LnRleHQsXHJcbiAgICAgICAgICAgICAgICBzdHlsZTogJ2Jsb2NrJ1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,42 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "./chat-backend-base";
4
- const URL_REGEX = new RegExp('(?!mailto:)(?:(?:http|https|ftp)://)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?', 'ig');
5
- export class UrlAttachmentScraper {
6
- findFragments(message) {
7
- // If a message already has a URL attachment, don't add another one.
8
- if (message.attachments && message.attachments.filter(x => x.type === 'url').length > 0)
9
- return null;
10
- return (Array.from(message.message.match(URL_REGEX) ?? []))
11
- .reduce((a, item) => (a.includes(item) ? undefined : a.push(item), a), [])
12
- .map(url => ({
13
- text: url,
14
- offset: message.message.indexOf(url),
15
- type: 'url'
16
- }));
17
- }
18
- }
19
- export class UrlAttachmentResolver {
20
- constructor(backend) {
21
- this.backend = backend;
22
- }
23
- async resolveFragment(message, fragment) {
24
- if (fragment.type !== 'url')
25
- return null;
26
- let urlCard = await this.backend.getCardForUrl(fragment.text);
27
- if (urlCard) {
28
- return {
29
- type: 'card',
30
- url: fragment.text,
31
- card: urlCard,
32
- style: 'block'
33
- };
34
- }
35
- }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: UrlAttachmentResolver, deps: [{ token: i1.ChatBackendBase }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: UrlAttachmentResolver }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: UrlAttachmentResolver, decorators: [{
40
- type: Injectable
41
- }], ctorParameters: () => [{ type: i1.ChatBackendBase }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLWF0dGFjaG1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2RrL3NyYy9saWIvdXJsLWF0dGFjaG1lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUszQyxNQUFNLFNBQVMsR0FBRyxJQUFJLE1BQU0sQ0FBQywyWUFBMlksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUVoYixNQUFNLE9BQU8sb0JBQW9CO0lBQzdCLGFBQWEsQ0FBQyxPQUFvQjtRQUM5QixvRUFBb0U7UUFDcEUsSUFBSSxPQUFPLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUNuRixPQUFPLElBQUksQ0FBQztRQUVoQixPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUN0RCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7YUFDekUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNULElBQUksRUFBRSxHQUFHO1lBQ1QsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUNwQyxJQUFJLEVBQUUsS0FBSztTQUNkLENBQUMsQ0FBQyxDQUNOO0lBQ0wsQ0FBQztDQUNKO0FBR0QsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QixZQUFvQixPQUF3QjtRQUF4QixZQUFPLEdBQVAsT0FBTyxDQUFpQjtJQUM1QyxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxPQUFvQixFQUFFLFFBQTRCO1FBQ3BFLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxLQUFLO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDO1FBRWhCLElBQUksT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlELElBQUksT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPO2dCQUNILElBQUksRUFBRSxNQUFNO2dCQUNaLEdBQUcsRUFBRSxRQUFRLENBQUMsSUFBSTtnQkFDbEIsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsS0FBSyxFQUFFLE9BQU87YUFDakIsQ0FBQTtRQUNMLENBQUM7SUFDTCxDQUFDOzhHQWpCUSxxQkFBcUI7a0hBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDaGF0TWVzc2FnZSwgQ2hhdE1lc3NhZ2VBdHRhY2htZW50IH0gZnJvbSBcIkBiYW50YS9jb21tb25cIjtcclxuaW1wb3J0IHsgQXR0YWNobWVudEZyYWdtZW50LCBBdHRhY2htZW50UmVzb2x2ZXIsIEF0dGFjaG1lbnRTY3JhcGVyIH0gZnJvbSBcIi4vYXR0YWNobWVudC1zY3JhcGVyXCI7XHJcbmltcG9ydCB7IENoYXRCYWNrZW5kQmFzZSB9IGZyb20gXCIuL2NoYXQtYmFja2VuZC1iYXNlXCI7XHJcblxyXG5jb25zdCBVUkxfUkVHRVggPSBuZXcgUmVnRXhwKCcoPyFtYWlsdG86KSg/Oig/Omh0dHB8aHR0cHN8ZnRwKTovLykoPzpcXFxcUysoPzo6XFxcXFMqKT9AKT8oPzooPzooPzpbMS05XVxcXFxkP3wxXFxcXGRcXFxcZHwyWzAxXVxcXFxkfDIyWzAtM10pKD86XFxcXC4oPzoxP1xcXFxkezEsMn18MlswLTRdXFxcXGR8MjVbMC01XSkpezJ9KD86XFxcXC4oPzpbMC05XVxcXFxkP3wxXFxcXGRcXFxcZHwyWzAtNF1cXFxcZHwyNVswLTRdKSl8KD86KD86W2EtelxcXFx1MDBhMS1cXFxcdWZmZmYwLTldKy0/KSpbYS16XFxcXHUwMGExLVxcXFx1ZmZmZjAtOV0rKSg/OlxcXFwuKD86W2EtelxcXFx1MDBhMS1cXFxcdWZmZmYwLTldKy0/KSpbYS16XFxcXHUwMGExLVxcXFx1ZmZmZjAtOV0rKSooPzpcXFxcLig/OlthLXpcXFxcdTAwYTEtXFxcXHVmZmZmXXsyLH0pKSl8bG9jYWxob3N0KSg/OjpcXFxcZHsyLDV9KT8oPzooL3xcXFxcP3wjKVteXFxcXHNdKik/JywgJ2lnJyk7XHJcblxyXG5leHBvcnQgY2xhc3MgVXJsQXR0YWNobWVudFNjcmFwZXIgaW1wbGVtZW50cyBBdHRhY2htZW50U2NyYXBlciB7XHJcbiAgICBmaW5kRnJhZ21lbnRzKG1lc3NhZ2U6IENoYXRNZXNzYWdlKTogQXR0YWNobWVudEZyYWdtZW50W10ge1xyXG4gICAgICAgIC8vIElmIGEgbWVzc2FnZSBhbHJlYWR5IGhhcyBhIFVSTCBhdHRhY2htZW50LCBkb24ndCBhZGQgYW5vdGhlciBvbmUuXHJcbiAgICAgICAgaWYgKG1lc3NhZ2UuYXR0YWNobWVudHMgJiYgbWVzc2FnZS5hdHRhY2htZW50cy5maWx0ZXIoeCA9PiB4LnR5cGUgPT09ICd1cmwnKS5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAgICAgcmV0dXJuIChBcnJheS5mcm9tKG1lc3NhZ2UubWVzc2FnZS5tYXRjaChVUkxfUkVHRVgpID8/IFtdKSlcclxuICAgICAgICAgICAgLnJlZHVjZSgoYSwgaXRlbSkgPT4gKGEuaW5jbHVkZXMoaXRlbSkgPyB1bmRlZmluZWQgOiBhLnB1c2goaXRlbSksIGEpLCBbXSlcclxuICAgICAgICAgICAgLm1hcCh1cmwgPT4gKHtcclxuICAgICAgICAgICAgICAgIHRleHQ6IHVybCwgXHJcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IG1lc3NhZ2UubWVzc2FnZS5pbmRleE9mKHVybCksXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAndXJsJ1xyXG4gICAgICAgICAgICB9KSlcclxuICAgICAgICA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFVybEF0dGFjaG1lbnRSZXNvbHZlciBpbXBsZW1lbnRzIEF0dGFjaG1lbnRSZXNvbHZlciB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhY2tlbmQ6IENoYXRCYWNrZW5kQmFzZSkge1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHJlc29sdmVGcmFnbWVudChtZXNzYWdlOiBDaGF0TWVzc2FnZSwgZnJhZ21lbnQ6IEF0dGFjaG1lbnRGcmFnbWVudCk6IFByb21pc2U8Q2hhdE1lc3NhZ2VBdHRhY2htZW50PiB7XHJcbiAgICAgICAgaWYgKGZyYWdtZW50LnR5cGUgIT09ICd1cmwnKVxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAgICAgbGV0IHVybENhcmQgPSBhd2FpdCB0aGlzLmJhY2tlbmQuZ2V0Q2FyZEZvclVybChmcmFnbWVudC50ZXh0KTtcclxuICAgICAgICBpZiAodXJsQ2FyZCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogJ2NhcmQnLFxyXG4gICAgICAgICAgICAgICAgdXJsOiBmcmFnbWVudC50ZXh0LFxyXG4gICAgICAgICAgICAgICAgY2FyZDogdXJsQ2FyZCxcclxuICAgICAgICAgICAgICAgIHN0eWxlOiAnYmxvY2snXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59Il19
@@ -1,29 +0,0 @@
1
- export class YouTubeAttachmentResolver {
2
- async resolveFragment(message, fragment) {
3
- if (fragment.type !== 'url')
4
- return null;
5
- let videoId;
6
- // https://youtu.be/jXzJ7FlqX6M
7
- if (fragment.text.match(/^https:\/\/youtu\.be\//)) {
8
- let match = /^https:\/\/youtu\.be\/([^\/]+)/.exec(fragment.text);
9
- if (match) {
10
- videoId = match[1];
11
- }
12
- }
13
- if (!videoId && fragment.text.match(/^https?:\/\/(www\.|m\.)?youtube.com\/watch\?v=/)) {
14
- let match = /watch\?v=([^&]+)/.exec(fragment.text);
15
- if (match) {
16
- videoId = match[1];
17
- }
18
- }
19
- if (videoId) {
20
- return {
21
- type: 'iframe',
22
- url: `https://www.youtube.com/embed/${videoId}`,
23
- style: 'block'
24
- };
25
- }
26
- return null;
27
- }
28
- }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieW91dHViZS1hdHRhY2htZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3Nkay9zcmMvbGliL3lvdXR1YmUtYXR0YWNobWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLHlCQUF5QjtJQUNsQyxLQUFLLENBQUMsZUFBZSxDQUFDLE9BQW9CLEVBQUUsUUFBNEI7UUFDcEUsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLEtBQUs7WUFDdkIsT0FBTyxJQUFJLENBQUM7UUFFaEIsSUFBSSxPQUFlLENBQUM7UUFFcEIsK0JBQStCO1FBRS9CLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDO1lBQ2hELElBQUksS0FBSyxHQUFHLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakUsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDUixPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxFQUFFLENBQUM7WUFDcEYsSUFBSSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuRCxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNSLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsT0FBTztnQkFDSCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxHQUFHLEVBQUUsaUNBQWlDLE9BQU8sRUFBRTtnQkFDL0MsS0FBSyxFQUFFLE9BQU87YUFDakIsQ0FBQztRQUNOLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGF0TWVzc2FnZSwgQ2hhdE1lc3NhZ2VBdHRhY2htZW50IH0gZnJvbSBcIkBiYW50YS9jb21tb25cIjtcclxuaW1wb3J0IHsgQXR0YWNobWVudEZyYWdtZW50LCBBdHRhY2htZW50UmVzb2x2ZXIgfSBmcm9tIFwiLi9hdHRhY2htZW50LXNjcmFwZXJcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBZb3VUdWJlQXR0YWNobWVudFJlc29sdmVyIGltcGxlbWVudHMgQXR0YWNobWVudFJlc29sdmVyIHtcclxuICAgIGFzeW5jIHJlc29sdmVGcmFnbWVudChtZXNzYWdlOiBDaGF0TWVzc2FnZSwgZnJhZ21lbnQ6IEF0dGFjaG1lbnRGcmFnbWVudCk6IFByb21pc2U8Q2hhdE1lc3NhZ2VBdHRhY2htZW50PiB7XHJcbiAgICAgICAgaWYgKGZyYWdtZW50LnR5cGUgIT09ICd1cmwnKVxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAgICAgbGV0IHZpZGVvSWQ6IHN0cmluZztcclxuXHJcbiAgICAgICAgLy8gaHR0cHM6Ly95b3V0dS5iZS9qWHpKN0ZscVg2TVxyXG5cclxuICAgICAgICBpZiAoZnJhZ21lbnQudGV4dC5tYXRjaCgvXmh0dHBzOlxcL1xcL3lvdXR1XFwuYmVcXC8vKSkge1xyXG4gICAgICAgICAgICBsZXQgbWF0Y2ggPSAvXmh0dHBzOlxcL1xcL3lvdXR1XFwuYmVcXC8oW15cXC9dKykvLmV4ZWMoZnJhZ21lbnQudGV4dCk7XHJcbiAgICAgICAgICAgIGlmIChtYXRjaCkge1xyXG4gICAgICAgICAgICAgICAgdmlkZW9JZCA9IG1hdGNoWzFdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXZpZGVvSWQgJiYgZnJhZ21lbnQudGV4dC5tYXRjaCgvXmh0dHBzPzpcXC9cXC8od3d3XFwufG1cXC4pP3lvdXR1YmUuY29tXFwvd2F0Y2hcXD92PS8pKSB7XHJcbiAgICAgICAgICAgIGxldCBtYXRjaCA9IC93YXRjaFxcP3Y9KFteJl0rKS8uZXhlYyhmcmFnbWVudC50ZXh0KTtcclxuICAgICAgICAgICAgaWYgKG1hdGNoKSB7XHJcbiAgICAgICAgICAgICAgICB2aWRlb0lkID0gbWF0Y2hbMV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh2aWRlb0lkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnaWZyYW1lJyxcclxuICAgICAgICAgICAgICAgIHVybDogYGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLyR7dmlkZW9JZH1gLFxyXG4gICAgICAgICAgICAgICAgc3R5bGU6ICdibG9jaydcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,5 +0,0 @@
1
- /*
2
- * Public API Surface of sdk
3
- */
4
- export * from './lib';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3Nkay9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBzZGtcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYic7XG4iXX0=
@@ -1,15 +0,0 @@
1
- import { ChatMessage, ChatMessageAttachment } from '@banta/common';
2
- export interface AttachmentFragment {
3
- text: string;
4
- offset: number;
5
- type: string;
6
- }
7
- export interface AttachmentScraper {
8
- findFragments(message: ChatMessage): AttachmentFragment[];
9
- }
10
- export interface AttachmentResolver {
11
- resolveFragment(message: ChatMessage, fragment: AttachmentFragment): Promise<ChatMessageAttachment>;
12
- }
13
- export interface AttachmentRenderer {
14
- attachment: ChatMessageAttachment;
15
- }
@@ -1,59 +0,0 @@
1
- import { NewMessageForm, ChatMessage, User, Notification } from '@banta/common';
2
- import { Observable } from 'rxjs';
3
- import { MatDialog } from '@angular/material/dialog';
4
- import { BantaChatComponent } from '../chat';
5
- import { ChatBackendBase } from "../chat-backend-base";
6
- import { ChatSourceBase } from "../chat-source-base";
7
- import * as i0 from "@angular/core";
8
- /**
9
- * Unified chat and comments component
10
- */
11
- export declare class BantaComponent {
12
- private backend;
13
- private matDialog;
14
- constructor(backend: ChatBackendBase, matDialog: MatDialog);
15
- firehoseSource: ChatSourceBase;
16
- pointSource: ChatSourceBase;
17
- private _topicID;
18
- private _subs;
19
- auxOpen: boolean;
20
- auxTitle: string;
21
- auxMode: string;
22
- ngOnInit(): void;
23
- mobileFocus: string;
24
- sendPointSubMessage(): Promise<void>;
25
- firehose: BantaChatComponent;
26
- goToMessage(message: ChatMessage): Promise<void>;
27
- notifications: Notification[];
28
- newNotifications: boolean;
29
- pointUnfocus(): void;
30
- ngOnDestroy(): void;
31
- showAux(title: string, mode: string): void;
32
- showNotifications(): void;
33
- get topicID(): string;
34
- chatLabel: string;
35
- commentsLabel: string;
36
- allowServerInfoRequest: boolean;
37
- set topicID(value: string);
38
- private connectToTopic;
39
- private _signInSelected;
40
- get signInSelected(): Observable<void>;
41
- showSignIn(): void;
42
- close(): void;
43
- get hasPoint(): boolean;
44
- pointOpen: ChatMessage;
45
- pointSubChat: ChatSourceBase;
46
- closeAux(): void;
47
- getViewType(message: ChatMessage): "chat" | "comment";
48
- upvoteMessage(message: ChatMessage): Promise<void>;
49
- showProfile(user: User): void;
50
- profileUser: User;
51
- reportedMessage: ChatMessage;
52
- sendReport(message: ChatMessage): void;
53
- reportMessage(message: ChatMessage): void;
54
- currentUser: User;
55
- newPointSubMessage: NewMessageForm;
56
- genericAvatarUrl: string;
57
- static ɵfac: i0.ɵɵFactoryDeclaration<BantaComponent, never>;
58
- static ɵcmp: i0.ɵɵComponentDeclaration<BantaComponent, "banta", never, { "topicID": { "alias": "topicID"; "required": false; }; "chatLabel": { "alias": "chatLabel"; "required": false; }; "commentsLabel": { "alias": "commentsLabel"; "required": false; }; "allowServerInfoRequest": { "alias": "allowServerInfoRequest"; "required": false; }; }, { "signInSelected": "signInSelected"; }, never, never, false, never>;
59
- }
@@ -1,5 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class BantaLogoComponent {
3
- static ɵfac: i0.ɵɵFactoryDeclaration<BantaLogoComponent, never>;
4
- static ɵcmp: i0.ɵɵComponentDeclaration<BantaLogoComponent, "banta-logo", never, {}, {}, never, never, false, never>;
5
- }
@@ -1,32 +0,0 @@
1
- import { ModuleWithProviders } from '@angular/core';
2
- import { SdkOptions } from './sdk-options';
3
- import { ChatBackendBase } from './chat-backend-base';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./banta/banta.component";
6
- import * as i2 from "./banta-logo.component";
7
- import * as i3 from "./live-message.component";
8
- import * as i4 from "@angular/common";
9
- import * as i5 from "@angular/forms";
10
- import * as i6 from "./common/common.module";
11
- import * as i7 from "./comments/comments.module";
12
- import * as i8 from "./chat/chat.module";
13
- import * as i9 from "./emoji/emoji.module";
14
- import * as i10 from "@angular/material/icon";
15
- import * as i11 from "@angular/material/button";
16
- import * as i12 from "@angular/material/tooltip";
17
- import * as i13 from "@angular/material/menu";
18
- import * as i14 from "@angular/material/dialog";
19
- import * as i15 from "@angular/material/form-field";
20
- import * as i16 from "@angular/material/input";
21
- import * as i17 from "@angular/material/progress-spinner";
22
- import * as i18 from "@angular/material/snack-bar";
23
- import * as i19 from "@angular/cdk/overlay";
24
- import * as i20 from "@angular/cdk/portal";
25
- export declare class BantaSdkModule {
26
- chatBackend: ChatBackendBase;
27
- constructor();
28
- static configure(options?: SdkOptions): ModuleWithProviders<BantaSdkModule>;
29
- static ɵfac: i0.ɵɵFactoryDeclaration<BantaSdkModule, never>;
30
- static ɵmod: i0.ɵɵNgModuleDeclaration<BantaSdkModule, [typeof i1.BantaComponent, typeof i2.BantaLogoComponent, typeof i3.LiveMessageComponent], [typeof i4.CommonModule, typeof i5.FormsModule, typeof i6.BantaCommonModule, typeof i7.CommentsModule, typeof i8.ChatModule, typeof i9.EmojiModule, typeof i10.MatIconModule, typeof i11.MatButtonModule, typeof i12.MatTooltipModule, typeof i13.MatMenuModule, typeof i14.MatDialogModule, typeof i15.MatFormFieldModule, typeof i16.MatInputModule, typeof i17.MatProgressSpinnerModule, typeof i18.MatSnackBarModule, typeof i19.OverlayModule, typeof i20.PortalModule], [typeof i1.BantaComponent, typeof i2.BantaLogoComponent, typeof i3.LiveMessageComponent, typeof i6.BantaCommonModule, typeof i8.ChatModule, typeof i7.CommentsModule, typeof i9.EmojiModule]>;
31
- static ɵinj: i0.ɵɵInjectorDeclaration<BantaSdkModule>;
32
- }
@@ -1,79 +0,0 @@
1
- import { ElementRef } from "@angular/core";
2
- import { Observable } from 'rxjs';
3
- import { User, ChatMessage, NewMessageForm } from '@banta/common';
4
- import { ChatViewComponent } from '../chat-view/chat-view.component';
5
- import { ChatBackendBase } from "../../chat-backend-base";
6
- import { ChatSourceBase } from "../../chat-source-base";
7
- import * as i0 from "@angular/core";
8
- /**
9
- * Chat component
10
- */
11
- export declare class BantaChatComponent {
12
- private backend;
13
- constructor(backend: ChatBackendBase);
14
- private _source;
15
- private _subs;
16
- user: User;
17
- shouldInterceptMessageSend?: (message: ChatMessage, source: ChatSourceBase) => boolean | Promise<boolean>;
18
- url: string;
19
- ngOnInit(): void;
20
- ngOnDestroy(): void;
21
- get source(): ChatSourceBase;
22
- set source(value: ChatSourceBase);
23
- get topicID(): string;
24
- set topicID(value: string);
25
- private _metadata;
26
- /**
27
- * Arbitrary metadata to send to the chat server. This can be used to provide context about the client to the server
28
- * for things like validating authorization and other uses.
29
- */
30
- get metadata(): Record<string, any>;
31
- set metadata(value: Record<string, any>);
32
- private _reloadSourceTimeout;
33
- private reloadSource;
34
- private setSourceFromTopicID;
35
- signInLabel: string;
36
- sendLabel: string;
37
- permissionDeniedLabel: string;
38
- messageFieldPlaceholder: string;
39
- emptyLabel: string;
40
- private _selected;
41
- private _selected$;
42
- private _reported;
43
- private _reported$;
44
- private _upvoted;
45
- private _upvoted$;
46
- private _userSelected;
47
- private _userSelected$;
48
- private _permissionDeniedError;
49
- private _permissionDeniedError$;
50
- private _signInSelected;
51
- private _signInSelected$;
52
- private _received;
53
- private _received$;
54
- get selected(): Observable<ChatMessage>;
55
- get reported(): Observable<ChatMessage>;
56
- get upvoted(): Observable<ChatMessage>;
57
- get userSelected(): Observable<ChatMessage>;
58
- get permissionDeniedError(): Observable<string>;
59
- get signInSelected(): Observable<void>;
60
- get received(): Observable<ChatMessage>;
61
- onReceived(message: ChatMessage): void;
62
- showEmojiPanel: boolean;
63
- showSignIn(): void;
64
- sendPermissionError(message: string): void;
65
- insertEmoji(emoji: any): void;
66
- onKeyDown(event: KeyboardEvent): void;
67
- chatView: ChatViewComponent;
68
- inputElementRef: ElementRef<HTMLInputElement>;
69
- jumpToMessage(message: ChatMessage): void;
70
- select(message: ChatMessage): void;
71
- selectUser(message: ChatMessage): void;
72
- report(message: ChatMessage): void;
73
- upvote(message: ChatMessage): Promise<void>;
74
- get canChat(): boolean;
75
- newMessage: NewMessageForm;
76
- sendMessage(): Promise<void>;
77
- static ɵfac: i0.ɵɵFactoryDeclaration<BantaChatComponent, never>;
78
- static ɵcmp: i0.ɵɵComponentDeclaration<BantaChatComponent, "banta-chat", never, { "shouldInterceptMessageSend": { "alias": "shouldInterceptMessageSend"; "required": false; }; "url": { "alias": "url"; "required": false; }; "source": { "alias": "source"; "required": false; }; "topicID": { "alias": "topicID"; "required": false; }; "metadata": { "alias": "metadata"; "required": false; }; "signInLabel": { "alias": "signInLabel"; "required": false; }; "sendLabel": { "alias": "sendLabel"; "required": false; }; "permissionDeniedLabel": { "alias": "permissionDeniedLabel"; "required": false; }; "messageFieldPlaceholder": { "alias": "messageFieldPlaceholder"; "required": false; }; "emptyLabel": { "alias": "emptyLabel"; "required": false; }; }, { "selected": "selected"; "reported": "reported"; "upvoted": "upvoted"; "userSelected": "userSelected"; "permissionDeniedError": "permissionDeniedError"; "signInSelected": "signInSelected"; "received": "received"; }, never, never, false, never>;
79
- }
@@ -1,21 +0,0 @@
1
- import { User, ChatMessage } from '@banta/common';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export declare class ChatMessageComponent {
5
- private _selected;
6
- private _reported;
7
- private _upvoted;
8
- private _userSelected;
9
- message: ChatMessage;
10
- get userSelected(): Subject<User>;
11
- get selected(): Subject<void>;
12
- get reported(): Subject<void>;
13
- get upvoted(): Subject<void>;
14
- avatarForUser(user: User): string;
15
- upvote(): void;
16
- report(): void;
17
- select(): void;
18
- selectUser(): void;
19
- static ɵfac: i0.ɵɵFactoryDeclaration<ChatMessageComponent, never>;
20
- static ɵcmp: i0.ɵɵComponentDeclaration<ChatMessageComponent, "banta-chat-message", never, { "message": { "alias": "message"; "required": false; }; }, { "userSelected": "userSelected"; "selected": "selected"; "reported": "reported"; "upvoted": "upvoted"; }, never, never, false, never>;
21
- }