stream-chat-angular 2.9.0 → 2.12.1
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.
- package/assets/i18n/en.d.ts +2 -0
- package/assets/version.d.ts +1 -1
- package/bundles/stream-chat-angular.umd.js +718 -343
- package/bundles/stream-chat-angular.umd.js.map +1 -1
- package/esm2015/assets/i18n/en.js +3 -1
- package/esm2015/assets/version.js +2 -2
- package/esm2015/lib/channel/channel.component.js +3 -2
- package/esm2015/lib/channel.service.js +175 -40
- package/esm2015/lib/chat-client.service.js +6 -1
- package/esm2015/lib/icon/icon.component.js +2 -2
- package/esm2015/lib/message/message.component.js +67 -42
- package/esm2015/lib/message-actions-box/message-actions-box.component.js +20 -9
- package/esm2015/lib/message-input/message-input.component.js +61 -13
- package/esm2015/lib/message-list/message-list.component.js +124 -55
- package/esm2015/lib/message-preview.js +4 -2
- package/esm2015/lib/stream-chat.module.js +8 -3
- package/esm2015/lib/thread/thread.component.js +37 -0
- package/esm2015/public-api.js +2 -1
- package/fesm2015/stream-chat-angular.js +583 -252
- package/fesm2015/stream-chat-angular.js.map +1 -1
- package/lib/channel/channel.component.d.ts +2 -1
- package/lib/channel.service.d.ts +22 -7
- package/lib/chat-client.service.d.ts +1 -0
- package/lib/icon/icon.component.d.ts +1 -1
- package/lib/message/message.component.d.ts +26 -8
- package/lib/message-actions-box/message-actions-box.component.d.ts +4 -1
- package/lib/message-input/message-input.component.d.ts +7 -1
- package/lib/message-list/message-list.component.d.ts +21 -7
- package/lib/message-preview.d.ts +1 -1
- package/lib/stream-chat.module.d.ts +5 -4
- package/lib/thread/thread.component.d.ts +18 -0
- package/package.json +2 -11
- package/public-api.d.ts +1 -0
- package/src/assets/i18n/en.ts +4 -0
- package/src/assets/version.ts +1 -1
|
@@ -7,35 +7,43 @@ import * as i2 from "../chat-client.service";
|
|
|
7
7
|
import * as i3 from "./image-load.service";
|
|
8
8
|
import * as i4 from "../message/message.component";
|
|
9
9
|
import * as i5 from "@angular/common";
|
|
10
|
+
import * as i6 from "@ngx-translate/core";
|
|
10
11
|
export class MessageListComponent {
|
|
11
12
|
constructor(channelService, chatClientService, imageLoadService) {
|
|
12
13
|
this.channelService = channelService;
|
|
13
14
|
this.chatClientService = chatClientService;
|
|
14
15
|
this.imageLoadService = imageLoadService;
|
|
15
|
-
|
|
16
|
+
/**
|
|
17
|
+
* @deprecated https://getstream.io/chat/docs/sdk/angular/components/message_list/#caution-arereactionsenabled-deprecated
|
|
18
|
+
*/
|
|
19
|
+
this.areReactionsEnabled = undefined;
|
|
20
|
+
/**
|
|
21
|
+
* @deprecated https://getstream.io/chat/docs/sdk/angular/components/message_list/#caution-enabledmessageactions-deprecated
|
|
22
|
+
*/
|
|
16
23
|
/* eslint-disable-next-line @angular-eslint/no-input-rename */
|
|
17
|
-
this.enabledMessageActionsInput =
|
|
24
|
+
this.enabledMessageActionsInput = undefined;
|
|
25
|
+
this.mode = 'main';
|
|
18
26
|
this.enabledMessageActions = [];
|
|
19
27
|
this.class = 'str-chat-angular__main-panel-inner str-chat-angular__message-list-host';
|
|
20
28
|
this.unreadMessageCount = 0;
|
|
21
29
|
this.groupStyles = [];
|
|
22
30
|
this.authorizedMessageActions = ['flag'];
|
|
23
31
|
this.isUserScrolledUpThreshold = 300;
|
|
24
|
-
this.
|
|
32
|
+
this.subscriptions = [];
|
|
33
|
+
this.subscriptions.push(this.channelService.activeChannel$.subscribe((channel) => {
|
|
25
34
|
var _a;
|
|
26
|
-
this.
|
|
27
|
-
this.hasNewMessages = true;
|
|
28
|
-
this.isUserScrolledUp = false;
|
|
29
|
-
this.containerHeight = undefined;
|
|
30
|
-
this.olderMassagesLoaded = false;
|
|
31
|
-
this.oldestMessageDate = undefined;
|
|
32
|
-
this.unreadMessageCount = 0;
|
|
33
|
-
this.isNewMessageSentByUser = undefined;
|
|
35
|
+
this.resetScrollState();
|
|
34
36
|
const capabilites = (_a = channel === null || channel === void 0 ? void 0 : channel.data) === null || _a === void 0 ? void 0 : _a.own_capabilities;
|
|
35
37
|
if (capabilites) {
|
|
36
38
|
this.canReactToMessage = capabilites.indexOf('send-reaction') !== -1;
|
|
37
39
|
this.canReceiveReadEvents = capabilites.indexOf('read-events') !== -1;
|
|
38
40
|
this.authorizedMessageActions = [];
|
|
41
|
+
if (this.canReactToMessage) {
|
|
42
|
+
this.authorizedMessageActions.push('send-reaction');
|
|
43
|
+
}
|
|
44
|
+
if (this.canReceiveReadEvents) {
|
|
45
|
+
this.authorizedMessageActions.push('read-events');
|
|
46
|
+
}
|
|
39
47
|
if (capabilites.indexOf('flag-message') !== -1) {
|
|
40
48
|
this.authorizedMessageActions.push('flag');
|
|
41
49
|
}
|
|
@@ -53,47 +61,16 @@ export class MessageListComponent {
|
|
|
53
61
|
this.authorizedMessageActions.push('delete');
|
|
54
62
|
this.authorizedMessageActions.push('delete-any');
|
|
55
63
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
});
|
|
59
|
-
this.messages$ = this.channelService.activeChannelMessages$.pipe(tap((messages) => {
|
|
60
|
-
var _a, _b, _c, _d, _e;
|
|
61
|
-
if (messages.length === 0) {
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
const currentLatestMessageDate = messages[messages.length - 1].created_at;
|
|
65
|
-
if (!this.latestMessageDate ||
|
|
66
|
-
((_a = this.latestMessageDate) === null || _a === void 0 ? void 0 : _a.getTime()) < currentLatestMessageDate.getTime()) {
|
|
67
|
-
this.latestMessageDate = currentLatestMessageDate;
|
|
68
|
-
this.hasNewMessages = true;
|
|
69
|
-
this.isNewMessageSentByUser =
|
|
70
|
-
((_b = messages[messages.length - 1].user) === null || _b === void 0 ? void 0 : _b.id) ===
|
|
71
|
-
((_d = (_c = this.chatClientService.chatClient) === null || _c === void 0 ? void 0 : _c.user) === null || _d === void 0 ? void 0 : _d.id);
|
|
72
|
-
if (this.isUserScrolledUp) {
|
|
73
|
-
this.unreadMessageCount++;
|
|
64
|
+
if (capabilites.indexOf('send-reply') !== -1) {
|
|
65
|
+
this.authorizedMessageActions.push('send-reply');
|
|
74
66
|
}
|
|
67
|
+
if (capabilites.indexOf('quote-message') !== -1) {
|
|
68
|
+
this.authorizedMessageActions.push('quote-message');
|
|
69
|
+
}
|
|
70
|
+
this.setEnabledActions();
|
|
75
71
|
}
|
|
76
|
-
const currentOldestMessageDate = messages[0].created_at;
|
|
77
|
-
if (!this.oldestMessageDate) {
|
|
78
|
-
this.oldestMessageDate = currentOldestMessageDate;
|
|
79
|
-
}
|
|
80
|
-
else if (((_e = this.oldestMessageDate) === null || _e === void 0 ? void 0 : _e.getTime()) > currentOldestMessageDate.getTime()) {
|
|
81
|
-
this.oldestMessageDate = currentOldestMessageDate;
|
|
82
|
-
this.olderMassagesLoaded = true;
|
|
83
|
-
}
|
|
84
|
-
}), tap((messages) => {
|
|
85
|
-
this.groupStyles = messages.map((m, i) => getGroupStyles(m, messages[i - 1], messages[i + 1]));
|
|
86
|
-
}), tap((messages) => {
|
|
87
|
-
var _a;
|
|
88
|
-
return (this.lastSentMessageId = (_a = [...messages]
|
|
89
|
-
.reverse()
|
|
90
|
-
.find((m) => {
|
|
91
|
-
var _a, _b, _c;
|
|
92
|
-
return ((_a = m.user) === null || _a === void 0 ? void 0 : _a.id) === ((_c = (_b = this.chatClientService.chatClient) === null || _b === void 0 ? void 0 : _b.user) === null || _c === void 0 ? void 0 : _c.id) &&
|
|
93
|
-
m.status !== 'sending';
|
|
94
|
-
})) === null || _a === void 0 ? void 0 : _a.id);
|
|
95
72
|
}));
|
|
96
|
-
this.imageLoadService.imageLoad$.subscribe(() => {
|
|
73
|
+
this.subscriptions.push(this.imageLoadService.imageLoad$.subscribe(() => {
|
|
97
74
|
if (!this.isUserScrolledUp) {
|
|
98
75
|
this.scrollToBottom();
|
|
99
76
|
// Hacky and unreliable workaround to scroll down after loaded images move the scrollbar
|
|
@@ -101,12 +78,27 @@ export class MessageListComponent {
|
|
|
101
78
|
this.scrollToBottom();
|
|
102
79
|
}, 300);
|
|
103
80
|
}
|
|
104
|
-
});
|
|
81
|
+
}));
|
|
82
|
+
this.subscriptions.push(this.channelService.activeParentMessage$.subscribe((message) => {
|
|
83
|
+
if (message &&
|
|
84
|
+
this.parentMessage &&
|
|
85
|
+
message.id !== this.parentMessage.id &&
|
|
86
|
+
this.mode === 'thread') {
|
|
87
|
+
this.resetScrollState();
|
|
88
|
+
}
|
|
89
|
+
this.parentMessage = message;
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
ngOnInit() {
|
|
93
|
+
this.setMessages$();
|
|
105
94
|
}
|
|
106
95
|
ngOnChanges(changes) {
|
|
107
96
|
if (changes.enabledMessageActionsInput) {
|
|
108
97
|
this.setEnabledActions();
|
|
109
98
|
}
|
|
99
|
+
if (changes.mode) {
|
|
100
|
+
this.setMessages$();
|
|
101
|
+
}
|
|
110
102
|
}
|
|
111
103
|
ngAfterViewChecked() {
|
|
112
104
|
if (this.hasNewMessages) {
|
|
@@ -132,6 +124,9 @@ export class MessageListComponent {
|
|
|
132
124
|
this.containerHeight = this.scrollContainer.nativeElement.scrollHeight;
|
|
133
125
|
}
|
|
134
126
|
}
|
|
127
|
+
ngOnDestroy() {
|
|
128
|
+
this.subscriptions.forEach((s) => s.unsubscribe());
|
|
129
|
+
}
|
|
135
130
|
trackByMessageId(index, item) {
|
|
136
131
|
return item.id;
|
|
137
132
|
}
|
|
@@ -140,6 +135,7 @@ export class MessageListComponent {
|
|
|
140
135
|
this.scrollContainer.nativeElement.scrollHeight;
|
|
141
136
|
}
|
|
142
137
|
scrolled() {
|
|
138
|
+
var _a, _b;
|
|
143
139
|
this.isUserScrolledUp =
|
|
144
140
|
this.scrollContainer.nativeElement.scrollHeight -
|
|
145
141
|
(this.scrollContainer.nativeElement.scrollTop +
|
|
@@ -148,20 +144,36 @@ export class MessageListComponent {
|
|
|
148
144
|
if (!this.isUserScrolledUp) {
|
|
149
145
|
this.unreadMessageCount = 0;
|
|
150
146
|
}
|
|
151
|
-
if (this.scrollContainer.nativeElement.scrollTop
|
|
147
|
+
if (this.scrollContainer.nativeElement.scrollTop <=
|
|
148
|
+
(((_a = this.parentMessageElement) === null || _a === void 0 ? void 0 : _a.nativeElement.clientHeight) || 0) &&
|
|
149
|
+
(this.prevScrollTop === undefined ||
|
|
150
|
+
this.prevScrollTop >
|
|
151
|
+
(((_b = this.parentMessageElement) === null || _b === void 0 ? void 0 : _b.nativeElement.clientHeight) || 0))) {
|
|
152
152
|
this.containerHeight = this.scrollContainer.nativeElement.scrollHeight;
|
|
153
|
-
|
|
153
|
+
this.mode === 'main'
|
|
154
|
+
? void this.channelService.loadMoreMessages()
|
|
155
|
+
: void this.channelService.loadMoreThreadReplies();
|
|
154
156
|
}
|
|
157
|
+
this.prevScrollTop = this.scrollContainer.nativeElement.scrollTop;
|
|
155
158
|
}
|
|
156
159
|
preserveScrollbarPosition() {
|
|
157
160
|
this.scrollContainer.nativeElement.scrollTop =
|
|
158
|
-
this.
|
|
161
|
+
(this.prevScrollTop || 0) +
|
|
162
|
+
(this.scrollContainer.nativeElement.scrollHeight - this.containerHeight);
|
|
159
163
|
}
|
|
160
164
|
setEnabledActions() {
|
|
161
165
|
this.enabledMessageActions = [];
|
|
162
166
|
if (!this.enabledMessageActionsInput) {
|
|
167
|
+
this.enabledMessageActions = this.authorizedMessageActions;
|
|
163
168
|
return;
|
|
164
169
|
}
|
|
170
|
+
this.enabledMessageActionsInput = [
|
|
171
|
+
...this.enabledMessageActionsInput,
|
|
172
|
+
'send-reaction',
|
|
173
|
+
'read-events',
|
|
174
|
+
'send-reply',
|
|
175
|
+
'quote-message',
|
|
176
|
+
];
|
|
165
177
|
this.enabledMessageActionsInput.forEach((action) => {
|
|
166
178
|
const isAuthorized = this.authorizedMessageActions.indexOf(action) !== -1;
|
|
167
179
|
if (isAuthorized) {
|
|
@@ -169,9 +181,61 @@ export class MessageListComponent {
|
|
|
169
181
|
}
|
|
170
182
|
});
|
|
171
183
|
}
|
|
184
|
+
setMessages$() {
|
|
185
|
+
this.messages$ = (this.mode === 'main'
|
|
186
|
+
? this.channelService.activeChannelMessages$
|
|
187
|
+
: this.channelService.activeThreadMessages$).pipe(tap((messages) => {
|
|
188
|
+
var _a, _b, _c, _d, _e;
|
|
189
|
+
if (messages.length === 0) {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
const currentLatestMessageDate = messages[messages.length - 1].created_at;
|
|
193
|
+
if (!this.latestMessageDate ||
|
|
194
|
+
((_a = this.latestMessageDate) === null || _a === void 0 ? void 0 : _a.getTime()) < currentLatestMessageDate.getTime()) {
|
|
195
|
+
this.latestMessageDate = currentLatestMessageDate;
|
|
196
|
+
this.hasNewMessages = true;
|
|
197
|
+
this.isNewMessageSentByUser =
|
|
198
|
+
((_b = messages[messages.length - 1].user) === null || _b === void 0 ? void 0 : _b.id) ===
|
|
199
|
+
((_d = (_c = this.chatClientService.chatClient) === null || _c === void 0 ? void 0 : _c.user) === null || _d === void 0 ? void 0 : _d.id);
|
|
200
|
+
if (this.isUserScrolledUp) {
|
|
201
|
+
this.unreadMessageCount++;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
const currentOldestMessageDate = messages[0].created_at;
|
|
205
|
+
if (!this.oldestMessageDate) {
|
|
206
|
+
this.oldestMessageDate = currentOldestMessageDate;
|
|
207
|
+
}
|
|
208
|
+
else if (((_e = this.oldestMessageDate) === null || _e === void 0 ? void 0 : _e.getTime()) > currentOldestMessageDate.getTime()) {
|
|
209
|
+
this.oldestMessageDate = currentOldestMessageDate;
|
|
210
|
+
this.olderMassagesLoaded = true;
|
|
211
|
+
}
|
|
212
|
+
}), tap((messages) => {
|
|
213
|
+
this.groupStyles = messages.map((m, i) => getGroupStyles(m, messages[i - 1], messages[i + 1]));
|
|
214
|
+
}), tap((messages) => {
|
|
215
|
+
var _a;
|
|
216
|
+
return (this.lastSentMessageId = (_a = [...messages]
|
|
217
|
+
.reverse()
|
|
218
|
+
.find((m) => {
|
|
219
|
+
var _a, _b, _c;
|
|
220
|
+
return ((_a = m.user) === null || _a === void 0 ? void 0 : _a.id) === ((_c = (_b = this.chatClientService.chatClient) === null || _b === void 0 ? void 0 : _b.user) === null || _c === void 0 ? void 0 : _c.id) &&
|
|
221
|
+
m.status !== 'sending';
|
|
222
|
+
})) === null || _a === void 0 ? void 0 : _a.id);
|
|
223
|
+
}));
|
|
224
|
+
}
|
|
225
|
+
resetScrollState() {
|
|
226
|
+
this.latestMessageDate = undefined;
|
|
227
|
+
this.hasNewMessages = true;
|
|
228
|
+
this.isUserScrolledUp = false;
|
|
229
|
+
this.containerHeight = undefined;
|
|
230
|
+
this.olderMassagesLoaded = false;
|
|
231
|
+
this.oldestMessageDate = undefined;
|
|
232
|
+
this.unreadMessageCount = 0;
|
|
233
|
+
this.prevScrollTop = undefined;
|
|
234
|
+
this.isNewMessageSentByUser = undefined;
|
|
235
|
+
}
|
|
172
236
|
}
|
|
173
237
|
MessageListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: MessageListComponent, deps: [{ token: i1.ChannelService }, { token: i2.ChatClientService }, { token: i3.ImageLoadService }], target: i0.ɵɵFactoryTarget.Component });
|
|
174
|
-
MessageListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: MessageListComponent, selector: "stream-message-list", inputs: { messageTemplate: "messageTemplate", messageInputTemplate: "messageInputTemplate", mentionTemplate: "mentionTemplate", areReactionsEnabled: "areReactionsEnabled", enabledMessageActionsInput: ["enabledMessageActions", "enabledMessageActionsInput"] }, host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "scrollContainer", first: true, predicate: ["scrollContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #scrollContainer\n data-testid=\"scroll-container\"\n class=\"str-chat__list\"\n (scroll)=\"scrolled()\"\n>\n <div class=\"str-chat__reverse-infinite-scroll\">\n <ul class=\"str-chat__ul\">\n <li\n data-testclass=\"message\"\n *ngFor=\"\n let message of messages$ | async;\n let i = index;\n trackBy: trackByMessageId\n \"\n class=\"str-chat__li str-chat__li--{{ groupStyles[i] }}\"\n >\n <ng-container
|
|
238
|
+
MessageListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: MessageListComponent, selector: "stream-message-list", inputs: { messageTemplate: "messageTemplate", messageInputTemplate: "messageInputTemplate", mentionTemplate: "mentionTemplate", areReactionsEnabled: "areReactionsEnabled", enabledMessageActionsInput: ["enabledMessageActions", "enabledMessageActionsInput"], mode: "mode" }, host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "scrollContainer", first: true, predicate: ["scrollContainer"], descendants: true }, { propertyName: "parentMessageElement", first: true, predicate: ["parentMessageElement"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #scrollContainer\n data-testid=\"scroll-container\"\n class=\"str-chat__list\"\n (scroll)=\"scrolled()\"\n>\n <div class=\"str-chat__reverse-infinite-scroll\">\n <ul class=\"str-chat__ul\">\n <li\n #parentMessageElement\n *ngIf=\"mode === 'thread'\"\n data-testid=\"parent-message\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n messageTemplateContainer;\n context: { message: parentMessage }\n \"\n ></ng-container>\n <div class=\"str-chat__thread-start\" translate>\n streamChat.Start of a new thread\n </div>\n </li>\n <li\n data-testclass=\"message\"\n *ngFor=\"\n let message of messages$ | async;\n let i = index;\n trackBy: trackByMessageId\n \"\n class=\"str-chat__li str-chat__li--{{ groupStyles[i] }}\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n messageTemplateContainer;\n context: { message: message }\n \"\n ></ng-container>\n </li>\n </ul>\n </div>\n</div>\n<div class=\"str-chat__list-notifications\">\n <button\n data-testid=\"scroll-to-bottom\"\n *ngIf=\"isUserScrolledUp\"\n class=\"\n str-chat__message-notification\n str-chat__message-notification-right\n str-chat__message-notification-scroll-down\n \"\n (keyup.enter)=\"scrollToBottom()\"\n (click)=\"scrollToBottom()\"\n >\n <div\n *ngIf=\"unreadMessageCount > 0\"\n class=\"\n str-chat__message-notification\n str-chat__message-notification-scroll-down-unread-count\n \"\n >\n {{ unreadMessageCount }}\n </div>\n </button>\n</div>\n\n<ng-template #messageTemplateContainer let-message=\"message\">\n <ng-container *ngIf=\"messageTemplate; else defaultMessageTemplate\">\n <ng-container\n *ngTemplateOutlet=\"\n messageTemplate;\n context: {\n message: message,\n areReactionsEnabled: areReactionsEnabled,\n canReactToMessage: canReactToMessage,\n lastSentMessageId: !!(\n lastSentMessageId && message?.id === lastSentMessageId\n ),\n canReceiveReadEvents: canReceiveReadEvents,\n messageInputTemplate: messageInputTemplate,\n mentionTemplate: mentionTemplate,\n mode: mode\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultMessageTemplate>\n <stream-message\n [message]=\"message\"\n [areReactionsEnabled]=\"areReactionsEnabled\"\n [canReactToMessage]=\"canReactToMessage\"\n [isLastSentMessage]=\"\n !!(lastSentMessageId && message?.id === lastSentMessageId)\n \"\n [enabledMessageActions]=\"enabledMessageActions\"\n [canReceiveReadEvents]=\"canReceiveReadEvents\"\n [messageInputTemplate]=\"messageInputTemplate\"\n [mentionTemplate]=\"mentionTemplate\"\n [mode]=\"mode\"\n ></stream-message>\n </ng-template>\n</ng-template>\n", components: [{ type: i4.MessageComponent, selector: "stream-message", inputs: ["messageInputTemplate", "mentionTemplate", "message", "enabledMessageActions", "areReactionsEnabled", "canReactToMessage", "isLastSentMessage", "canReceiveReadEvents", "mode"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i5.AsyncPipe } });
|
|
175
239
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: MessageListComponent, decorators: [{
|
|
176
240
|
type: Component,
|
|
177
241
|
args: [{
|
|
@@ -190,11 +254,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
|
|
|
190
254
|
}], enabledMessageActionsInput: [{
|
|
191
255
|
type: Input,
|
|
192
256
|
args: ['enabledMessageActions']
|
|
257
|
+
}], mode: [{
|
|
258
|
+
type: Input
|
|
193
259
|
}], class: [{
|
|
194
260
|
type: HostBinding,
|
|
195
261
|
args: ['class']
|
|
196
262
|
}], scrollContainer: [{
|
|
197
263
|
type: ViewChild,
|
|
198
264
|
args: ['scrollContainer']
|
|
265
|
+
}], parentMessageElement: [{
|
|
266
|
+
type: ViewChild,
|
|
267
|
+
args: ['parentMessageElement']
|
|
199
268
|
}] } });
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9tZXNzYWdlLWxpc3QvbWVzc2FnZS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9tZXNzYWdlLWxpc3QvbWVzc2FnZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFJTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3JDLE9BQU8sRUFBRSxjQUFjLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVE1RCxNQUFNLE9BQU8sb0JBQW9CO0lBNkIvQixZQUNVLGNBQThCLEVBQzlCLGlCQUFvQyxFQUNwQyxnQkFBa0M7UUFGbEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTVCbkMsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQ3BDLDhEQUE4RDtRQUM5QiwrQkFBMEIsR0FDeEQsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFJdkQsMEJBQXFCLEdBQXFCLEVBQUUsQ0FBQztRQUNmLFVBQUssR0FDakMsd0VBQXdFLENBQUM7UUFDM0UsdUJBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBRXZCLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQVV2Qiw2QkFBd0IsR0FBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3Qyw4QkFBeUIsR0FBRyxH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LFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsV0FBVyxFQUFFLCtCQUErQjtvQkFDNUMsTUFBTSxFQUFFLEVBQUU7aUJBQ1g7b0tBRVUsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRTBCLDBCQUEwQjtzQkFBekQsS0FBSzt1QkFBQyx1QkFBdUI7Z0JBTUEsS0FBSztzQkFBbEMsV0FBVzt1QkFBQyxPQUFPO2dCQU9aLGVBQWU7c0JBRHRCLFNBQVM7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFubmVsU2VydmljZSB9IGZyb20gJy4uL2NoYW5uZWwuc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdHJlYW1NZXNzYWdlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgQ2hhdENsaWVudFNlcnZpY2UgfSBmcm9tICcuLi9jaGF0LWNsaWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IGdldEdyb3VwU3R5bGVzLCBHcm91cFN0eWxlIH0gZnJvbSAnLi9ncm91cC1zdHlsZXMnO1xuaW1wb3J0IHsgSW1hZ2VMb2FkU2VydmljZSB9IGZyb20gJy4vaW1hZ2UtbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7IE1lc3NhZ2VBY3Rpb25zIH0gZnJvbSAnLi4vbWVzc2FnZS1hY3Rpb25zLWJveC9tZXNzYWdlLWFjdGlvbnMtYm94LmNvbXBvbmVudCc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHJlYW0tbWVzc2FnZS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lc3NhZ2UtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbWVzc2FnZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBtZXNzYWdlSW5wdXRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbWVudGlvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBhcmVSZWFjdGlvbnNFbmFibGVkID0gdHJ1ZTtcbiAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWUgKi9cbiAgQElucHV0KCdlbmFibGVkTWVzc2FnZUFjdGlvbnMnKSBlbmFibGVkTWVzc2FnZUFjdGlvbnNJbnB1dDogTWVzc2FnZUFjdGlvbnNbXSA9XG4gICAgWydmbGFnJywgJ2VkaXQnLCAnZWRpdC1hbnknLCAnZGVsZXRlJywgJ2RlbGV0ZS1hbnknXTtcbiAgbWVzc2FnZXMkITogT2JzZXJ2YWJsZTxTdHJlYW1NZXNzYWdlW10+O1xuICBjYW5SZWFjdFRvTWVzc2FnZTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgY2FuUmVjZWl2ZVJlYWRFdmVudHM6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIGVuYWJsZWRNZXNzYWdlQWN0aW9uczogTWVzc2FnZUFjdGlvbnNbXSA9IFtdO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgcHJpdmF0ZSBjbGFzcyA9XG4gICAgJ3N0ci1jaGF0LWFuZ3VsYXJfX21haW4tcGFuZWwtaW5uZXIgc3RyLWNoYXQtYW5ndWxhcl9fbWVzc2FnZS1saXN0LWhvc3QnO1xuICB1bnJlYWRNZXNzYWdlQ291bnQgPSAwO1xuICBpc1VzZXJTY3JvbGxlZFVwOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBncm91cFN0eWxlczogR3JvdXBTdHlsZVtdID0gW107XG4gIGxhc3RTZW50TWVzc2FnZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBWaWV3Q2hpbGQoJ3Njcm9sbENvbnRhaW5lcicpXG4gIHByaXZhdGUgc2Nyb2xsQ29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIHByaXZhdGUgbGF0ZXN0TWVzc2FnZURhdGU6IERhdGUgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgaGFzTmV3TWVzc2FnZXM6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgY29udGFpbmVySGVpZ2h0OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgb2xkZXN0TWVzc2FnZURhdGU6IERhdGUgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgb2xkZXJNYXNzYWdlc0xvYWRlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBpc05ld01lc3NhZ2VTZW50QnlVc2VyOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGF1dGhvcml6ZWRNZXNzYWdlQWN0aW9uczogTWVzc2FnZUFjdGlvbnNbXSA9IFsnZmxhZyddO1xuICBwcml2YXRlIHJlYWRvbmx5IGlzVXNlclNjcm9sbGVkVXBUaHJlc2hvbGQgPSAzMDA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFubmVsU2VydmljZTogQ2hhbm5lbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGF0Q2xpZW50U2VydmljZTogQ2hhdENsaWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbWFnZUxvYWRTZXJ2aWNlOiBJbWFnZUxvYWRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuY2hhbm5lbFNlcnZpY2UuYWN0aXZlQ2hhbm5lbCQuc3Vic2NyaWJlKChjaGFubmVsKSA9PiB7XG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2VEYXRlID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5oYXNOZXdNZXNzYWdlcyA9IHRydWU7XG4gICAgICB0aGlzLmlzVXNlclNjcm9sbGVkVXAgPSBmYWxzZTtcbiAgICAgIHRoaXMuY29udGFpbmVySGVpZ2h0ID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5vbGRlck1hc3NhZ2VzTG9hZGVkID0gZmFsc2U7XG4gICAgICB0aGlzLm9sZGVzdE1lc3NhZ2VEYXRlID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy51bnJlYWRNZXNzYWdlQ291bnQgPSAwO1xuICAgICAgdGhpcy5pc05ld01lc3NhZ2VTZW50QnlVc2VyID0gdW5kZWZpbmVkO1xuICAgICAgY29uc3QgY2FwYWJpbGl0ZXMgPSBjaGFubmVsPy5kYXRhPy5vd25fY2FwYWJpbGl0aWVzIGFzIHN0cmluZ1tdO1xuICAgICAgaWYgKGNhcGFiaWxpdGVzKSB7XG4gICAgICAgIHRoaXMuY2FuUmVhY3RUb01lc3NhZ2UgPSBjYXBhYmlsaXRlcy5pbmRleE9mKCdzZW5kLXJlYWN0aW9uJykgIT09IC0xO1xuICAgICAgICB0aGlzLmNhblJlY2VpdmVSZWFkRXZlbnRzID0gY2FwYWJpbGl0ZXMuaW5kZXhPZigncmVhZC1ldmVudHMnKSAhPT0gLTE7XG4gICAgICAgIHRoaXMuYXV0aG9yaXplZE1lc3NhZ2VBY3Rpb25zID0gW107XG4gICAgICAgIGlmIChjYXBhYmlsaXRlcy5pbmRleE9mKCdmbGFnLW1lc3NhZ2UnKSAhPT0gLTEpIHtcbiAgICAgICAgICB0aGlzLmF1dGhvcml6ZWRNZXNzYWdlQWN0aW9ucy5wdXNoKCdmbGFnJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNhcGFiaWxpdGVzLmluZGV4T2YoJ3VwZGF0ZS1vd24tbWVzc2FnZScpICE9PSAtMSkge1xuICAgICAgICAgIHRoaXMuYXV0aG9yaXplZE1lc3NhZ2VBY3Rpb25zLnB1c2goJ2VkaXQnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2FwYWJpbGl0ZXMuaW5kZXhPZigndXBkYXRlLWFueS1tZXNzYWdlJykgIT09IC0xKSB7XG4gICAgICAgICAgdGhpcy5hdXRob3JpemVkTWVzc2FnZUFjdGlvbnMucHVzaCgnZWRpdCcpO1xuICAgICAgICAgIHRoaXMuYXV0aG9yaXplZE1lc3NhZ2VBY3Rpb25zLnB1c2goJ2VkaXQtYW55Jyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNhcGFiaWxpdGVzLmluZGV4T2YoJ2RlbGV0ZS1vd24tbWVzc2FnZScpICE9PSAtMSkge1xuICAgICAgICAgIHRoaXMuYXV0aG9yaXplZE1lc3NhZ2VBY3Rpb25zLnB1c2goJ2RlbGV0ZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjYXBhYmlsaXRlcy5pbmRleE9mKCdkZWxldGUtYW55LW1lc3NhZ2UnKSAhPT0gLTEpIHtcbiAgICAgICAgICB0aGlzLmF1dGhvcml6ZWRNZXNzYWdlQWN0aW9ucy5wdXNoKCdkZWxldGUnKTtcbiAgICAgICAgICB0aGlzLmF1dGhvcml6ZWRNZXNzYWdlQWN0aW9ucy5wdXNoKCdkZWxldGUtYW55Jyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRFbmFibGVkQWN0aW9ucygpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMubWVzc2FnZXMkID0gdGhpcy5jaGFubmVsU2VydmljZS5hY3RpdmVDaGFubmVsTWVzc2FnZXMkLnBpcGUoXG4gICAgICB0YXAoKG1lc3NhZ2VzKSA9PiB7XG4gICAgICAgIGlmIChtZXNzYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY3VycmVudExhdGVzdE1lc3NhZ2VEYXRlID1cbiAgICAgICAgICBtZXNzYWdlc1ttZXNzYWdlcy5sZW5ndGggLSAxXS5jcmVhdGVkX2F0O1xuICAgICAgICBpZiAoXG4gICAgICAgICAgIXRoaXMubGF0ZXN0TWVzc2FnZURhdGUgfHxcbiAgICAgICAgICB0aGlzLmxhdGVzdE1lc3NhZ2VEYXRlPy5nZXRUaW1lKCkgPCBjdXJyZW50TGF0ZXN0TWVzc2FnZURhdGUuZ2V0VGltZSgpXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZURhdGUgPSBjdXJyZW50TGF0ZXN0TWVzc2FnZURhdGU7XG4gICAgICAgICAgdGhpcy5oYXNOZXdNZXNzYWdlcyA9IHRydWU7XG4gICAgICAgICAgdGhpcy5pc05ld01lc3NhZ2VTZW50QnlVc2VyID1cbiAgICAgICAgICAgIG1lc3NhZ2VzW21lc3NhZ2VzLmxlbmd0aCAtIDFdLnVzZXI/LmlkID09PVxuICAgICAgICAgICAgdGhpcy5jaGF0Q2xpZW50U2VydmljZS5jaGF0Q2xpZW50Py51c2VyPy5pZDtcbiAgICAgICAgICBpZiAodGhpcy5pc1VzZXJTY3JvbGxlZFVwKSB7XG4gICAgICAgICAgICB0aGlzLnVucmVhZE1lc3NhZ2VDb3VudCsrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjdXJyZW50T2xkZXN0TWVzc2FnZURhdGUgPSBtZXNzYWdlc1swXS5jcmVhdGVkX2F0O1xuICAgICAgICBpZiAoIXRoaXMub2xkZXN0TWVzc2FnZURhdGUpIHtcbiAgICAgICAgICB0aGlzLm9sZGVzdE1lc3NhZ2VEYXRlID0gY3VycmVudE9sZGVzdE1lc3NhZ2VEYXRlO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIHRoaXMub2xkZXN0TWVzc2FnZURhdGU/LmdldFRpbWUoKSA+IGN1cnJlbnRPbGRlc3RNZXNzYWdlRGF0ZS5nZXRUaW1lKClcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5vbGRlc3RNZXNzYWdlRGF0ZSA9IGN1cnJlbnRPbGRlc3RNZXNzYWdlRGF0ZTtcbiAgICAgICAgICB0aGlzLm9sZGVyTWFzc2FnZXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHRhcCgobWVzc2FnZXMpID0+IHtcbiAgICAgICAgdGhpcy5ncm91cFN0eWxlcyA9IG1lc3NhZ2VzLm1hcCgobSwgaSkgPT5cbiAgICAgICAgICBnZXRHcm91cFN0eWxlcyhtLCBtZXNzYWdlc1tpIC0gMV0sIG1lc3NhZ2VzW2kgKyAxXSlcbiAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICAgdGFwKFxuICAgICAgICAobWVzc2FnZXMpID0+XG4gICAgICAgICAgKHRoaXMubGFzdFNlbnRNZXNzYWdlSWQgPSBbLi4ubWVzc2FnZXNdXG4gICAgICAgICAgICAucmV2ZXJzZSgpXG4gICAgICAgICAgICAuZmluZChcbiAgICAgICAgICAgICAgKG0pID0+XG4gICAgICAgICAgICAgICAgbS51c2VyPy5pZCA9PT0gdGhpcy5jaGF0Q2xpZW50U2VydmljZS5jaGF0Q2xpZW50Py51c2VyPy5pZCAmJlxuICAgICAgICAgICAgICAgIG0uc3RhdHVzICE9PSAnc2VuZGluZydcbiAgICAgICAgICAgICk/LmlkKVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy5pbWFnZUxvYWRTZXJ2aWNlLmltYWdlTG9hZCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5pc1VzZXJTY3JvbGxlZFVwKSB7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9Cb3R0b20oKTtcbiAgICAgICAgLy8gSGFja3kgYW5kIHVucmVsaWFibGUgd29ya2Fyb3VuZCB0byBzY3JvbGwgZG93biBhZnRlciBsb2FkZWQgaW1hZ2VzIG1vdmUgdGhlIHNjcm9sbGJhclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLnNjcm9sbFRvQm90dG9tKCk7XG4gICAgICAgIH0sIDMwMCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuZW5hYmxlZE1lc3NhZ2VBY3Rpb25zSW5wdXQpIHtcbiAgICAgIHRoaXMuc2V0RW5hYmxlZEFjdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgaWYgKHRoaXMuaGFzTmV3TWVzc2FnZXMpIHtcbiAgICAgIGlmICghdGhpcy5pc1VzZXJTY3JvbGxlZFVwIHx8IHRoaXMuaXNOZXdNZXNzYWdlU2VudEJ5VXNlcikge1xuICAgICAgICB0aGlzLnNjcm9sbFRvQm90dG9tKCk7XG4gICAgICAgIC8vIEhhY2t5IGFuZCB1bnJlbGlhYmxlIHdvcmthcm91bmQgdG8gc2Nyb2xsIGRvd24gYWZ0ZXIgbG9hZGVkIGltYWdlcyBtb3ZlIHRoZSBzY3JvbGxiYXJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zY3JvbGxUb0JvdHRvbSgpO1xuICAgICAgICB9LCAzMDApO1xuICAgICAgfVxuICAgICAgdGhpcy5oYXNOZXdNZXNzYWdlcyA9IGZhbHNlO1xuICAgICAgdGhpcy5jb250YWluZXJIZWlnaHQgPSB0aGlzLnNjcm9sbENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodDtcbiAgICB9IGVsc2UgaWYgKHRoaXMub2xkZXJNYXNzYWdlc0xvYWRlZCkge1xuICAgICAgdGhpcy5wcmVzZXJ2ZVNjcm9sbGJhclBvc2l0aW9uKCk7XG4gICAgICB0aGlzLmNvbnRhaW5lckhlaWdodCA9IHRoaXMuc2Nyb2xsQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xuICAgICAgdGhpcy5vbGRlck1hc3NhZ2VzTG9hZGVkID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMuY29udGFpbmVySGVpZ2h0ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMuY29udGFpbmVySGVpZ2h0IDwgdGhpcy5zY3JvbGxDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQgJiZcbiAgICAgICF0aGlzLmlzVXNlclNjcm9sbGVkVXBcbiAgICApIHtcbiAgICAgIHRoaXMuc2Nyb2xsVG9Cb3R0b20oKTtcbiAgICAgIHRoaXMuY29udGFpbmVySGVpZ2h0ID0gdGhpcy5zY3JvbGxDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgdHJhY2tCeU1lc3NhZ2VJZChpbmRleDogbnVtYmVyLCBpdGVtOiBTdHJlYW1NZXNzYWdlKSB7XG4gICAgcmV0dXJuIGl0ZW0uaWQ7XG4gIH1cblxuICBzY3JvbGxUb0JvdHRvbSgpOiB2b2lkIHtcbiAgICB0aGlzLnNjcm9sbENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9XG4gICAgICB0aGlzLnNjcm9sbENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodDtcbiAgfVxuXG4gIHNjcm9sbGVkKCkge1xuICAgIHRoaXMuaXNVc2VyU2Nyb2xsZWRVcCA9XG4gICAgICB0aGlzLnNjcm9sbENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCAtXG4gICAgICAgICh0aGlzLnNjcm9sbENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCArXG4gICAgICAgICAgdGhpcy5zY3JvbGxDb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQpID5cbiAgICAgIHRoaXMuaXNVc2VyU2Nyb2xsZWRVcFRocmVzaG9sZDtcbiAgICBpZiAoIXRoaXMuaXNVc2VyU2Nyb2xsZWRVcCkge1xuICAgICAgdGhpcy51bnJlYWRNZXNzYWdlQ291bnQgPSAwO1xuICAgIH1cbiAgICBpZiAodGhpcy5zY3JvbGxDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPT09IDApIHtcbiAgICAgIHRoaXMuY29udGFpbmVySGVpZ2h0ID0gdGhpcy5zY3JvbGxDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gICAgICB2b2lkIHRoaXMuY2hhbm5lbFNlcnZpY2UubG9hZE1vcmVNZXNzYWdlcygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcHJlc2VydmVTY3JvbGxiYXJQb3NpdGlvbigpIHtcbiAgICB0aGlzLnNjcm9sbENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9XG4gICAgICB0aGlzLnNjcm9sbENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCAtIHRoaXMuY29udGFpbmVySGVpZ2h0ITtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RW5hYmxlZEFjdGlvbnMoKSB7XG4gICAgdGhpcy5lbmFibGVkTWVzc2FnZUFjdGlvbnMgPSBbXTtcbiAgICBpZiAoIXRoaXMuZW5hYmxlZE1lc3NhZ2VBY3Rpb25zSW5wdXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5lbmFibGVkTWVzc2FnZUFjdGlvbnNJbnB1dC5mb3JFYWNoKChhY3Rpb24pID0+IHtcbiAgICAgIGNvbnN0IGlzQXV0aG9yaXplZCA9IHRoaXMuYXV0aG9yaXplZE1lc3NhZ2VBY3Rpb25zLmluZGV4T2YoYWN0aW9uKSAhPT0gLTE7XG4gICAgICBpZiAoaXNBdXRob3JpemVkKSB7XG4gICAgICAgIHRoaXMuZW5hYmxlZE1lc3NhZ2VBY3Rpb25zLnB1c2goYWN0aW9uKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdlxuICAjc2Nyb2xsQ29udGFpbmVyXG4gIGRhdGEtdGVzdGlkPVwic2Nyb2xsLWNvbnRhaW5lclwiXG4gIGNsYXNzPVwic3RyLWNoYXRfX2xpc3RcIlxuICAoc2Nyb2xsKT1cInNjcm9sbGVkKClcIlxuPlxuICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX3JldmVyc2UtaW5maW5pdGUtc2Nyb2xsXCI+XG4gICAgPHVsIGNsYXNzPVwic3RyLWNoYXRfX3VsXCI+XG4gICAgICA8bGlcbiAgICAgICAgZGF0YS10ZXN0Y2xhc3M9XCJtZXNzYWdlXCJcbiAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgbGV0IG1lc3NhZ2Ugb2YgbWVzc2FnZXMkIHwgYXN5bmM7XG4gICAgICAgICAgbGV0IGkgPSBpbmRleDtcbiAgICAgICAgICB0cmFja0J5OiB0cmFja0J5TWVzc2FnZUlkXG4gICAgICAgIFwiXG4gICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX2xpIHN0ci1jaGF0X19saS0te3sgZ3JvdXBTdHlsZXNbaV0gfX1cIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWVzc2FnZVRlbXBsYXRlOyBlbHNlIGRlZmF1bHRNZXNzYWdlVGVtcGxhdGVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICBtZXNzYWdlVGVtcGxhdGU7XG4gICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgICAgICAgICAgICAgIGFyZVJlYWN0aW9uc0VuYWJsZWQ6IGFyZVJlYWN0aW9uc0VuYWJsZWQsXG4gICAgICAgICAgICAgICAgY2FuUmVhY3RUb01lc3NhZ2U6IGNhblJlYWN0VG9NZXNzYWdlLFxuICAgICAgICAgICAgICAgIGxhc3RTZW50TWVzc2FnZUlkOiAhIShcbiAgICAgICAgICAgICAgICAgIGxhc3RTZW50TWVzc2FnZUlkICYmIG1lc3NhZ2U/LmlkID09PSBsYXN0U2VudE1lc3NhZ2VJZFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgY2FuUmVjZWl2ZVJlYWRFdmVudHM6IGNhblJlY2VpdmVSZWFkRXZlbnRzLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2VJbnB1dFRlbXBsYXRlOiBtZXNzYWdlSW5wdXRUZW1wbGF0ZSxcbiAgICAgICAgICAgICAgICBtZW50aW9uVGVtcGxhdGU6IG1lbnRpb25UZW1wbGF0ZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdE1lc3NhZ2VUZW1wbGF0ZT5cbiAgICAgICAgICA8c3RyZWFtLW1lc3NhZ2VcbiAgICAgICAgICAgIFttZXNzYWdlXT1cIm1lc3NhZ2VcIlxuICAgICAgICAgICAgW2FyZVJlYWN0aW9uc0VuYWJsZWRdPVwiYXJlUmVhY3Rpb25zRW5hYmxlZFwiXG4gICAgICAgICAgICBbY2FuUmVhY3RUb01lc3NhZ2VdPVwiY2FuUmVhY3RUb01lc3NhZ2VcIlxuICAgICAgICAgICAgW2lzTGFzdFNlbnRNZXNzYWdlXT1cIlxuICAgICAgICAgICAgICAhIShsYXN0U2VudE1lc3NhZ2VJZCAmJiBtZXNzYWdlPy5pZCA9PT0gbGFzdFNlbnRNZXNzYWdlSWQpXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2VuYWJsZWRNZXNzYWdlQWN0aW9uc109XCJlbmFibGVkTWVzc2FnZUFjdGlvbnNcIlxuICAgICAgICAgICAgW2NhblJlY2VpdmVSZWFkRXZlbnRzXT1cImNhblJlY2VpdmVSZWFkRXZlbnRzXCJcbiAgICAgICAgICAgIFttZXNzYWdlSW5wdXRUZW1wbGF0ZV09XCJtZXNzYWdlSW5wdXRUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbWVudGlvblRlbXBsYXRlXT1cIm1lbnRpb25UZW1wbGF0ZVwiXG4gICAgICAgICAgPjwvc3RyZWFtLW1lc3NhZ2U+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2xpc3Qtbm90aWZpY2F0aW9uc1wiPlxuICA8YnV0dG9uXG4gICAgZGF0YS10ZXN0aWQ9XCJzY3JvbGwtdG8tYm90dG9tXCJcbiAgICAqbmdJZj1cImlzVXNlclNjcm9sbGVkVXBcIlxuICAgIGNsYXNzPVwiXG4gICAgICBzdHItY2hhdF9fbWVzc2FnZS1ub3RpZmljYXRpb25cbiAgICAgIHN0ci1jaGF0X19tZXNzYWdlLW5vdGlmaWNhdGlvbi1yaWdodFxuICAgICAgc3RyLWNoYXRfX21lc3NhZ2Utbm90aWZpY2F0aW9uLXNjcm9sbC1kb3duXG4gICAgXCJcbiAgICAoa2V5dXAuZW50ZXIpPVwic2Nyb2xsVG9Cb3R0b20oKVwiXG4gICAgKGNsaWNrKT1cInNjcm9sbFRvQm90dG9tKClcIlxuICA+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJ1bnJlYWRNZXNzYWdlQ291bnQgPiAwXCJcbiAgICAgIGNsYXNzPVwiXG4gICAgICAgIHN0ci1jaGF0X19tZXNzYWdlLW5vdGlmaWNhdGlvblxuICAgICAgICBzdHItY2hhdF9fbWVzc2FnZS1ub3RpZmljYXRpb24tc2Nyb2xsLWRvd24tdW5yZWFkLWNvdW50XG4gICAgICBcIlxuICAgID5cbiAgICAgIHt7IHVucmVhZE1lc3NhZ2VDb3VudCB9fVxuICAgIDwvZGl2PlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
|
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9tZXNzYWdlLWxpc3QvbWVzc2FnZS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9tZXNzYWdlLWxpc3QvbWVzc2FnZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFNTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3JDLE9BQU8sRUFBRSxjQUFjLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFRNUQsTUFBTSxPQUFPLG9CQUFvQjtJQTRDL0IsWUFDVSxjQUE4QixFQUM5QixpQkFBb0MsRUFDcEMsZ0JBQWtDO1FBRmxDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF6QzVDOztXQUVHO1FBQ00sd0JBQW1CLEdBQXdCLFNBQVMsQ0FBQztRQUM5RDs7V0FFRztRQUNILDhEQUE4RDtRQUM5QiwrQkFBMEIsR0FFMUMsU0FBUyxDQUFDO1FBQ2pCLFNBQUksR0FBc0IsTUFBTSxDQUFDO1FBSTFDLDBCQUFxQixHQUFhLEVBQUUsQ0FBQztRQUNQLFVBQUssR0FDakMsd0VBQXdFLENBQUM7UUFDM0UsdUJBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBRXZCLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQWF2Qiw2QkFBd0IsR0FBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLDhCQUF5QixHQUFHLEdB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OztpSEF6UlUsb0JBQW9CO3FHQUFwQixvQkFBb0IscW5CQzFCakMsaS9GQXNHQTsyRkQ1RWEsb0JBQW9CO2tCQUxoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFdBQVcsRUFBRSwrQkFBK0I7b0JBQzVDLE1BQU0sRUFBRSxFQUFFO2lCQUNYO29LQUlVLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBSUcsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUswQiwwQkFBMEI7c0JBQXpELEtBQUs7dUJBQUMsdUJBQXVCO2dCQUdyQixJQUFJO3NCQUFaLEtBQUs7Z0JBS3dCLEtBQUs7c0JBQWxDLFdBQVc7dUJBQUMsT0FBTztnQkFRWixlQUFlO3NCQUR0QixTQUFTO3VCQUFDLGlCQUFpQjtnQkFHcEIsb0JBQW9CO3NCQUQzQixTQUFTO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoYW5uZWxTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhbm5lbC5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3RyZWFtTWVzc2FnZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IENoYXRDbGllbnRTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhdC1jbGllbnQuc2VydmljZSc7XG5pbXBvcnQgeyBnZXRHcm91cFN0eWxlcywgR3JvdXBTdHlsZSB9IGZyb20gJy4vZ3JvdXAtc3R5bGVzJztcbmltcG9ydCB7IEltYWdlTG9hZFNlcnZpY2UgfSBmcm9tICcuL2ltYWdlLWxvYWQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0cmVhbS1tZXNzYWdlLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVzc2FnZS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZUxpc3RDb21wb25lbnRcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkLCBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpIG1lc3NhZ2VUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbWVzc2FnZUlucHV0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIG1lbnRpb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIGh0dHBzOi8vZ2V0c3RyZWFtLmlvL2NoYXQvZG9jcy9zZGsvYW5ndWxhci9jb21wb25lbnRzL21lc3NhZ2VfbGlzdC8jY2F1dGlvbi1hcmVyZWFjdGlvbnNlbmFibGVkLWRlcHJlY2F0ZWRcbiAgICovXG4gIEBJbnB1dCgpIGFyZVJlYWN0aW9uc0VuYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBodHRwczovL2dldHN0cmVhbS5pby9jaGF0L2RvY3Mvc2RrL2FuZ3VsYXIvY29tcG9uZW50cy9tZXNzYWdlX2xpc3QvI2NhdXRpb24tZW5hYmxlZG1lc3NhZ2VhY3Rpb25zLWRlcHJlY2F0ZWRcbiAgICovXG4gIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lICovXG4gIEBJbnB1dCgnZW5hYmxlZE1lc3NhZ2VBY3Rpb25zJykgZW5hYmxlZE1lc3NhZ2VBY3Rpb25zSW5wdXQ6XG4gICAgfCBzdHJpbmdbXVxuICAgIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBASW5wdXQoKSBtb2RlOiAnbWFpbicgfCAndGhyZWFkJyA9ICdtYWluJztcbiAgbWVzc2FnZXMkITogT2JzZXJ2YWJsZTxTdHJlYW1NZXNzYWdlW10+O1xuICBjYW5SZWFjdFRvTWVzc2FnZTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgY2FuUmVjZWl2ZVJlYWRFdmVudHM6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIGVuYWJsZWRNZXNzYWdlQWN0aW9uczogc3RyaW5nW10gPSBbXTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIHByaXZhdGUgY2xhc3MgPVxuICAgICdzdHItY2hhdC1hbmd1bGFyX19tYWluLXBhbmVsLWlubmVyIHN0ci1jaGF0LWFuZ3VsYXJfX21lc3NhZ2UtbGlzdC1ob3N0JztcbiAgdW5yZWFkTWVzc2FnZUNvdW50ID0gMDtcbiAgaXNVc2VyU2Nyb2xsZWRVcDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgZ3JvdXBTdHlsZXM6IEdyb3VwU3R5bGVbXSA9IFtdO1xuICBsYXN0U2VudE1lc3NhZ2VJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBwYXJlbnRNZXNzYWdlOiBTdHJlYW1NZXNzYWdlIHwgdW5kZWZpbmVkO1xuICBAVmlld0NoaWxkKCdzY3JvbGxDb250YWluZXInKVxuICBwcml2YXRlIHNjcm9sbENvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdwYXJlbnRNZXNzYWdlRWxlbWVudCcpXG4gIHByaXZhdGUgcGFyZW50TWVzc2FnZUVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgcHJpdmF0ZSBsYXRlc3RNZXNzYWdlRGF0ZTogRGF0ZSB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBoYXNOZXdNZXNzYWdlczogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBjb250YWluZXJIZWlnaHQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBvbGRlc3RNZXNzYWdlRGF0ZTogRGF0ZSB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBvbGRlck1hc3NhZ2VzTG9hZGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGlzTmV3TWVzc2FnZVNlbnRCeVVzZXI6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgYXV0aG9yaXplZE1lc3NhZ2VBY3Rpb25zOiBzdHJpbmdbXSA9IFsnZmxhZyddO1xuICBwcml2YXRlIHJlYWRvbmx5IGlzVXNlclNjcm9sbGVkVXBUaHJlc2hvbGQgPSAzMDA7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBwcmV2U2Nyb2xsVG9wOiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFubmVsU2VydmljZTogQ2hhbm5lbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGF0Q2xpZW50U2VydmljZTogQ2hhdENsaWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbWFnZUxvYWRTZXJ2aWNlOiBJbWFnZUxvYWRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGFubmVsU2VydmljZS5hY3RpdmVDaGFubmVsJC5zdWJzY3JpYmUoKGNoYW5uZWwpID0+IHtcbiAgICAgICAgdGhpcy5yZXNldFNjcm9sbFN0YXRlKCk7XG4gICAgICAgIGNvbnN0IGNhcGFiaWxpdGVzID0gY2hhbm5lbD8uZGF0YT8ub3duX2NhcGFiaWxpdGllcyBhcyBzdHJpbmdbXTtcbiAgICAgICAgaWYgKGNhcGFiaWxpdGVzKSB7XG4gICAgICAgICAgdGhpcy5jYW5SZWFjdFRvTWVzc2FnZSA9IGNhcGFiaWxpdGVzLmluZGV4T2YoJ3NlbmQtcmVhY3Rpb24nKSAhPT0gLTE7XG4gICAgICAgICAgdGhpcy5jYW5SZWNlaXZlUmVhZEV2ZW50cyA9IGNhcGFiaWxpdGVzLmluZGV4T2YoJ3JlYWQtZXZlbnRzJykgIT09IC0xO1xuICAgICAgICAgIHRoaXMuYXV0aG9yaXplZE1lc3NhZ2VBY3Rpb25zID0gW107XG4gICAgICAgICAgaWYgKHRoaXMuY2FuUmVhY3RUb01lc3NhZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0aG9yaXplZE1lc3NhZ2VBY3Rpb25zLnB1c2goJ3NlbmQtcmVhY3Rpb24nKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuY2FuUmVjZWl2ZVJlYWRFdmVudHMpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0aG9yaXplZE1lc3NhZ2VBY3Rpb25zLnB1c2goJ3JlYWQtZXZlbnRzJyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChjYXBhYmlsaXRlcy5pbmRleE9mKCdmbGFnLW1lc3NhZ2UnKSAhPT0gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0aG9yaXplZE1lc3NhZ2VBY3Rpb25zLnB1c2goJ2ZsYWcnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNhcGFiaWxpdGVzLmluZGV4T2YoJ3VwZGF0ZS1vd24tbWVzc2FnZScpICE9PSAtMSkge1xuICAgICAgICAgICAgdGhpcy5hdXRob3JpemVkTWVzc2FnZUFjdGlvbnMucHVzaCgnZWRpdCcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoY2FwYWJpbGl0ZXMuaW5kZXhPZigndXBkYXRlLWFueS1tZXNzYWdlJykgIT09IC0xKSB7XG4gICAgICAgICAgICB0aGlzLmF1dGhvcml6ZWRNZXNzYWdlQWN0aW9ucy5wdXNoKCdlZGl0Jyk7XG4gICAgICAgICAgICB0aGlzLmF1dGhvcml6ZWRNZXNzYWdlQWN0aW9ucy5wdXNoKCdlZGl0LWFueScpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoY2FwYWJpbGl0ZXMuaW5kZXhPZignZGVsZXRlLW93bi1tZXNzYWdlJykgIT09IC0xKSB7XG4gICAgICAgICAgICB0aGlzLmF1dGhvcml6ZWRNZXNzYWdlQWN0aW9ucy5wdXNoKCdkZWxldGUnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNhcGFiaWxpdGVzLmluZGV4T2YoJ2RlbGV0ZS1hbnktbWVzc2FnZScpICE9PSAtMSkge1xuICAgICAgICAgICAgdGhpcy5hdXRob3JpemVkTWVzc2FnZUFjdGlvbnMucHVzaCgnZGVsZXRlJyk7XG4gICAgICAgICAgICB0aGlzLmF1dGhvcml6ZWRNZXNzYWdlQWN0aW9ucy5wdXNoKCdkZWxldGUtYW55Jyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChjYXBhYmlsaXRlcy5pbmRleE9mKCdzZW5kLXJlcGx5JykgIT09IC0xKSB7XG4gICAgICAgICAgICB0aGlzLmF1dGhvcml6ZWRNZXNzYWdlQWN0aW9ucy5wdXNoKCdzZW5kLXJlcGx5Jyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChjYXBhYmlsaXRlcy5pbmRleE9mKCdxdW90ZS1tZXNzYWdlJykgIT09IC0xKSB7XG4gICAgICAgICAgICB0aGlzLmF1dGhvcml6ZWRNZXNzYWdlQWN0aW9ucy5wdXNoKCdxdW90ZS1tZXNzYWdlJyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuc2V0RW5hYmxlZEFjdGlvbnMoKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5pbWFnZUxvYWRTZXJ2aWNlLmltYWdlTG9hZCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmlzVXNlclNjcm9sbGVkVXApIHtcbiAgICAgICAgICB0aGlzLnNjcm9sbFRvQm90dG9tKCk7XG4gICAgICAgICAgLy8gSGFja3kgYW5kIHVucmVsaWFibGUgd29ya2Fyb3VuZCB0byBzY3JvbGwgZG93biBhZnRlciBsb2FkZWQgaW1hZ2VzIG1vdmUgdGhlIHNjcm9sbGJhclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxUb0JvdHRvbSgpO1xuICAgICAgICAgIH0sIDMwMCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY2hhbm5lbFNlcnZpY2UuYWN0aXZlUGFyZW50TWVzc2FnZSQuc3Vic2NyaWJlKChtZXNzYWdlKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBtZXNzYWdlICYmXG4gICAgICAgICAgdGhpcy5wYXJlbnRNZXNzYWdlICYmXG4gICAgICAgICAgbWVzc2FnZS5pZCAhPT0gdGhpcy5wYXJlbnRNZXNzYWdlLmlkICYmXG4gICAgICAgICAgdGhpcy5tb2RlID09PSAndGhyZWFkJ1xuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0U2Nyb2xsU3RhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnBhcmVudE1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRNZXNzYWdlcyQoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5lbmFibGVkTWVzc2FnZUFjdGlvbnNJbnB1dCkge1xuICAgICAgdGhpcy5zZXRFbmFibGVkQWN0aW9ucygpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5tb2RlKSB7XG4gICAgICB0aGlzLnNldE1lc3NhZ2VzJCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICBpZiAodGhpcy5oYXNOZXdNZXNzYWdlcykge1xuICAgICAgaWYgKCF0aGlzLmlzVXNlclNjcm9sbGVkVXAgfHwgdGhpcy5pc05ld01lc3NhZ2VTZW50QnlVc2VyKSB7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9Cb3R0b20oKTtcbiAgICAgICAgLy8gSGFja3kgYW5kIHVucmVsaWFibGUgd29ya2Fyb3VuZCB0byBzY3JvbGwgZG93biBhZnRlciBsb2FkZWQgaW1hZ2VzIG1vdmUgdGhlIHNjcm9sbGJhclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLnNjcm9sbFRvQm90dG9tKCk7XG4gICAgICAgIH0sIDMwMCk7XG4gICAgICB9XG4gICAgICB0aGlzLmhhc05ld01lc3NhZ2VzID0gZmFsc2U7XG4gICAgICB0aGlzLmNvbnRhaW5lckhlaWdodCA9IHRoaXMuc2Nyb2xsQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xuICAgIH0gZWxzZSBpZiAodGhpcy5vbGRlck1hc3NhZ2VzTG9hZGVkKSB7XG4gICAgICB0aGlzLnByZXNlcnZlU2Nyb2xsYmFyUG9zaXRpb24oKTtcbiAgICAgIHRoaXMuY29udGFpbmVySGVpZ2h0ID0gdGhpcy5zY3JvbGxDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gICAgICB0aGlzLm9sZGVyTWFzc2FnZXNMb2FkZWQgPSBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGhpcy5jb250YWluZXJIZWlnaHQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgdGhpcy5jb250YWluZXJIZWlnaHQgPCB0aGlzLnNjcm9sbENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCAmJlxuICAgICAgIXRoaXMuaXNVc2VyU2Nyb2xsZWRVcFxuICAgICkge1xuICAgICAgdGhpcy5zY3JvbGxUb0JvdHRvbSgpO1xuICAgICAgdGhpcy5jb250YWluZXJIZWlnaHQgPSB0aGlzLnNjcm9sbENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodDtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHRyYWNrQnlNZXNzYWdlSWQoaW5kZXg6IG51bWJlciwgaXRlbTogU3RyZWFtTWVzc2FnZSkge1xuICAgIHJldHVybiBpdGVtLmlkO1xuICB9XG5cbiAgc2Nyb2xsVG9Cb3R0b20oKTogdm9pZCB7XG4gICAgdGhpcy5zY3JvbGxDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPVxuICAgICAgdGhpcy5zY3JvbGxDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gIH1cblxuICBzY3JvbGxlZCgpIHtcbiAgICB0aGlzLmlzVXNlclNjcm9sbGVkVXAgPVxuICAgICAgdGhpcy5zY3JvbGxDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQgLVxuICAgICAgICAodGhpcy5zY3JvbGxDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgK1xuICAgICAgICAgIHRoaXMuc2Nyb2xsQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0KSA+XG4gICAgICB0aGlzLmlzVXNlclNjcm9sbGVkVXBUaHJlc2hvbGQ7XG4gICAgaWYgKCF0aGlzLmlzVXNlclNjcm9sbGVkVXApIHtcbiAgICAgIHRoaXMudW5yZWFkTWVzc2FnZUNvdW50ID0gMDtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgdGhpcy5zY3JvbGxDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPD1cbiAgICAgICAgKHRoaXMucGFyZW50TWVzc2FnZUVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0IHx8IDApICYmXG4gICAgICAodGhpcy5wcmV2U2Nyb2xsVG9wID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgdGhpcy5wcmV2U2Nyb2xsVG9wID5cbiAgICAgICAgICAodGhpcy5wYXJlbnRNZXNzYWdlRWxlbWVudD8ubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgfHwgMCkpXG4gICAgKSB7XG4gICAgICB0aGlzLmNvbnRhaW5lckhlaWdodCA9IHRoaXMuc2Nyb2xsQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xuICAgICAgdGhpcy5tb2RlID09PSAnbWFpbidcbiAgICAgICAgPyB2b2lkIHRoaXMuY2hhbm5lbFNlcnZpY2UubG9hZE1vcmVNZXNzYWdlcygpXG4gICAgICAgIDogdm9pZCB0aGlzLmNoYW5uZWxTZXJ2aWNlLmxvYWRNb3JlVGhyZWFkUmVwbGllcygpO1xuICAgIH1cbiAgICB0aGlzLnByZXZTY3JvbGxUb3AgPSB0aGlzLnNjcm9sbENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcDtcbiAgfVxuXG4gIHByaXZhdGUgcHJlc2VydmVTY3JvbGxiYXJQb3NpdGlvbigpIHtcbiAgICB0aGlzLnNjcm9sbENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9XG4gICAgICAodGhpcy5wcmV2U2Nyb2xsVG9wIHx8IDApICtcbiAgICAgICh0aGlzLnNjcm9sbENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCAtIHRoaXMuY29udGFpbmVySGVpZ2h0ISk7XG4gIH1cblxuICBwcml2YXRlIHNldEVuYWJsZWRBY3Rpb25zKCkge1xuICAgIHRoaXMuZW5hYmxlZE1lc3NhZ2VBY3Rpb25zID0gW107XG4gICAgaWYgKCF0aGlzLmVuYWJsZWRNZXNzYWdlQWN0aW9uc0lucHV0KSB7XG4gICAgICB0aGlzLmVuYWJsZWRNZXNzYWdlQWN0aW9ucyA9IHRoaXMuYXV0aG9yaXplZE1lc3NhZ2VBY3Rpb25zO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmVuYWJsZWRNZXNzYWdlQWN0aW9uc0lucHV0ID0gW1xuICAgICAgLi4udGhpcy5lbmFibGVkTWVzc2FnZUFjdGlvbnNJbnB1dCxcbiAgICAgICdzZW5kLXJlYWN0aW9uJyxcbiAgICAgICdyZWFkLWV2ZW50cycsXG4gICAgICAnc2VuZC1yZXBseScsXG4gICAgICAncXVvdGUtbWVzc2FnZScsXG4gICAgXTtcbiAgICB0aGlzLmVuYWJsZWRNZXNzYWdlQWN0aW9uc0lucHV0LmZvckVhY2goKGFjdGlvbikgPT4ge1xuICAgICAgY29uc3QgaXNBdXRob3JpemVkID0gdGhpcy5hdXRob3JpemVkTWVzc2FnZUFjdGlvbnMuaW5kZXhPZihhY3Rpb24pICE9PSAtMTtcbiAgICAgIGlmIChpc0F1dGhvcml6ZWQpIHtcbiAgICAgICAgdGhpcy5lbmFibGVkTWVzc2FnZUFjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRNZXNzYWdlcyQoKSB7XG4gICAgdGhpcy5tZXNzYWdlcyQgPSAoXG4gICAgICB0aGlzLm1vZGUgPT09ICdtYWluJ1xuICAgICAgICA/IHRoaXMuY2hhbm5lbFNlcnZpY2UuYWN0aXZlQ2hhbm5lbE1lc3NhZ2VzJFxuICAgICAgICA6IHRoaXMuY2hhbm5lbFNlcnZpY2UuYWN0aXZlVGhyZWFkTWVzc2FnZXMkXG4gICAgKS5waXBlKFxuICAgICAgdGFwKChtZXNzYWdlcykgPT4ge1xuICAgICAgICBpZiAobWVzc2FnZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGN1cnJlbnRMYXRlc3RNZXNzYWdlRGF0ZSA9XG4gICAgICAgICAgbWVzc2FnZXNbbWVzc2FnZXMubGVuZ3RoIC0gMV0uY3JlYXRlZF9hdDtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICF0aGlzLmxhdGVzdE1lc3NhZ2VEYXRlIHx8XG4gICAgICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlRGF0ZT8uZ2V0VGltZSgpIDwgY3VycmVudExhdGVzdE1lc3NhZ2VEYXRlLmdldFRpbWUoKVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmxhdGVzdE1lc3NhZ2VEYXRlID0gY3VycmVudExhdGVzdE1lc3NhZ2VEYXRlO1xuICAgICAgICAgIHRoaXMuaGFzTmV3TWVzc2FnZXMgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuaXNOZXdNZXNzYWdlU2VudEJ5VXNlciA9XG4gICAgICAgICAgICBtZXNzYWdlc1ttZXNzYWdlcy5sZW5ndGggLSAxXS51c2VyPy5pZCA9PT1cbiAgICAgICAgICAgIHRoaXMuY2hhdENsaWVudFNlcnZpY2UuY2hhdENsaWVudD8udXNlcj8uaWQ7XG4gICAgICAgICAgaWYgKHRoaXMuaXNVc2VyU2Nyb2xsZWRVcCkge1xuICAgICAgICAgICAgdGhpcy51bnJlYWRNZXNzYWdlQ291bnQrKztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY3VycmVudE9sZGVzdE1lc3NhZ2VEYXRlID0gbWVzc2FnZXNbMF0uY3JlYXRlZF9hdDtcbiAgICAgICAgaWYgKCF0aGlzLm9sZGVzdE1lc3NhZ2VEYXRlKSB7XG4gICAgICAgICAgdGhpcy5vbGRlc3RNZXNzYWdlRGF0ZSA9IGN1cnJlbnRPbGRlc3RNZXNzYWdlRGF0ZTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICB0aGlzLm9sZGVzdE1lc3NhZ2VEYXRlPy5nZXRUaW1lKCkgPiBjdXJyZW50T2xkZXN0TWVzc2FnZURhdGUuZ2V0VGltZSgpXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMub2xkZXN0TWVzc2FnZURhdGUgPSBjdXJyZW50T2xkZXN0TWVzc2FnZURhdGU7XG4gICAgICAgICAgdGhpcy5vbGRlck1hc3NhZ2VzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICB0YXAoKG1lc3NhZ2VzKSA9PiB7XG4gICAgICAgIHRoaXMuZ3JvdXBTdHlsZXMgPSBtZXNzYWdlcy5tYXAoKG0sIGkpID0+XG4gICAgICAgICAgZ2V0R3JvdXBTdHlsZXMobSwgbWVzc2FnZXNbaSAtIDFdLCBtZXNzYWdlc1tpICsgMV0pXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICAgIHRhcChcbiAgICAgICAgKG1lc3NhZ2VzKSA9PlxuICAgICAgICAgICh0aGlzLmxhc3RTZW50TWVzc2FnZUlkID0gWy4uLm1lc3NhZ2VzXVxuICAgICAgICAgICAgLnJldmVyc2UoKVxuICAgICAgICAgICAgLmZpbmQoXG4gICAgICAgICAgICAgIChtKSA9PlxuICAgICAgICAgICAgICAgIG0udXNlcj8uaWQgPT09IHRoaXMuY2hhdENsaWVudFNlcnZpY2UuY2hhdENsaWVudD8udXNlcj8uaWQgJiZcbiAgICAgICAgICAgICAgICBtLnN0YXR1cyAhPT0gJ3NlbmRpbmcnXG4gICAgICAgICAgICApPy5pZClcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldFNjcm9sbFN0YXRlKCkge1xuICAgIHRoaXMubGF0ZXN0TWVzc2FnZURhdGUgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5oYXNOZXdNZXNzYWdlcyA9IHRydWU7XG4gICAgdGhpcy5pc1VzZXJTY3JvbGxlZFVwID0gZmFsc2U7XG4gICAgdGhpcy5jb250YWluZXJIZWlnaHQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5vbGRlck1hc3NhZ2VzTG9hZGVkID0gZmFsc2U7XG4gICAgdGhpcy5vbGRlc3RNZXNzYWdlRGF0ZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnVucmVhZE1lc3NhZ2VDb3VudCA9IDA7XG4gICAgdGhpcy5wcmV2U2Nyb2xsVG9wID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuaXNOZXdNZXNzYWdlU2VudEJ5VXNlciA9IHVuZGVmaW5lZDtcbiAgfVxufVxuIiwiPGRpdlxuICAjc2Nyb2xsQ29udGFpbmVyXG4gIGRhdGEtdGVzdGlkPVwic2Nyb2xsLWNvbnRhaW5lclwiXG4gIGNsYXNzPVwic3RyLWNoYXRfX2xpc3RcIlxuICAoc2Nyb2xsKT1cInNjcm9sbGVkKClcIlxuPlxuICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX3JldmVyc2UtaW5maW5pdGUtc2Nyb2xsXCI+XG4gICAgPHVsIGNsYXNzPVwic3RyLWNoYXRfX3VsXCI+XG4gICAgICA8bGlcbiAgICAgICAgI3BhcmVudE1lc3NhZ2VFbGVtZW50XG4gICAgICAgICpuZ0lmPVwibW9kZSA9PT0gJ3RocmVhZCdcIlxuICAgICAgICBkYXRhLXRlc3RpZD1cInBhcmVudC1tZXNzYWdlXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICBtZXNzYWdlVGVtcGxhdGVDb250YWluZXI7XG4gICAgICAgICAgICBjb250ZXh0OiB7IG1lc3NhZ2U6IHBhcmVudE1lc3NhZ2UgfVxuICAgICAgICAgIFwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X190aHJlYWQtc3RhcnRcIiB0cmFuc2xhdGU+XG4gICAgICAgICAgc3RyZWFtQ2hhdC5TdGFydCBvZiBhIG5ldyB0aHJlYWRcbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2xpPlxuICAgICAgPGxpXG4gICAgICAgIGRhdGEtdGVzdGNsYXNzPVwibWVzc2FnZVwiXG4gICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgIGxldCBtZXNzYWdlIG9mIG1lc3NhZ2VzJCB8IGFzeW5jO1xuICAgICAgICAgIGxldCBpID0gaW5kZXg7XG4gICAgICAgICAgdHJhY2tCeTogdHJhY2tCeU1lc3NhZ2VJZFxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cInN0ci1jaGF0X19saSBzdHItY2hhdF9fbGktLXt7IGdyb3VwU3R5bGVzW2ldIH19XCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICBtZXNzYWdlVGVtcGxhdGVDb250YWluZXI7XG4gICAgICAgICAgICBjb250ZXh0OiB7IG1lc3NhZ2U6IG1lc3NhZ2UgfVxuICAgICAgICAgIFwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbGlzdC1ub3RpZmljYXRpb25zXCI+XG4gIDxidXR0b25cbiAgICBkYXRhLXRlc3RpZD1cInNjcm9sbC10by1ib3R0b21cIlxuICAgICpuZ0lmPVwiaXNVc2VyU2Nyb2xsZWRVcFwiXG4gICAgY2xhc3M9XCJcbiAgICAgIHN0ci1jaGF0X19tZXNzYWdlLW5vdGlmaWNhdGlvblxuICAgICAgc3RyLWNoYXRfX21lc3NhZ2Utbm90aWZpY2F0aW9uLXJpZ2h0XG4gICAgICBzdHItY2hhdF9fbWVzc2FnZS1ub3RpZmljYXRpb24tc2Nyb2xsLWRvd25cbiAgICBcIlxuICAgIChrZXl1cC5lbnRlcik9XCJzY3JvbGxUb0JvdHRvbSgpXCJcbiAgICAoY2xpY2spPVwic2Nyb2xsVG9Cb3R0b20oKVwiXG4gID5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cInVucmVhZE1lc3NhZ2VDb3VudCA+IDBcIlxuICAgICAgY2xhc3M9XCJcbiAgICAgICAgc3RyLWNoYXRfX21lc3NhZ2Utbm90aWZpY2F0aW9uXG4gICAgICAgIHN0ci1jaGF0X19tZXNzYWdlLW5vdGlmaWNhdGlvbi1zY3JvbGwtZG93bi11bnJlYWQtY291bnRcbiAgICAgIFwiXG4gICAgPlxuICAgICAge3sgdW5yZWFkTWVzc2FnZUNvdW50IH19XG4gICAgPC9kaXY+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbWVzc2FnZVRlbXBsYXRlQ29udGFpbmVyIGxldC1tZXNzYWdlPVwibWVzc2FnZVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibWVzc2FnZVRlbXBsYXRlOyBlbHNlIGRlZmF1bHRNZXNzYWdlVGVtcGxhdGVcIj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICBtZXNzYWdlVGVtcGxhdGU7XG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgICAgICAgIGFyZVJlYWN0aW9uc0VuYWJsZWQ6IGFyZVJlYWN0aW9uc0VuYWJsZWQsXG4gICAgICAgICAgY2FuUmVhY3RUb01lc3NhZ2U6IGNhblJlYWN0VG9NZXNzYWdlLFxuICAgICAgICAgIGxhc3RTZW50TWVzc2FnZUlkOiAhIShcbiAgICAgICAgICAgIGxhc3RTZW50TWVzc2FnZUlkICYmIG1lc3NhZ2U/LmlkID09PSBsYXN0U2VudE1lc3NhZ2VJZFxuICAgICAgICAgICksXG4gICAgICAgICAgY2FuUmVjZWl2ZVJlYWRFdmVudHM6IGNhblJlY2VpdmVSZWFkRXZlbnRzLFxuICAgICAgICAgIG1lc3NhZ2VJbnB1dFRlbXBsYXRlOiBtZXNzYWdlSW5wdXRUZW1wbGF0ZSxcbiAgICAgICAgICBtZW50aW9uVGVtcGxhdGU6IG1lbnRpb25UZW1wbGF0ZSxcbiAgICAgICAgICBtb2RlOiBtb2RlXG4gICAgICAgIH1cbiAgICAgIFwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0TWVzc2FnZVRlbXBsYXRlPlxuICAgIDxzdHJlYW0tbWVzc2FnZVxuICAgICAgW21lc3NhZ2VdPVwibWVzc2FnZVwiXG4gICAgICBbYXJlUmVhY3Rpb25zRW5hYmxlZF09XCJhcmVSZWFjdGlvbnNFbmFibGVkXCJcbiAgICAgIFtjYW5SZWFjdFRvTWVzc2FnZV09XCJjYW5SZWFjdFRvTWVzc2FnZVwiXG4gICAgICBbaXNMYXN0U2VudE1lc3NhZ2VdPVwiXG4gICAgICAgICEhKGxhc3RTZW50TWVzc2FnZUlkICYmIG1lc3NhZ2U/LmlkID09PSBsYXN0U2VudE1lc3NhZ2VJZClcbiAgICAgIFwiXG4gICAgICBbZW5hYmxlZE1lc3NhZ2VBY3Rpb25zXT1cImVuYWJsZWRNZXNzYWdlQWN0aW9uc1wiXG4gICAgICBbY2FuUmVjZWl2ZVJlYWRFdmVudHNdPVwiY2FuUmVjZWl2ZVJlYWRFdmVudHNcIlxuICAgICAgW21lc3NhZ2VJbnB1dFRlbXBsYXRlXT1cIm1lc3NhZ2VJbnB1dFRlbXBsYXRlXCJcbiAgICAgIFttZW50aW9uVGVtcGxhdGVdPVwibWVudGlvblRlbXBsYXRlXCJcbiAgICAgIFttb2RlXT1cIm1vZGVcIlxuICAgID48L3N0cmVhbS1tZXNzYWdlPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { v4 as uuidv4 } from 'uuid';
|
|
2
|
-
export const createMessagePreview = (user, text, attachments, mentionedUsers) => {
|
|
2
|
+
export const createMessagePreview = (user, text, attachments = [], mentionedUsers = [], parentId = undefined, quotedMessageId = undefined) => {
|
|
3
3
|
const clientSideId = `${user.id}-${uuidv4()}`;
|
|
4
4
|
return {
|
|
5
5
|
__html: text,
|
|
@@ -13,6 +13,8 @@ export const createMessagePreview = (user, text, attachments, mentionedUsers) =>
|
|
|
13
13
|
user,
|
|
14
14
|
attachments,
|
|
15
15
|
mentioned_users: mentionedUsers,
|
|
16
|
+
parent_id: parentId,
|
|
17
|
+
quoted_message_id: quotedMessageId,
|
|
16
18
|
};
|
|
17
19
|
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1wcmV2aWV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL21lc3NhZ2UtcHJldmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUNsQyxJQUFrQixFQUNsQixJQUFZLEVBQ1osY0FBNEIsRUFBRSxFQUM5QixpQkFBaUMsRUFBRSxFQUNuQyxXQUErQixTQUFTLEVBQ3hDLGtCQUFzQyxTQUFTLEVBQy9DLEVBQUU7SUFDRixNQUFNLFlBQVksR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLElBQUksTUFBTSxFQUFFLEVBQUUsQ0FBQztJQUU5QyxPQUFPO1FBQ0wsTUFBTSxFQUFFLElBQUk7UUFDWixVQUFVLEVBQUUsSUFBSSxJQUFJLEVBQUU7UUFDdEIsSUFBSSxFQUFFLElBQUk7UUFDVixFQUFFLEVBQUUsWUFBWTtRQUNoQixTQUFTLEVBQUUsRUFBRTtRQUNiLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLElBQUk7UUFDSixJQUFJLEVBQUUsU0FBUztRQUNmLElBQUk7UUFDSixXQUFXO1FBQ1gsZUFBZSxFQUFFLGNBQWM7UUFDL0IsU0FBUyxFQUFFLFFBQVE7UUFDbkIsaUJBQWlCLEVBQUUsZUFBZTtLQUNMLENBQUM7QUFDbEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXR0YWNobWVudCwgTWVzc2FnZVJlc3BvbnNlLCBVc2VyUmVzcG9uc2UgfSBmcm9tICdzdHJlYW0tY2hhdCc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1lc3NhZ2VQcmV2aWV3ID0gKFxuICB1c2VyOiBVc2VyUmVzcG9uc2UsXG4gIHRleHQ6IHN0cmluZyxcbiAgYXR0YWNobWVudHM6IEF0dGFjaG1lbnRbXSA9IFtdLFxuICBtZW50aW9uZWRVc2VyczogVXNlclJlc3BvbnNlW10gPSBbXSxcbiAgcGFyZW50SWQ6IHVuZGVmaW5lZCB8IHN0cmluZyA9IHVuZGVmaW5lZCxcbiAgcXVvdGVkTWVzc2FnZUlkOiB1bmRlZmluZWQgfCBzdHJpbmcgPSB1bmRlZmluZWRcbikgPT4ge1xuICBjb25zdCBjbGllbnRTaWRlSWQgPSBgJHt1c2VyLmlkfS0ke3V1aWR2NCgpfWA7XG5cbiAgcmV0dXJuIHtcbiAgICBfX2h0bWw6IHRleHQsXG4gICAgY3JlYXRlZF9hdDogbmV3IERhdGUoKSxcbiAgICBodG1sOiB0ZXh0LFxuICAgIGlkOiBjbGllbnRTaWRlSWQsXG4gICAgcmVhY3Rpb25zOiBbXSxcbiAgICBzdGF0dXM6ICdzZW5kaW5nJyxcbiAgICB0ZXh0LFxuICAgIHR5cGU6ICdyZWd1bGFyJyxcbiAgICB1c2VyLFxuICAgIGF0dGFjaG1lbnRzLFxuICAgIG1lbnRpb25lZF91c2VyczogbWVudGlvbmVkVXNlcnMsXG4gICAgcGFyZW50X2lkOiBwYXJlbnRJZCxcbiAgICBxdW90ZWRfbWVzc2FnZV9pZDogcXVvdGVkTWVzc2FnZUlkLFxuICB9IGFzIHVua25vd24gYXMgTWVzc2FnZVJlc3BvbnNlO1xufTtcbiJdfQ==
|
|
@@ -19,6 +19,7 @@ import { AttachmentPreviewListComponent } from './attachment-preview-list/attach
|
|
|
19
19
|
import { ModalComponent } from './modal/modal.component';
|
|
20
20
|
import { TextareaDirective } from './message-input/textarea.directive';
|
|
21
21
|
import { StreamAvatarModule } from './stream-avatar.module';
|
|
22
|
+
import { ThreadComponent } from './thread/thread.component';
|
|
22
23
|
import * as i0 from "@angular/core";
|
|
23
24
|
export class StreamChatModule {
|
|
24
25
|
}
|
|
@@ -39,7 +40,8 @@ StreamChatModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
|
|
|
39
40
|
NotificationListComponent,
|
|
40
41
|
AttachmentPreviewListComponent,
|
|
41
42
|
ModalComponent,
|
|
42
|
-
TextareaDirective
|
|
43
|
+
TextareaDirective,
|
|
44
|
+
ThreadComponent], imports: [CommonModule, TranslateModule, StreamAvatarModule], exports: [ChannelComponent,
|
|
43
45
|
ChannelHeaderComponent,
|
|
44
46
|
ChannelListComponent,
|
|
45
47
|
ChannelPreviewComponent,
|
|
@@ -55,7 +57,8 @@ StreamChatModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
|
|
|
55
57
|
NotificationListComponent,
|
|
56
58
|
AttachmentPreviewListComponent,
|
|
57
59
|
ModalComponent,
|
|
58
|
-
StreamAvatarModule
|
|
60
|
+
StreamAvatarModule,
|
|
61
|
+
ThreadComponent] });
|
|
59
62
|
StreamChatModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: StreamChatModule, imports: [[CommonModule, TranslateModule, StreamAvatarModule], StreamAvatarModule] });
|
|
60
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: StreamChatModule, decorators: [{
|
|
61
64
|
type: NgModule,
|
|
@@ -78,6 +81,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
|
|
|
78
81
|
AttachmentPreviewListComponent,
|
|
79
82
|
ModalComponent,
|
|
80
83
|
TextareaDirective,
|
|
84
|
+
ThreadComponent,
|
|
81
85
|
],
|
|
82
86
|
imports: [CommonModule, TranslateModule, StreamAvatarModule],
|
|
83
87
|
exports: [
|
|
@@ -98,7 +102,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
|
|
|
98
102
|
AttachmentPreviewListComponent,
|
|
99
103
|
ModalComponent,
|
|
100
104
|
StreamAvatarModule,
|
|
105
|
+
ThreadComponent,
|
|
101
106
|
],
|
|
102
107
|
}]
|
|
103
108
|
}] });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWFtLWNoYXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL3N0cmVhbS1jaGF0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDNUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDNUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBNkM1RCxNQUFNLE9BQU8sZ0JBQWdCOzs2R0FBaEIsZ0JBQWdCOzhHQUFoQixnQkFBZ0IsaUJBekN6QixnQkFBZ0I7UUFDaEIsc0JBQXNCO1FBQ3RCLG9CQUFvQjtRQUNwQix1QkFBdUI7UUFDdkIsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUNyQixvQkFBb0I7UUFDcEIseUJBQXlCO1FBQ3pCLGFBQWE7UUFDYiwwQkFBMEI7UUFDMUIsdUJBQXVCO1FBQ3ZCLHlCQUF5QjtRQUN6QixxQkFBcUI7UUFDckIseUJBQXlCO1FBQ3pCLDhCQUE4QjtRQUM5QixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGVBQWUsYUFFUCxZQUFZLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixhQUV6RCxnQkFBZ0I7UUFDaEIsc0JBQXNCO1FBQ3RCLG9CQUFvQjtRQUNwQix1QkFBdUI7UUFDdkIsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUNyQixvQkFBb0I7UUFDcEIseUJBQXlCO1FBQ3pCLGFBQWE7UUFDYiwwQkFBMEI7UUFDMUIsdUJBQXVCO1FBQ3ZCLHlCQUF5QjtRQUN6QixxQkFBcUI7UUFDckIseUJBQXlCO1FBQ3pCLDhCQUE4QjtRQUM5QixjQUFjO1FBQ2Qsa0JBQWtCO1FBQ2xCLGVBQWU7OEdBR04sZ0JBQWdCLFlBdEJsQixDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsa0JBQWtCLENBQUMsRUFrQjFELGtCQUFrQjsyRkFJVCxnQkFBZ0I7a0JBM0M1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixvQkFBb0I7d0JBQ3BCLHlCQUF5Qjt3QkFDekIsYUFBYTt3QkFDYiwwQkFBMEI7d0JBQzFCLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6QixxQkFBcUI7d0JBQ3JCLHlCQUF5Qjt3QkFDekIsOEJBQThCO3dCQUM5QixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQztvQkFDNUQsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLHVCQUF1Qjt3QkFDdkIsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6QixhQUFhO3dCQUNiLDBCQUEwQjt3QkFDMUIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLHFCQUFxQjt3QkFDckIseUJBQXlCO3dCQUN6Qiw4QkFBOEI7d0JBQzlCLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixlQUFlO3FCQUNoQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFubmVsQ29tcG9uZW50IH0gZnJvbSAnLi9jaGFubmVsL2NoYW5uZWwuY29tcG9uZW50JztcbmltcG9ydCB7IENoYW5uZWxIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2NoYW5uZWwtaGVhZGVyL2NoYW5uZWwtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGFubmVsTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY2hhbm5lbC1saXN0L2NoYW5uZWwtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hhbm5lbFByZXZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NoYW5uZWwtcHJldmlldy9jaGFubmVsLXByZXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuL21lc3NhZ2UvbWVzc2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVzc2FnZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdlLWlucHV0L21lc3NhZ2UtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2VMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdlLWxpc3QvbWVzc2FnZS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTG9hZGluZ0luZGljYXRvckNvbXBvbmVudCB9IGZyb20gJy4vbG9hZGluZy1pbmRpY2F0b3IvbG9hZGluZy1pbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVzc2FnZUFjdGlvbnNCb3hDb21wb25lbnQgfSBmcm9tICcuL21lc3NhZ2UtYWN0aW9ucy1ib3gvbWVzc2FnZS1hY3Rpb25zLWJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXR0YWNobWVudExpc3RDb21wb25lbnQgfSBmcm9tICcuL2F0dGFjaG1lbnQtbGlzdC9hdHRhY2htZW50LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2VSZWFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL21lc3NhZ2UtcmVhY3Rpb25zL21lc3NhZ2UtcmVhY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25Db21wb25lbnQgfSBmcm9tICcuL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkxpc3RDb21wb25lbnQgfSBmcm9tICcuL25vdGlmaWNhdGlvbi1saXN0L25vdGlmaWNhdGlvbi1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEF0dGFjaG1lbnRQcmV2aWV3TGlzdENvbXBvbmVudCB9IGZyb20gJy4vYXR0YWNobWVudC1wcmV2aWV3LWxpc3QvYXR0YWNobWVudC1wcmV2aWV3LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dGFyZWFEaXJlY3RpdmUgfSBmcm9tICcuL21lc3NhZ2UtaW5wdXQvdGV4dGFyZWEuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN0cmVhbUF2YXRhck1vZHVsZSB9IGZyb20gJy4vc3RyZWFtLWF2YXRhci5tb2R1bGUnO1xuaW1wb3J0IHsgVGhyZWFkQ29tcG9uZW50IH0gZnJvbSAnLi90aHJlYWQvdGhyZWFkLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIENoYW5uZWxDb21wb25lbnQsXG4gICAgQ2hhbm5lbEhlYWRlckNvbXBvbmVudCxcbiAgICBDaGFubmVsTGlzdENvbXBvbmVudCxcbiAgICBDaGFubmVsUHJldmlld0NvbXBvbmVudCxcbiAgICBNZXNzYWdlQ29tcG9uZW50LFxuICAgIE1lc3NhZ2VJbnB1dENvbXBvbmVudCxcbiAgICBNZXNzYWdlTGlzdENvbXBvbmVudCxcbiAgICBMb2FkaW5nSW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgTWVzc2FnZUFjdGlvbnNCb3hDb21wb25lbnQsXG4gICAgQXR0YWNobWVudExpc3RDb21wb25lbnQsXG4gICAgTWVzc2FnZVJlYWN0aW9uc0NvbXBvbmVudCxcbiAgICBOb3RpZmljYXRpb25Db21wb25lbnQsXG4gICAgTm90aWZpY2F0aW9uTGlzdENvbXBvbmVudCxcbiAgICBBdHRhY2htZW50UHJldmlld0xpc3RDb21wb25lbnQsXG4gICAgTW9kYWxDb21wb25lbnQsXG4gICAgVGV4dGFyZWFEaXJlY3RpdmUsXG4gICAgVGhyZWFkQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIFN0cmVhbUF2YXRhck1vZHVsZV0sXG4gIGV4cG9ydHM6IFtcbiAgICBDaGFubmVsQ29tcG9uZW50LFxuICAgIENoYW5uZWxIZWFkZXJDb21wb25lbnQsXG4gICAgQ2hhbm5lbExpc3RDb21wb25lbnQsXG4gICAgQ2hhbm5lbFByZXZpZXdDb21wb25lbnQsXG4gICAgTWVzc2FnZUNvbXBvbmVudCxcbiAgICBNZXNzYWdlSW5wdXRDb21wb25lbnQsXG4gICAgTWVzc2FnZUxpc3RDb21wb25lbnQsXG4gICAgTG9hZGluZ0luZGljYXRvckNvbXBvbmVudCxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIE1lc3NhZ2VBY3Rpb25zQm94Q29tcG9uZW50LFxuICAgIEF0dGFjaG1lbnRMaXN0Q29tcG9uZW50LFxuICAgIE1lc3NhZ2VSZWFjdGlvbnNDb21wb25lbnQsXG4gICAgTm90aWZpY2F0aW9uQ29tcG9uZW50LFxuICAgIE5vdGlmaWNhdGlvbkxpc3RDb21wb25lbnQsXG4gICAgQXR0YWNobWVudFByZXZpZXdMaXN0Q29tcG9uZW50LFxuICAgIE1vZGFsQ29tcG9uZW50LFxuICAgIFN0cmVhbUF2YXRhck1vZHVsZSxcbiAgICBUaHJlYWRDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFN0cmVhbUNoYXRNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Component, HostBinding } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../channel.service";
|
|
4
|
+
import * as i2 from "../icon/icon.component";
|
|
5
|
+
import * as i3 from "@ngx-translate/core";
|
|
6
|
+
export class ThreadComponent {
|
|
7
|
+
constructor(channelService) {
|
|
8
|
+
this.channelService = channelService;
|
|
9
|
+
this.class = 'str-chat__thread';
|
|
10
|
+
this.subscriptions = [];
|
|
11
|
+
this.subscriptions.push(this.channelService.activeParentMessage$.subscribe((parentMessage) => (this.parentMessage = parentMessage)));
|
|
12
|
+
}
|
|
13
|
+
ngOnDestroy() {
|
|
14
|
+
this.subscriptions.forEach((s) => s.unsubscribe());
|
|
15
|
+
}
|
|
16
|
+
get replyCountParam() {
|
|
17
|
+
var _a;
|
|
18
|
+
return { replyCount: (_a = this.parentMessage) === null || _a === void 0 ? void 0 : _a.reply_count };
|
|
19
|
+
}
|
|
20
|
+
closeThread() {
|
|
21
|
+
void this.channelService.setAsActiveParentMessage(undefined);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
ThreadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ThreadComponent, deps: [{ token: i1.ChannelService }], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
+
ThreadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: ThreadComponent, selector: "stream-thread", host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<div class=\"str-chat__thread-header\">\n <div class=\"str-chat__thread-header-details\">\n <strong translate>streamChat.Thread</strong>\n <small data-testid=\"reply-count\">\n {{parentMessage?.reply_count === 1 ? ('streamChat.1 reply' | translate) : ('streamChat.{{ replyCount }}\n replies' | translate:replyCountParam)}}\n </small>\n </div>\n <button\n class=\"str-chat__square-button\"\n data-testid=\"close-button\"\n (click)=\"closeThread()\"\n >\n <stream-icon icon=\"close-no-outline\"></stream-icon>\n </button>\n</div>\n<ng-content select='[name=\"thread-message-list\"]'></ng-content>\n<div class=\"str-chat__small-message-input__wrapper\">\n <ng-content select='[name=\"thread-message-input\"]'></ng-content>\n</div>\n", components: [{ type: i2.IconComponent, selector: "stream-icon", inputs: ["icon", "size"] }], directives: [{ type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], pipes: { "translate": i3.TranslatePipe } });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ThreadComponent, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{
|
|
29
|
+
selector: 'stream-thread',
|
|
30
|
+
templateUrl: './thread.component.html',
|
|
31
|
+
styles: [],
|
|
32
|
+
}]
|
|
33
|
+
}], ctorParameters: function () { return [{ type: i1.ChannelService }]; }, propDecorators: { class: [{
|
|
34
|
+
type: HostBinding,
|
|
35
|
+
args: ['class']
|
|
36
|
+
}] } });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWFkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi90aHJlYWQvdGhyZWFkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi90aHJlYWQvdGhyZWFkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFhLE1BQU0sZUFBZSxDQUFDOzs7OztBQVVsRSxNQUFNLE9BQU8sZUFBZTtJQUsxQixZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFKcEIsVUFBSyxHQUFHLGtCQUFrQixDQUFDO1FBRWpELGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUd6QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQ2hELENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLENBQ3hELENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFJLGVBQWU7O1FBQ2pCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxXQUFXLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBRUQsV0FBVztRQUNULEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvRCxDQUFDOzs0R0F2QlUsZUFBZTtnR0FBZixlQUFlLHNHQ1Y1Qixnd0JBb0JBOzJGRFZhLGVBQWU7a0JBTDNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFdBQVcsRUFBRSx5QkFBeUI7b0JBQ3RDLE1BQU0sRUFBRSxFQUFFO2lCQUNYO3FHQUUrQixLQUFLO3NCQUFsQyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuLi9jaGFubmVsLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RyZWFtTWVzc2FnZSB9IGZyb20gJy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3RyZWFtLXRocmVhZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90aHJlYWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBUaHJlYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgcHJpdmF0ZSBjbGFzcyA9ICdzdHItY2hhdF9fdGhyZWFkJztcbiAgcGFyZW50TWVzc2FnZTogU3RyZWFtTWVzc2FnZSB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbm5lbFNlcnZpY2U6IENoYW5uZWxTZXJ2aWNlKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNoYW5uZWxTZXJ2aWNlLmFjdGl2ZVBhcmVudE1lc3NhZ2UkLnN1YnNjcmliZShcbiAgICAgICAgKHBhcmVudE1lc3NhZ2UpID0+ICh0aGlzLnBhcmVudE1lc3NhZ2UgPSBwYXJlbnRNZXNzYWdlKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIGdldCByZXBseUNvdW50UGFyYW0oKSB7XG4gICAgcmV0dXJuIHsgcmVwbHlDb3VudDogdGhpcy5wYXJlbnRNZXNzYWdlPy5yZXBseV9jb3VudCB9O1xuICB9XG5cbiAgY2xvc2VUaHJlYWQoKSB7XG4gICAgdm9pZCB0aGlzLmNoYW5uZWxTZXJ2aWNlLnNldEFzQWN0aXZlUGFyZW50TWVzc2FnZSh1bmRlZmluZWQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX3RocmVhZC1oZWFkZXJcIj5cbiAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X190aHJlYWQtaGVhZGVyLWRldGFpbHNcIj5cbiAgICA8c3Ryb25nIHRyYW5zbGF0ZT5zdHJlYW1DaGF0LlRocmVhZDwvc3Ryb25nPlxuICAgIDxzbWFsbCBkYXRhLXRlc3RpZD1cInJlcGx5LWNvdW50XCI+XG4gICAgICB7e3BhcmVudE1lc3NhZ2U/LnJlcGx5X2NvdW50ID09PSAxID8gKCdzdHJlYW1DaGF0LjEgcmVwbHknIHwgdHJhbnNsYXRlKSA6ICgnc3RyZWFtQ2hhdC57eyByZXBseUNvdW50IH19XG4gICAgICByZXBsaWVzJyB8IHRyYW5zbGF0ZTpyZXBseUNvdW50UGFyYW0pfX1cbiAgICA8L3NtYWxsPlxuICA8L2Rpdj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwic3RyLWNoYXRfX3NxdWFyZS1idXR0b25cIlxuICAgIGRhdGEtdGVzdGlkPVwiY2xvc2UtYnV0dG9uXCJcbiAgICAoY2xpY2spPVwiY2xvc2VUaHJlYWQoKVwiXG4gID5cbiAgICA8c3RyZWFtLWljb24gaWNvbj1cImNsb3NlLW5vLW91dGxpbmVcIj48L3N0cmVhbS1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuPG5nLWNvbnRlbnQgc2VsZWN0PSdbbmFtZT1cInRocmVhZC1tZXNzYWdlLWxpc3RcIl0nPjwvbmctY29udGVudD5cbjxkaXYgY2xhc3M9XCJzdHItY2hhdF9fc21hbGwtbWVzc2FnZS1pbnB1dF9fd3JhcHBlclwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9J1tuYW1lPVwidGhyZWFkLW1lc3NhZ2UtaW5wdXRcIl0nPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|
package/esm2015/public-api.js
CHANGED
|
@@ -32,6 +32,7 @@ export * from './lib/attachment-preview-list/attachment-preview-list.component';
|
|
|
32
32
|
export * from './lib/message-reactions/message-reactions.component';
|
|
33
33
|
export * from './lib/notification/notification.component';
|
|
34
34
|
export * from './lib/notification-list/notification-list.component';
|
|
35
|
+
export * from './lib/thread/thread.component';
|
|
35
36
|
export * from './lib/modal/modal.component';
|
|
36
37
|
export * from './lib/read-by';
|
|
37
38
|
export * from './lib/is-image-attachment';
|
|
@@ -46,4 +47,4 @@ export * from './lib/stream-autocomplete-textarea.module';
|
|
|
46
47
|
export * from './lib/stream-textarea.module';
|
|
47
48
|
export * from './lib/injection-tokens';
|
|
48
49
|
export * from './lib/types';
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHN0cmVhbS1jaGF0LWFuZ3VsYXJcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGF0LWNsaWVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoYW5uZWwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90aGVtZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F0dGFjaG1lbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdHJlYW0taTE4bi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ljb24vaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9hZGluZy1pbmRpY2F0b3IvbG9hZGluZy1pbmRpY2F0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc3NhZ2UtYWN0aW9ucy1ib3gvbWVzc2FnZS1hY3Rpb25zLWJveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hhbm5lbC9jaGFubmVsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGFubmVsLWhlYWRlci9jaGFubmVsLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hhbm5lbC1wcmV2aWV3L2NoYW5uZWwtcHJldmlldy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hhbm5lbC1saXN0L2NoYW5uZWwtbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hhbm5lbC1saXN0L2NoYW5uZWwtbGlzdC10b2dnbGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlL21lc3NhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc3NhZ2UvcGFyc2UtZGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlL3JlYWQtYnktdGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNzYWdlLWlucHV0L21lc3NhZ2UtaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc3NhZ2UtaW5wdXQvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc3NhZ2UtaW5wdXQvYXV0b2NvbXBsZXRlLXRleHRhcmVhL2F1dG9jb21wbGV0ZS10ZXh0YXJlYS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVzc2FnZS1pbnB1dC9tZXNzYWdlLWlucHV0LWNvbmZpZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc3NhZ2UtaW5wdXQvdGV4dGFyZWEuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc3NhZ2UtaW5wdXQvdGV4dGFyZWEuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc3NhZ2UtbGlzdC9tZXNzYWdlLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc3NhZ2UtbGlzdC9pbWFnZS1sb2FkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVzc2FnZS1saXN0L2dyb3VwLXN0eWxlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdHRhY2htZW50LWxpc3QvYXR0YWNobWVudC1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdHRhY2htZW50LXByZXZpZXctbGlzdC9hdHRhY2htZW50LXByZXZpZXctbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVzc2FnZS1yZWFjdGlvbnMvbWVzc2FnZS1yZWFjdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vdGlmaWNhdGlvbi1saXN0L25vdGlmaWNhdGlvbi1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90aHJlYWQvdGhyZWFkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVhZC1ieSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pcy1pbWFnZS1hdHRhY2htZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2lzLWltYWdlLWZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGV2aWNlLXdpZHRoJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc3NhZ2UtcHJldmlldyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90cmFuc2xpdGVyYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdHJlYW0tY2hhdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RyZWFtLWF2YXRhci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RyZWFtLWF1dG9jb21wbGV0ZS10ZXh0YXJlYS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RyZWFtLXRleHRhcmVhLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbmplY3Rpb24tdG9rZW5zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGVzJztcbiJdfQ==
|