@datarailsshared/datarailsshared 1.4.132 → 1.4.134
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/styles/img/genius-avatar.svg +9 -0
- package/assets/styles/img/genius.svg +9 -0
- package/assets/styles/vars.scss +4 -0
- package/bundles/datarailsshared-datarailsshared.umd.js +84 -45
- package/bundles/datarailsshared-datarailsshared.umd.js.map +1 -1
- package/datarailsshared-datarailsshared-1.4.134.tgz +0 -0
- package/datarailsshared-datarailsshared.d.ts +2 -1
- package/datarailsshared-datarailsshared.metadata.json +1 -1
- package/esm2015/datarailsshared-datarailsshared.js +3 -2
- package/esm2015/lib/date-tags/date-tag.component.js +5 -4
- package/esm2015/lib/date-tags/day-tag/day-tag.component.js +2 -2
- package/esm2015/lib/date-tags/forecast-tag/forecast-tag.component.js +2 -2
- package/esm2015/lib/date-tags/month-tag/month-tag.component.js +2 -2
- package/esm2015/lib/date-tags/quarter-tag/quarter-tag.component.js +2 -2
- package/esm2015/lib/date-tags/year-tag/year-tag.component.js +2 -2
- package/esm2015/lib/dr-chat/chat.component.js +17 -6
- package/esm2015/lib/dr-chat/chat.module.js +4 -2
- package/esm2015/lib/dr-chat/dr-chat-form/chat-form.component.js +14 -5
- package/esm2015/lib/dr-chat/dr-chat-message/chat-message.component.js +4 -17
- package/esm2015/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.js +26 -0
- package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.component.js +3 -2
- package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.js +4 -3
- package/esm2015/lib/dr-tags/dr-tag.component.js +4 -2
- package/esm2015/lib/list-tags/list-tag.component.js +2 -1
- package/esm2015/lib/models/chat.js +6 -4
- package/fesm2015/datarailsshared-datarailsshared.js +82 -41
- package/fesm2015/datarailsshared-datarailsshared.js.map +1 -1
- package/lib/date-tags/date-tag.component.d.ts +2 -1
- package/lib/dr-chat/chat.component.d.ts +4 -0
- package/lib/dr-chat/dr-chat-form/chat-form.component.d.ts +1 -0
- package/lib/dr-chat/dr-chat-message/chat-message.component.d.ts +2 -7
- package/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.d.ts +8 -0
- package/lib/dr-dynamic-tag/dr-dynamic-tag.component.d.ts +1 -0
- package/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.d.ts +1 -0
- package/lib/dr-tags/dr-tag.component.d.ts +1 -0
- package/lib/list-tags/list-tag.component.d.ts +1 -0
- package/lib/models/chat.d.ts +2 -2
- package/package.json +1 -1
- package/datarailsshared-datarailsshared-1.4.132.tgz +0 -0
|
@@ -11,8 +11,10 @@ export class DrChatComponent {
|
|
|
11
11
|
this.showClearButton = true;
|
|
12
12
|
this.noMessagesPlaceholder = 'No messages yet.';
|
|
13
13
|
this._scrollBottom = true;
|
|
14
|
+
this.suggestions = [];
|
|
14
15
|
this.clear = new EventEmitter();
|
|
15
16
|
this.close = new EventEmitter();
|
|
17
|
+
this.suggestionSelect = new EventEmitter();
|
|
16
18
|
}
|
|
17
19
|
set contentUpdateSubject(value) {
|
|
18
20
|
if (value) {
|
|
@@ -45,8 +47,13 @@ export class DrChatComponent {
|
|
|
45
47
|
}
|
|
46
48
|
scrollListBottom() {
|
|
47
49
|
setTimeout(() => {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
+
if (this.messagesContainer) {
|
|
51
|
+
this.messagesContainer.nativeElement.scrollTo({
|
|
52
|
+
top: this.messagesContainer.nativeElement.scrollHeight,
|
|
53
|
+
behavior: 'smooth'
|
|
54
|
+
});
|
|
55
|
+
this.cdr.markForCheck();
|
|
56
|
+
}
|
|
50
57
|
});
|
|
51
58
|
}
|
|
52
59
|
ngOnDestroy() {
|
|
@@ -57,24 +64,28 @@ export class DrChatComponent {
|
|
|
57
64
|
DrChatComponent.decorators = [
|
|
58
65
|
{ type: Component, args: [{
|
|
59
66
|
selector: 'dr-chat',
|
|
60
|
-
template: "<div class=\"
|
|
67
|
+
template: "<div class=\"chat\" [class.chat--in-full-screen]=\"fullScreen\">\n <div class=\"chat__header\">\n <div class=\"chat__header__logo\"></div>\n\n <div class=\"chat__header__text\">\n <div class=\"chat__header__text__title\">{{ title }}</div>\n <div *ngIf=\"subtitle\" class=\"chat__header__text__subtitle\">{{ subtitle }}</div>\n </div>\n\n <dr-button *ngIf=\"showClearButton\"\n (click)=\"clear.emit($event)\"\n theme=\"icon\"\n icon=\"dr-icon-clear\"\n class=\"ml-auto\"\n title=\"Clear the history\">\n </dr-button>\n\n <dr-button (click)=\"close.emit($event)\"\n theme=\"icon\"\n icon=\"dr-icon-exit\"\n class=\"ml-4\"\n title=\"Close\">\n </dr-button>\n </div>\n\n <div *ngIf=\"!messages?.length\" class=\"chat__empty-state\">\n <span class=\"chat__empty-state__text\">{{ noMessagesPlaceholder }}</span>\n </div>\n\n <div *ngIf=\"messages?.length\" class=\"chat__messages\">\n <div #messagesContainer class=\"chat__messages__container\">\n <ng-content select=\"dr-chat-message\"></ng-content>\n </div>\n </div>\n\n <dr-chat-suggestions *ngIf=\"suggestions?.length\"\n [values]=\"fullScreen ? suggestions : suggestions.slice(0, 4)\"\n class=\"chat__suggestions\"\n [class.chat__suggestions--full-height]=\"fullScreen && !messages?.length\"\n [buttonMode]=\"!!messages?.length\"\n (suggestionSelect)=\"suggestionSelect.emit($event)\">\n </dr-chat-suggestions>\n\n <div class=\"form\">\n <ng-content select=\"dr-chat-form\"></ng-content>\n </div>\n</div>\n",
|
|
61
68
|
providers: [DrChatCustomMessageService],
|
|
62
|
-
styles: [":host{display:flex;flex-grow:1;flex-direction:column;
|
|
69
|
+
styles: [":host{height:100%;width:100%;display:flex;flex-direction:column}.chat{position:relative;display:flex;flex-grow:1;flex-direction:column;height:100%;background-color:#fff;color:#4e566c;font-family:\"Poppins\",sans-serif;font-size:14px;font-weight:400;line-height:22px}.chat__header{display:flex;align-items:center;background-color:#f2f2ff;color:#25258c;padding:15px 20px;font-weight:400;font-size:20px;line-height:28px;border-bottom:1px solid #F9F7FF}.chat__header__logo{display:flex;width:33px;height:38px;background:url(\"data:image/svg+xml,%3Csvg width%3D%2233%22 height%3D%2238%22 viewBox%3D%220 0 33 38%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M16.5 16.5057C15.1989 16.5057 14.1417 17.5617 14.1417 18.864C14.1417 20.1651 15.1977 21.2223 16.5 21.2223C17.8023 21.2223 18.8583 20.1651 18.8583 18.864C18.8583 17.5617 17.8024 16.5057 16.5 16.5057ZM29.4842 18.8641C32.7028 15.2918 33.7812 11.9706 32.4294 9.60997C31.496 7.98236 29.6646 7.13262 27.107 7.07843C25.9462 7.05487 24.6345 7.19274 23.1907 7.4968C21.6974 2.71185 19.3073 0 16.5 0C13.6927 0 11.3026 2.71185 9.80813 7.49799C5.23298 6.54337 1.90827 7.2788 0.569407 9.61116C-0.781207 11.973 0.298346 15.2918 3.51581 18.8652C0.29716 22.4374 -0.781207 25.7586 0.570593 28.1192C1.53821 29.807 3.464 30.6508 6.16404 30.6508C7.2554 30.6508 8.47871 30.5176 9.8105 30.236C11.3037 35.0209 13.6938 37.7304 16.5 37.7304C19.3073 37.7304 21.6974 35.0197 23.1907 30.2336C24.4871 30.5046 25.6904 30.6473 26.7688 30.6473C29.4948 30.6473 31.47 29.7905 32.4306 28.1205C33.7812 25.7562 32.7017 22.4363 29.4842 18.8641ZM16.5 3.53684C17.3274 3.53684 19.0728 5.30114 20.2302 10.0366C20.3728 10.6212 20.48 11.2458 20.5931 11.8633C20.5766 11.8539 20.5601 11.8421 20.5436 11.8327C19.4888 11.2186 18.3845 10.6365 17.2601 10.1014C15.8836 9.4461 14.5306 8.89573 13.2142 8.44436C14.3373 4.90164 15.7728 3.53684 16.5 3.53684ZM3.64075 26.3609C3.24831 25.6749 3.86706 23.3791 7.20121 20.131C7.53239 19.8081 7.88714 19.4851 8.25251 19.1634C8.25957 20.2689 8.30082 21.372 8.38332 22.441C8.50119 23.9554 8.72038 25.3956 8.98794 26.7946C5.69617 27.4664 3.97193 26.9395 3.64075 26.3609ZM9.12339 13.9801C8.01552 14.7662 6.99016 15.5759 6.04973 16.395C3.72794 13.788 3.29776 11.9659 3.63838 11.3696C4.02143 10.7013 6.23829 10.0979 10.573 11.3177C11.154 11.4816 11.7527 11.6795 12.3585 11.894C11.2755 12.5281 10.19 13.227 9.12339 13.9801ZM16.5 34.1912C15.6726 34.1912 13.9272 32.4269 12.7698 27.6915C12.6272 27.1057 12.52 26.4822 12.4069 25.8636C12.4234 25.873 12.4399 25.8836 12.4564 25.893C13.5112 26.5094 14.6155 27.0916 15.7398 27.6255C17.1164 28.2808 18.4694 28.8311 19.7858 29.2825C18.6627 32.8276 17.2272 34.1912 16.5 34.1912ZM18.764 22.8381C18.0345 23.2636 17.2708 23.6655 16.5 24.0509C15.7293 23.6655 14.9667 23.2636 14.236 22.837C13.4499 22.3797 12.6615 21.8717 11.8777 21.3425C11.8305 20.5246 11.7834 19.7019 11.7834 18.864C11.7834 18.026 11.8305 17.2058 11.8777 16.3867C12.6615 15.8563 13.4499 15.3484 14.236 14.8899C14.9655 14.4656 15.7293 14.0637 16.5 13.6771C17.2708 14.0637 18.0345 14.4656 18.764 14.8899C19.5501 15.3483 20.3385 15.8563 21.1223 16.3867C21.1694 17.2057 21.2166 18.0272 21.2166 18.8651C21.2166 19.7031 21.1694 20.5234 21.1223 21.3437C20.3386 21.8717 19.5502 22.3808 18.764 22.8381ZM29.3617 26.3609C28.9774 27.0244 26.7594 27.6302 22.4271 26.4115C21.846 26.2477 21.2485 26.0497 20.6427 25.8352C21.7234 25.2023 22.8112 24.5034 23.8755 23.7503C24.9833 22.963 26.0087 22.1545 26.9503 21.3342C29.2709 23.9413 29.7022 25.7633 29.3617 26.3609ZM25.7988 17.5983C25.4676 17.9212 25.1129 18.2441 24.7475 18.5658C24.7405 17.4592 24.6992 16.3572 24.6167 15.2882C24.4989 13.7738 24.2797 12.3324 24.0121 10.9335C27.3026 10.2617 29.0257 10.7897 29.3592 11.3683C29.7517 12.0543 29.133 14.3513 25.7988 17.5983Z%22 fill%3D%22url(%23paint0_linear_393_7959)%22%2F%3E%3Cdefs%3E%3ClinearGradient id%3D%22paint0_linear_393_7959%22 x1%3D%2216.5%22 y1%3D%220%22 x2%3D%2216.5%22 y2%3D%2237.7304%22 gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop stop-color%3D%22%2306B3F4%22%2F%3E%3Cstop offset%3D%221%22 stop-color%3D%22%237B61FF%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\") no-repeat;background-size:100% 100%}.chat__header__text{display:flex;flex-direction:column;flex-grow:1;margin-left:20px}.chat__header__text__title{display:flex;align-items:center}.chat__header__text__title:after{content:\"BETA\";display:inline-flex;padding:2px 10px;background:#25258C;color:#f4f4f3;font-weight:600;font-size:10px;line-height:14px;border-radius:8px;margin-left:12px;font-family:\"Nunito Sans\",sans-serif}.chat__header__text__subtitle{font-size:14px;line-height:22px}.chat__header dr-button::ng-deep button:not(:hover){color:#25258c}.chat__empty-state{display:flex;justify-content:center}.chat__empty-state__text{padding:20px 0;font-family:Poppins,sans-serif;font-size:20px;font-weight:300;line-height:30px;text-align:center;max-width:440px}.chat__messages{display:flex;flex-grow:1;overflow-x:hidden;overflow-y:auto;height:100%;width:100%}.chat__messages__container{overflow-y:auto;overflow-x:hidden;display:flex;flex-shrink:0;flex-direction:column;width:100%;padding-bottom:1px}.chat__suggestions--full-height{flex-grow:1;height:1px;overflow:auto}.chat--in-full-screen .chat__header{display:none}.chat--in-full-screen .chat__empty-state__text{padding:77px 0;font-size:28px;line-height:46px;max-width:570px}.chat--in-full-screen .chat__messages::ng-deep dr-chat-message{justify-content:center}.chat--in-full-screen .chat__messages::ng-deep .message{max-width:700px}.chat--in-full-screen .chat__suggestions::ng-deep .chat-suggestions__items{padding-left:0;padding-right:0}.chat--in-full-screen .chat__suggestions::ng-deep .chat-suggestions__items__item{margin:0 0 26px;height:80px;width:310px;font-size:16px}.chat--in-full-screen .chat__suggestions::ng-deep .chat-suggestions__container{padding:0}\n"]
|
|
63
70
|
},] }
|
|
64
71
|
];
|
|
65
72
|
DrChatComponent.ctorParameters = () => [
|
|
66
73
|
{ type: ChangeDetectorRef }
|
|
67
74
|
];
|
|
68
75
|
DrChatComponent.propDecorators = {
|
|
76
|
+
fullScreen: [{ type: Input }],
|
|
69
77
|
title: [{ type: Input }],
|
|
78
|
+
subtitle: [{ type: Input }],
|
|
70
79
|
showClearButton: [{ type: Input }],
|
|
71
80
|
noMessagesPlaceholder: [{ type: Input }],
|
|
72
81
|
contentUpdateSubject: [{ type: Input }],
|
|
73
82
|
scrollBottom: [{ type: Input }],
|
|
83
|
+
suggestions: [{ type: Input }],
|
|
74
84
|
messagesContainer: [{ type: ViewChild, args: ['messagesContainer',] }],
|
|
75
85
|
messages: [{ type: ContentChildren, args: [DrChatMessageComponent,] }],
|
|
76
86
|
chatForm: [{ type: ContentChild, args: [DrChatFormComponent,] }],
|
|
77
87
|
clear: [{ type: Output }],
|
|
78
|
-
close: [{ type: Output }]
|
|
88
|
+
close: [{ type: Output }],
|
|
89
|
+
suggestionSelect: [{ type: Output }]
|
|
79
90
|
};
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2NoYXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFFVCxlQUFlLEVBR2YsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sWUFBWSxHQUVmLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBUTNDLE1BQU0sT0FBTyxlQUFlO0lBeUN4QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXZDbEMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFLOUIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFDdkIsMEJBQXFCLEdBQUcsa0JBQWtCLENBQUM7UUFzQjFDLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBRXRCLGdCQUFXLEdBQWEsRUFBRSxDQUFDO1FBSzFCLFVBQUssR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNuRCxVQUFLLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbkQscUJBQWdCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7SUFHOUUsQ0FBQztJQWhDRCxJQUFhLG9CQUFvQixDQUFDLEtBQW1CO1FBQ2pELElBQUksS0FBSyxFQUFFO1lBQ1AsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBQUEsQ0FBQztJQUVGOztPQUVHO0lBQ0gsSUFDSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxLQUFjO1FBQzNCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBZ0JELGVBQWU7UUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDekIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztJQUVELGdCQUFnQjtRQUNSLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7b0JBQzFDLEdBQUcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFlBQVk7b0JBQ3RELFFBQVEsRUFBRSxRQUFRO2lCQUNyQixDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7O1lBaEZKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsU0FBUztnQkFFbkIsaTJEQUFrQztnQkFDbEMsU0FBUyxFQUFFLENBQUMsMEJBQTBCLENBQUM7O2FBQzFDOzs7WUFqQkcsaUJBQWlCOzs7eUJBc0JoQixLQUFLO29CQUNMLEtBQUs7dUJBQ0wsS0FBSzs4QkFDTCxLQUFLO29DQUNMLEtBQUs7bUNBRUwsS0FBSzsyQkFXTCxLQUFLOzBCQVdMLEtBQUs7Z0NBRUwsU0FBUyxTQUFDLG1CQUFtQjt1QkFDN0IsZUFBZSxTQUFDLHNCQUFzQjt1QkFDdEMsWUFBWSxTQUFDLG1CQUFtQjtvQkFDaEMsTUFBTTtvQkFDTixNQUFNOytCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgUXVlcnlMaXN0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRHJDaGF0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZHItY2hhdC1mb3JtL2NoYXQtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0TWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vZHItY2hhdC1tZXNzYWdlL2NoYXQtbWVzc2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0Q3VzdG9tTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuL2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtY3VzdG9tL2NoYXQtY3VzdG9tLW1lc3NhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY2hhdCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hhdC5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnY2hhdC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbRHJDaGF0Q3VzdG9tTWVzc2FnZVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIERyQ2hhdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIEBJbnB1dCgpIGZ1bGxTY3JlZW46IGJvb2xlYW47XG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBzdWJ0aXRsZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNob3dDbGVhckJ1dHRvbiA9IHRydWU7XG4gICAgQElucHV0KCkgbm9NZXNzYWdlc1BsYWNlaG9sZGVyID0gJ05vIG1lc3NhZ2VzIHlldC4nO1xuXG4gICAgQElucHV0KCkgc2V0IGNvbnRlbnRVcGRhdGVTdWJqZWN0KHZhbHVlOiBTdWJqZWN0PGFueT4pIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB2YWx1ZS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIFNjcm9sbCBjaGF0IHRvIHRoZSBib3R0b20gb2YgdGhlIGxpc3Qgd2hlbiBhIG5ldyBtZXNzYWdlIGFycml2ZXNcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBzY3JvbGxCb3R0b20oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxCb3R0b207XG4gICAgfVxuXG4gICAgc2V0IHNjcm9sbEJvdHRvbSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zY3JvbGxCb3R0b20gPSAhIXZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfc2Nyb2xsQm90dG9tID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpIHN1Z2dlc3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgQFZpZXdDaGlsZCgnbWVzc2FnZXNDb250YWluZXInKSBtZXNzYWdlc0NvbnRhaW5lcjogRWxlbWVudFJlZjtcbiAgICBAQ29udGVudENoaWxkcmVuKERyQ2hhdE1lc3NhZ2VDb21wb25lbnQpIG1lc3NhZ2VzOiBRdWVyeUxpc3Q8RHJDaGF0TWVzc2FnZUNvbXBvbmVudD47XG4gICAgQENvbnRlbnRDaGlsZChEckNoYXRGb3JtQ29tcG9uZW50KSBjaGF0Rm9ybTogRHJDaGF0Rm9ybUNvbXBvbmVudDtcbiAgICBAT3V0cHV0KCkgY2xlYXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIGNsb3NlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBzdWdnZXN0aW9uU2VsZWN0OiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VzLmNoYW5nZXMuc3Vic2NyaWJlKG1lc3NhZ2VzID0+IHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXMgPSBtZXNzYWdlcztcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmlldygpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVWaWV3KCkge1xuICAgICAgICBpZiAodGhpcy5zY3JvbGxCb3R0b20pIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsTGlzdEJvdHRvbSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2Nyb2xsTGlzdEJvdHRvbSgpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm1lc3NhZ2VzQ29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZXNDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHRoaXMubWVzc2FnZXNDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCdcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -9,12 +9,14 @@ import { DrChatFormComponent } from './dr-chat-form/chat-form.component';
|
|
|
9
9
|
import { DrChatMessageTextComponent } from './dr-chat-message/dr-chat-message-text/chat-message-text.component';
|
|
10
10
|
import { DrChatMessageFileComponent } from './dr-chat-message/dr-chat-message-file/chat-message-file.component';
|
|
11
11
|
import { DrChatCustomMessageDirective } from './dr-chat-message/dr-chat-message-custom/chat-custom-message.directive';
|
|
12
|
+
import { DrChatSuggestionsComponent } from './dr-chat-suggestions/chat-suggestions.component';
|
|
12
13
|
const DR_CHAT_COMPONENTS = [
|
|
13
14
|
DrChatComponent,
|
|
14
15
|
DrChatMessageComponent,
|
|
15
16
|
DrChatFormComponent,
|
|
16
17
|
DrChatMessageTextComponent,
|
|
17
18
|
DrChatMessageFileComponent,
|
|
19
|
+
DrChatSuggestionsComponent,
|
|
18
20
|
];
|
|
19
21
|
const DR_CHAT_DIRECTIVES = [DrChatCustomMessageDirective];
|
|
20
22
|
export class DrChatModule {
|
|
@@ -26,10 +28,10 @@ DrChatModule.decorators = [
|
|
|
26
28
|
ReactiveFormsModule,
|
|
27
29
|
CommonModule,
|
|
28
30
|
DrAvatarModule,
|
|
29
|
-
DrInputsModule
|
|
31
|
+
DrInputsModule,
|
|
30
32
|
],
|
|
31
33
|
declarations: [...DR_CHAT_COMPONENTS, ...DR_CHAT_DIRECTIVES],
|
|
32
34
|
exports: [...DR_CHAT_COMPONENTS, ...DR_CHAT_DIRECTIVES],
|
|
33
35
|
},] }
|
|
34
36
|
];
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2NoYXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUN0SCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUc5RixNQUFNLGtCQUFrQixHQUFHO0lBQ3ZCLGVBQWU7SUFDZixzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIsMEJBQTBCO0NBQzdCLENBQUM7QUFFRixNQUFNLGtCQUFrQixHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQWMxRCxNQUFNLE9BQU8sWUFBWTs7O1lBWHhCLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxjQUFjO2lCQUNqQjtnQkFDRCxZQUFZLEVBQUUsQ0FBQyxHQUFHLGtCQUFrQixFQUFFLEdBQUcsa0JBQWtCLENBQUM7Z0JBQzVELE9BQU8sRUFBRSxDQUFDLEdBQUcsa0JBQWtCLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQzthQUMxRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEcklucHV0c01vZHVsZSB9IGZyb20gJy4uL2RyLWlucHV0cy9kci1pbnB1dHMubW9kdWxlJztcbmltcG9ydCB7IERyQXZhdGFyTW9kdWxlIH0gZnJvbSAnLi4vZHItYXZhdGFyL2RyLWF2YXRhci5tb2R1bGUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBEckNoYXRDb21wb25lbnQgfSBmcm9tICcuL2NoYXQuY29tcG9uZW50JztcbmltcG9ydCB7IERyQ2hhdE1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuL2RyLWNoYXQtbWVzc2FnZS9jaGF0LW1lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IERyQ2hhdEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2RyLWNoYXQtZm9ybS9jaGF0LWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IERyQ2hhdE1lc3NhZ2VUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9kci1jaGF0LW1lc3NhZ2UvZHItY2hhdC1tZXNzYWdlLXRleHQvY2hhdC1tZXNzYWdlLXRleHQuY29tcG9uZW50JztcbmltcG9ydCB7IERyQ2hhdE1lc3NhZ2VGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9kci1jaGF0LW1lc3NhZ2UvZHItY2hhdC1tZXNzYWdlLWZpbGUvY2hhdC1tZXNzYWdlLWZpbGUuY29tcG9uZW50JztcbmltcG9ydCB7IERyQ2hhdEN1c3RvbU1lc3NhZ2VEaXJlY3RpdmUgfSBmcm9tICcuL2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtY3VzdG9tL2NoYXQtY3VzdG9tLW1lc3NhZ2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IERyQ2hhdFN1Z2dlc3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9kci1jaGF0LXN1Z2dlc3Rpb25zL2NoYXQtc3VnZ2VzdGlvbnMuY29tcG9uZW50JztcblxuXG5jb25zdCBEUl9DSEFUX0NPTVBPTkVOVFMgPSBbXG4gICAgRHJDaGF0Q29tcG9uZW50LFxuICAgIERyQ2hhdE1lc3NhZ2VDb21wb25lbnQsXG4gICAgRHJDaGF0Rm9ybUNvbXBvbmVudCxcbiAgICBEckNoYXRNZXNzYWdlVGV4dENvbXBvbmVudCxcbiAgICBEckNoYXRNZXNzYWdlRmlsZUNvbXBvbmVudCxcbiAgICBEckNoYXRTdWdnZXN0aW9uc0NvbXBvbmVudCxcbl07XG5cbmNvbnN0IERSX0NIQVRfRElSRUNUSVZFUyA9IFtEckNoYXRDdXN0b21NZXNzYWdlRGlyZWN0aXZlXTtcblxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRHJBdmF0YXJNb2R1bGUsXG4gICAgICAgIERySW5wdXRzTW9kdWxlLFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uRFJfQ0hBVF9DT01QT05FTlRTLCAuLi5EUl9DSEFUX0RJUkVDVElWRVNdLFxuICAgIGV4cG9ydHM6IFsuLi5EUl9DSEFUX0NPTVBPTkVOVFMsIC4uLkRSX0NIQVRfRElSRUNUSVZFU10sXG59KVxuZXhwb3J0IGNsYXNzIERyQ2hhdE1vZHVsZSB7XG59XG4iXX0=
|
|
@@ -5,6 +5,7 @@ export class DrChatFormComponent {
|
|
|
5
5
|
constructor(cdr, domSanitizer) {
|
|
6
6
|
this.cdr = cdr;
|
|
7
7
|
this.domSanitizer = domSanitizer;
|
|
8
|
+
this._textareaInitialHeight = true;
|
|
8
9
|
this.inputFocus = false;
|
|
9
10
|
this.inputHover = false;
|
|
10
11
|
this.droppedFiles = [];
|
|
@@ -90,6 +91,7 @@ export class DrChatFormComponent {
|
|
|
90
91
|
}
|
|
91
92
|
sendMessage() {
|
|
92
93
|
if (this.droppedFiles.length || String(this.message).trim().length) {
|
|
94
|
+
this._textareaInitialHeight = true;
|
|
93
95
|
this.send.emit({ message: this.message, files: this.droppedFiles });
|
|
94
96
|
this.message = '';
|
|
95
97
|
this.droppedFiles = [];
|
|
@@ -97,19 +99,26 @@ export class DrChatFormComponent {
|
|
|
97
99
|
}
|
|
98
100
|
}
|
|
99
101
|
onModelChange(value) {
|
|
102
|
+
this._textareaInitialHeight = false;
|
|
100
103
|
this.inputChange.emit(value);
|
|
101
104
|
}
|
|
102
105
|
getTextAreaHeight(textAreaElement) {
|
|
103
|
-
|
|
104
|
-
|
|
106
|
+
let height;
|
|
107
|
+
if (this._textareaInitialHeight) {
|
|
108
|
+
height = 50;
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
height = textAreaElement.scrollHeight + 2;
|
|
112
|
+
}
|
|
113
|
+
return `height: ${height}px;`;
|
|
105
114
|
}
|
|
106
115
|
}
|
|
107
116
|
DrChatFormComponent.decorators = [
|
|
108
117
|
{ type: Component, args: [{
|
|
109
118
|
selector: 'dr-chat-form',
|
|
110
|
-
template: "<div class=\"dropped-files\" *ngIf=\"droppedFiles?.length\">\n <div class=\"dropped-files__item\" *ngFor=\"let file of droppedFiles\">\n <div class=\"dropped-files__item__preview\" [style.background-image]=\"file.urlStyle || 'none'\">\n <i class=\"dr-icon-file\" *ngIf=\"!file.urlStyle\"></i>\n </div>\n <div class=\"dropped-files__item__name\">{{ file.name }}</div>\n <i class=\"dropped-files__item__remove dr-icon-exit\" (click)=\"removeFile(file)\"></i>\n </div>\n</div>\n<div class=\"message-row\">\n <textarea #textAreaElement\n
|
|
119
|
+
template: "<div class=\"dropped-files\" *ngIf=\"droppedFiles?.length\">\n <div class=\"dropped-files__item\" *ngFor=\"let file of droppedFiles\">\n <div class=\"dropped-files__item__preview\" [style.background-image]=\"file.urlStyle || 'none'\">\n <i class=\"dr-icon-file\" *ngIf=\"!file.urlStyle\"></i>\n </div>\n <div class=\"dropped-files__item__name\">{{ file.name }}</div>\n <i class=\"dropped-files__item__remove dr-icon-exit\" (click)=\"removeFile(file)\"></i>\n </div>\n</div>\n<div class=\"message-row\">\n <div class=\"message-row__input\">\n <textarea #textAreaElement\n (focus)=\"inputFocus = true\"\n (blur)=\"inputFocus = false\"\n (mouseenter)=\"inputHover = true\"\n (mouseleave)=\"inputHover = false\"\n [(ngModel)]=\"message\"\n [rows]=\"1\"\n [style]=\"getTextAreaHeight(textAreaElement)\"\n (ngModelChange)=\"onModelChange($event)\"\n type=\"text\"\n placeholder=\"{{ fileOver ? dropFilePlaceholder : messagePlaceholder }}\"\n (keyup.enter)=\"sendMessage()\">\n </textarea>\n <i (click)=\"sendMessage()\" class=\"dr-icon-notify send-button\"></i>\n </div>\n</div>\n",
|
|
111
120
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
112
|
-
styles: [":host{display:flex;flex-direction:column;padding:0;
|
|
121
|
+
styles: [":host{display:flex;flex-direction:column;padding:0;margin-top:12px}:host .message-row{display:flex;justify-content:center;width:100%;padding:0 60px 21px}:host .message-row__input{position:relative;display:flex;align-items:center;flex-grow:1;flex-direction:row;height:auto;overflow:hidden;max-width:970px;min-width:265px}:host .message-row__input textarea{font-size:14px;line-height:22px;max-height:100%;flex-grow:1;resize:none;padding:14px 40px 12px 23px;margin:auto;border:1px solid #DFE0E3;border-radius:12px;min-height:50px}:host .message-row__input textarea:focus{border:1px solid #7F7FDD}:host .message-row__input textarea::placeholder{color:#9ea1aa}:host .message-row__input .send-button{position:absolute;right:14px;cursor:pointer;color:#dfe0e3;font-size:28px}:host .message-row__input textarea:focus+.send-button,:host .message-row__input .send-button:hover{color:#25258c}:host input{flex:1}:host input.with-button{border-bottom-right-radius:0;border-top-right-radius:0}:host .dropped-files{display:flex;flex-direction:row;margin-bottom:.5rem;flex-wrap:wrap}:host .dropped-files__item{display:flex;flex-direction:column;justify-content:center;margin:0 10px 10px 0;position:relative}:host .dropped-files__item__preview{background-size:cover;background-position:center;width:64px;height:64px;border-radius:8px;border:1px solid #ccc}:host .dropped-files__item__preview i{font-size:62px}:host .dropped-files__item__name{white-space:nowrap;font-size:12px;color:#8f929e;margin-top:4px;max-width:64px;overflow:hidden;text-overflow:ellipsis}:host .dropped-files__item__remove{position:absolute;right:-4px;top:-4px;cursor:pointer;background:white;border-radius:12px;color:#8f929e;border:1px solid #8f929e;font-size:14px}\n"]
|
|
113
122
|
},] }
|
|
114
123
|
];
|
|
115
124
|
DrChatFormComponent.ctorParameters = () => [
|
|
@@ -128,4 +137,4 @@ DrChatFormComponent.propDecorators = {
|
|
|
128
137
|
onDragOver: [{ type: HostListener, args: ['dragover', ['$event'],] }],
|
|
129
138
|
onDragLeave: [{ type: HostListener, args: ['dragleave', ['$event'],] }]
|
|
130
139
|
};
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNoYXQvZHItY2hhdC1mb3JtL2NoYXQtZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVFoRCxNQUFNLE9BQU8sbUJBQW1CO0lBb0Q1QixZQUFzQixHQUFzQixFQUFZLFlBQTBCO1FBQTVELFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVksaUJBQVksR0FBWixZQUFZLENBQWM7UUFsRGxGLDJCQUFzQixHQUFHLElBQUksQ0FBQztRQUM5QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkIsaUJBQVksR0FBVSxFQUFFLENBQUM7UUFFekI7Ozs7V0FJRztRQUNNLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFFdEI7Ozs7V0FJRztRQUNNLHVCQUFrQixHQUFHLGdCQUFnQixDQUFDO1FBRS9DOzs7O1dBSUc7UUFDTSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTNCOzs7O1dBSUc7UUFDTSx3QkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztRQUVuRDs7O1dBR0c7UUFDTyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQXNDLENBQUM7UUFFeEU7Ozs7V0FJRztRQUVPLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVuQixhQUFRLEdBQUcsS0FBSyxDQUFDO0lB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akMsQ0FBQztJQUVELGlCQUFpQixDQUFDLGVBQW9DO1FBQ2xELElBQUksTUFBTSxDQUFDO1FBQ1gsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDN0IsTUFBTSxHQUFHLEVBQUUsQ0FBQztTQUNmO2FBQU07WUFDSCxNQUFNLEdBQUcsZUFBZSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7U0FDN0M7UUFDRCxPQUFPLFdBQVksTUFBTyxLQUFLLENBQUM7SUFDcEMsQ0FBQzs7O1lBeElKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsY0FBYztnQkFDeEIscTNDQUF1QztnQkFFdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEOzs7WUFoQkcsaUJBQWlCO1lBUVosWUFBWTs7O3NCQXNCaEIsS0FBSztpQ0FPTCxLQUFLO3dCQU9MLEtBQUs7a0NBT0wsS0FBSzttQkFNTCxNQUFNOzBCQVFOLE1BQU07dUJBRU4sV0FBVyxTQUFDLGlCQUFpQjtxQkFLN0IsWUFBWSxTQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQzt5QkFrQy9CLFlBQVksU0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7MEJBU25DLFlBQVksU0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IElNQUdFX1RZUEVTIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NoYXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWNoYXQtZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICdjaGF0LWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NoYXQtZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEckNoYXRGb3JtQ29tcG9uZW50IHtcblxuICAgIF90ZXh0YXJlYUluaXRpYWxIZWlnaHQgPSB0cnVlO1xuICAgIGlucHV0Rm9jdXMgPSBmYWxzZTtcbiAgICBpbnB1dEhvdmVyID0gZmFsc2U7XG5cbiAgICBkcm9wcGVkRmlsZXM6IGFueVtdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBQcmVkZWZpbmVkIG1lc3NhZ2UgdGV4dFxuICAgICAqXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICBASW5wdXQoKSBtZXNzYWdlID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBNZXNzYWdlIHBsYWNlaG9sZGVyIHRleHRcbiAgICAgKlxuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICovXG4gICAgQElucHV0KCkgbWVzc2FnZVBsYWNlaG9sZGVyID0gJ1R5cGUgYSBtZXNzYWdlJztcblxuICAgIC8qKlxuICAgICAqIFNob3cgc2VuZCBidXR0b25cbiAgICAgKlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGRyb3BGaWxlcyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRmlsZSBkcm9wIHBsYWNlaG9sZGVyIHRleHRcbiAgICAgKlxuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICovXG4gICAgQElucHV0KCkgZHJvcEZpbGVQbGFjZWhvbGRlciA9ICdEcm9wIGZpbGUgdG8gc2VuZCc7XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8eyBtZXNzYWdlOiBzdHJpbmcsIGZpbGVzOiBGaWxlW10gfT59XG4gICAgICovXG4gICAgQE91dHB1dCgpIHNlbmQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbWVzc2FnZTogc3RyaW5nOyBmaWxlczogRmlsZVtdIH0+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0cyB3aGVuIG1lc3NhZ2UgaW5wdXQgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZFxuICAgICAqXG4gICAgICogQHR5cGUge0V2ZW50RW1pdHRlcjxzdHJpbmc+fVxuICAgICAqL1xuXG4gICAgQE91dHB1dCgpIGlucHV0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZpbGUtb3ZlcicpIGZpbGVPdmVyID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJvdGVjdGVkIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pXG4gICAgb25Ecm9wKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMuZHJvcEZpbGVzKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgIHRoaXMuZmlsZU92ZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmIChldmVudC5kYXRhVHJhbnNmZXI/LmZpbGVzKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBmaWxlO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChJTUFHRV9UWVBFUy5pbmNsdWRlcyhmaWxlLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmci5vbmxvYWQgPSAoZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzLnNyYyA9IGUudGFyZ2V0LnJlc3VsdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMudXJsU3R5bGUgPSB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoYHVybCgkeyByZXMuc3JjIH0pYCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgZnIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRyb3BwZWRGaWxlcy5wdXNoKHJlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVtb3ZlRmlsZShmaWxlKSB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5kcm9wcGVkRmlsZXMuaW5kZXhPZihmaWxlKTtcbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcHBlZEZpbGVzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pXG4gICAgb25EcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAodGhpcy5kcm9wRmlsZXMpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsZU92ZXIgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnXSlcbiAgICBvbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAodGhpcy5kcm9wRmlsZXMpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsZU92ZXIgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbmRNZXNzYWdlKCkge1xuICAgICAgICBpZiAodGhpcy5kcm9wcGVkRmlsZXMubGVuZ3RoIHx8IFN0cmluZyh0aGlzLm1lc3NhZ2UpLnRyaW0oKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuX3RleHRhcmVhSW5pdGlhbEhlaWdodCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnNlbmQuZW1pdCh7IG1lc3NhZ2U6IHRoaXMubWVzc2FnZSwgZmlsZXM6IHRoaXMuZHJvcHBlZEZpbGVzIH0pO1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gJyc7XG4gICAgICAgICAgICB0aGlzLmRyb3BwZWRGaWxlcyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk1vZGVsQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGV4dGFyZWFJbml0aWFsSGVpZ2h0ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaW5wdXRDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0VGV4dEFyZWFIZWlnaHQodGV4dEFyZWFFbGVtZW50OiBIVE1MVGV4dEFyZWFFbGVtZW50KSB7XG4gICAgICAgIGxldCBoZWlnaHQ7XG4gICAgICAgIGlmICh0aGlzLl90ZXh0YXJlYUluaXRpYWxIZWlnaHQpIHtcbiAgICAgICAgICAgIGhlaWdodCA9IDUwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaGVpZ2h0ID0gdGV4dEFyZWFFbGVtZW50LnNjcm9sbEhlaWdodCArIDI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGBoZWlnaHQ6ICR7IGhlaWdodCB9cHg7YDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -6,9 +6,7 @@ export class DrChatMessageComponent {
|
|
|
6
6
|
constructor(customMessageService) {
|
|
7
7
|
this.customMessageService = customMessageService;
|
|
8
8
|
this.MESSAGE_TYPE = CHAT_MESSAGE_TYPE;
|
|
9
|
-
this.MESSAGE_TYPE_CUSTOM = CHAT_MESSAGE_TYPE.EMBED;
|
|
10
9
|
this._reply = false;
|
|
11
|
-
this._isEmpty = false;
|
|
12
10
|
}
|
|
13
11
|
get flyInOut() {
|
|
14
12
|
return true;
|
|
@@ -25,17 +23,6 @@ export class DrChatMessageComponent {
|
|
|
25
23
|
set reply(value) {
|
|
26
24
|
this._reply = !!value;
|
|
27
25
|
}
|
|
28
|
-
/**
|
|
29
|
-
* The outer flag is whether the message is empty. Needed if it is impossible to calculate it inside.
|
|
30
|
-
*
|
|
31
|
-
* @type {boolean}
|
|
32
|
-
*/
|
|
33
|
-
get isEmpty() {
|
|
34
|
-
return this._isEmpty;
|
|
35
|
-
}
|
|
36
|
-
set isEmpty(value) {
|
|
37
|
-
this._isEmpty = !!value;
|
|
38
|
-
}
|
|
39
26
|
getTemplate() {
|
|
40
27
|
this.customMessage = true;
|
|
41
28
|
const customMessage = this.getCustomMessage(this.type);
|
|
@@ -56,7 +43,7 @@ export class DrChatMessageComponent {
|
|
|
56
43
|
DrChatMessageComponent.decorators = [
|
|
57
44
|
{ type: Component, args: [{
|
|
58
45
|
selector: 'dr-chat-message',
|
|
59
|
-
template: "<
|
|
46
|
+
template: "<ng-container *ngIf=\"message.avatarUrl; else userAvatar\">\n <div class=\"avatar\" [style.background-image]=\"'url(' + message.avatarUrl + ')'\"></div>\n</ng-container>\n<ng-template #userAvatar>\n <dr-avatar *ngIf=\"message.user\" [users]=\"message.user\"></dr-avatar>\n</ng-template>\n<div class=\"message\" [class.message--custom]=\"customMessage\">\n <ng-container [ngSwitch]=\"message.kind\">\n <dr-chat-message-text *ngSwitchCase=\"MESSAGE_TYPE.TEXT\" [message]=\"message\"></dr-chat-message-text>\n <dr-chat-message-file *ngSwitchCase=\"MESSAGE_TYPE.DOWNLOAD_FILE\" [message]=\"message\"></dr-chat-message-file>\n <ng-container *ngSwitchDefault>\n <ng-container [ngTemplateOutlet]=\"getTemplate()\" [ngTemplateOutletContext]=\"getTemplateContext()\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n",
|
|
60
47
|
animations: [
|
|
61
48
|
trigger('flyInOut', [
|
|
62
49
|
state('in', style({ transform: 'translateX(0)' })),
|
|
@@ -65,7 +52,7 @@ DrChatMessageComponent.decorators = [
|
|
|
65
52
|
]),
|
|
66
53
|
],
|
|
67
54
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
68
|
-
styles: [":host{display:flex;flex-direction:row}:host
|
|
55
|
+
styles: [":host{position:relative;display:flex;flex-direction:row;width:100%;background:rgba(249,250,255,.7);border-top:1px solid #E5E5E5;padding:16px 22px}:host:first-child{border:none}:host:last-child{border-bottom:1px solid #E5E5E5}.reply+:host.reply,.not-reply+:host.not-reply{border-top:none;padding-top:0;padding-left:85px}.reply+:host.reply .avatar,.reply+:host.reply dr-avatar,.not-reply+:host.not-reply .avatar,.not-reply+:host.not-reply dr-avatar{display:none}:host.not-reply{background-color:#fff}:host .avatar{display:flex;width:28px;height:28px;background-color:#151b3f;border-radius:16px;background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2223%22 height%3D%2226%22 viewBox%3D%220 0 23 26%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M11.5 11.5036C10.672 11.5036 9.99927 12.1756 9.99927 13.0044C9.99927 13.8323 10.6713 14.5051 11.5 14.5051C12.3287 14.5051 13.0007 13.8323 13.0007 13.0044C13.0008 12.1756 12.3288 11.5036 11.5 11.5036ZM19.7627 13.0044C21.8109 10.7312 22.4971 8.61768 21.6369 7.11544C21.0429 6.07969 19.8774 5.53894 18.2499 5.50446C17.5112 5.48946 16.6765 5.5772 15.7577 5.77069C14.8075 2.72572 13.2865 1 11.5 1C9.71351 1 8.19253 2.72572 7.24154 5.77145C4.33008 5.16396 2.21435 5.63196 1.36235 7.11619C0.502868 8.61918 1.18986 10.7312 3.23734 13.0051C1.1891 15.2783 0.502868 17.3918 1.3631 18.8941C1.97886 19.9681 3.20436 20.505 4.92257 20.505C5.61707 20.505 6.39554 20.4203 7.24305 20.2411C8.19329 23.286 9.71426 25.0102 11.5 25.0102C13.2865 25.0102 14.8075 23.2853 15.7577 20.2396C16.5827 20.412 17.3484 20.5028 18.0347 20.5028C19.7694 20.5028 21.0264 19.9576 21.6376 18.8948C22.4971 17.3903 21.8101 15.2776 19.7627 13.0044ZM11.5 3.25072C12.0265 3.25072 13.1372 4.37345 13.8737 7.38692C13.9645 7.75891 14.0327 8.1564 14.1047 8.54939C14.0942 8.54339 14.0837 8.53587 14.0732 8.5299C13.402 8.13914 12.6992 7.76866 11.9837 7.42817C11.1077 7.01116 10.2467 6.66092 9.40901 6.37368C10.1238 4.11922 11.0373 3.25072 11.5 3.25072ZM3.31684 17.7751C3.06711 17.3386 3.46085 15.8776 5.58259 13.8106C5.79334 13.6052 6.01909 13.3996 6.2516 13.1949C6.25609 13.8984 6.28234 14.6004 6.33484 15.2806C6.40985 16.2444 6.54933 17.1609 6.7196 18.0511C4.62483 18.4786 3.52759 18.1433 3.31684 17.7751ZM6.80579 9.89643C6.10079 10.3967 5.44829 10.9119 4.84983 11.4332C3.37233 9.77417 3.09857 8.61469 3.31533 8.23518C3.55909 7.80994 4.96982 7.42594 7.72827 8.20217C8.098 8.30645 8.47902 8.43242 8.86449 8.56892C8.17531 8.97241 7.48454 9.41718 6.80579 9.89643ZM11.5 22.7581C10.9735 22.7581 9.86277 21.6353 9.12627 18.6218C9.03551 18.2491 8.96726 17.8523 8.89527 17.4586C8.90577 17.4646 8.91627 17.4714 8.92677 17.4774C9.59801 17.8696 10.3007 18.2401 11.0163 18.5798C11.8922 18.9969 12.7532 19.3471 13.591 19.6343C12.8762 21.8903 11.9628 22.7581 11.5 22.7581ZM12.9407 15.5334C12.4765 15.8041 11.9905 16.0599 11.5 16.3051C11.0095 16.0599 10.5243 15.8041 10.0593 15.5326C9.55903 15.2416 9.0573 14.9184 8.55855 14.5816C8.52853 14.0611 8.49854 13.5376 8.49854 13.0044C8.49854 12.4711 8.52853 11.9491 8.55855 11.4279C9.0573 11.0904 9.55903 10.7671 10.0593 10.4754C10.5235 10.2054 11.0095 9.94962 11.5 9.70363C11.9905 9.94962 12.4765 10.2054 12.9407 10.4754C13.441 10.7671 13.9427 11.0904 14.4414 11.4279C14.4714 11.9491 14.5015 12.4719 14.5015 13.0051C14.5015 13.5384 14.4714 14.0603 14.4414 14.5823C13.9427 14.9184 13.441 15.2424 12.9407 15.5334ZM19.6847 17.7751C19.4402 18.1974 18.0287 18.5828 15.2718 17.8073C14.902 17.7031 14.5218 17.5771 14.1363 17.4406C14.824 17.0378 15.5162 16.5931 16.1935 16.1138C16.8985 15.6128 17.551 15.0983 18.1502 14.5763C19.6269 16.2354 19.9014 17.3948 19.6847 17.7751ZM17.4174 12.1989C17.2067 12.4044 16.9809 12.6099 16.7484 12.8146C16.7439 12.1104 16.7177 11.4091 16.6652 10.7289C16.5902 9.76515 16.4507 8.84792 16.2804 7.95766C18.3744 7.53018 19.4709 7.86614 19.6832 8.23439C19.9329 8.67093 19.5392 10.1326 17.4174 12.1989Z%22 fill%3D%22url(%23paint0_linear_393_7999)%22 stroke%3D%22%2325258C%22%2F%3E%3Cdefs%3E%3ClinearGradient id%3D%22paint0_linear_393_7999%22 x1%3D%2211.5%22 y1%3D%221%22 x2%3D%2211.5%22 y2%3D%2225.0102%22 gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop stop-color%3D%22%23AAE8FF%22%2F%3E%3Cstop offset%3D%221%22 stop-color%3D%22%238F79FF%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\");background-size:22px 24px;background-repeat:no-repeat;background-position-x:3px;background-position-y:2px}:host .avatar,:host dr-avatar{margin:0 23px 0 12px}:host .message{display:flex;align-items:center;flex-grow:1}\n"]
|
|
69
56
|
},] }
|
|
70
57
|
];
|
|
71
58
|
DrChatMessageComponent.ctorParameters = () => [
|
|
@@ -78,6 +65,6 @@ DrChatMessageComponent.propDecorators = {
|
|
|
78
65
|
type: [{ type: Input }],
|
|
79
66
|
message: [{ type: Input }],
|
|
80
67
|
customMessageData: [{ type: Input }],
|
|
81
|
-
|
|
68
|
+
user: [{ type: Input }]
|
|
82
69
|
};
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNoYXQvZHItY2hhdC1tZXNzYWdlL2NoYXQtbWVzc2FnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLGlCQUFpQixFQUFnQixNQUFNLG1CQUFtQixDQUFDO0FBRXBFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBZWxHLE1BQU0sT0FBTyxzQkFBc0I7SUFvRC9CLFlBQW9CLG9CQUFnRDtRQUFoRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTRCO1FBbERwRSxpQkFBWSxHQUFHLGlCQUFpQixDQUFDO1FBeUJ2QixXQUFNLEdBQUcsS0FBSyxDQUFDO0lBMEJ6QixDQUFDO0lBakRELElBQ0ksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDUixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUVJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQWM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUE4Qk0sV0FBVztRQUNkLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkQsT0FBTyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxrQkFBa0I7UUFDckIsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0RSxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsSUFBWTtRQUNuQyxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFM0UsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQ1gsaURBQWtELElBQUssS0FBSztnQkFDNUQseUVBQTBFLElBQUssSUFBSSxDQUN0RixDQUFDO1NBQ0w7UUFFRCxPQUFPLHNCQUFzQixDQUFDO0lBQ2xDLENBQUM7OztZQXpGSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsazNCQUEwQztnQkFFMUMsVUFBVSxFQUFFO29CQUNSLE9BQU8sQ0FBQyxVQUFVLEVBQUU7d0JBQ2hCLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7d0JBQ2xELFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO3dCQUNqRixVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDbkYsQ0FBQztpQkFDTDtnQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7OztZQWRRLDBCQUEwQjs7O3VCQW1COUIsV0FBVyxTQUFDLFdBQVc7dUJBS3ZCLFdBQVcsU0FBQyxpQkFBaUI7b0JBUTdCLEtBQUssWUFDTCxXQUFXLFNBQUMsYUFBYTttQkFXekIsS0FBSztzQkFPTCxLQUFLO2dDQU9MLEtBQUs7bUJBS0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ0hBVF9NRVNTQUdFX1RZUEUsIElDaGF0TWVzc2FnZSB9IGZyb20gJy4uLy4uL21vZGVscy9jaGF0JztcbmltcG9ydCB7IERyQ2hhdEN1c3RvbU1lc3NhZ2VEaXJlY3RpdmUgfSBmcm9tICcuL2RyLWNoYXQtbWVzc2FnZS1jdXN0b20vY2hhdC1jdXN0b20tbWVzc2FnZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHJDaGF0Q3VzdG9tTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuL2RyLWNoYXQtbWVzc2FnZS1jdXN0b20vY2hhdC1jdXN0b20tbWVzc2FnZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1jaGF0LW1lc3NhZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnY2hhdC1tZXNzYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGF0LW1lc3NhZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ2ZseUluT3V0JywgW1xuICAgICAgICAgICAgc3RhdGUoJ2luJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyB9KSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC0xMDAlKScgfSksIGFuaW1hdGUoODApXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCcqID0+IHZvaWQnLCBbYW5pbWF0ZSg4MCwgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyB9KSldKSxcbiAgICAgICAgXSksXG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRHJDaGF0TWVzc2FnZUNvbXBvbmVudCB7XG5cbiAgICBNRVNTQUdFX1RZUEUgPSBDSEFUX01FU1NBR0VfVFlQRTtcblxuICAgIEBIb3N0QmluZGluZygnQGZseUluT3V0JylcbiAgICBnZXQgZmx5SW5PdXQoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3Mubm90LXJlcGx5JylcbiAgICBnZXQgbm90UmVwbHkoKSB7XG4gICAgICAgIHJldHVybiAhdGhpcy5yZXBseTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIGlmIGEgbWVzc2FnZSBpcyBhIHJlcGx5XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJlcGx5JylcbiAgICBnZXQgcmVwbHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXBseTtcbiAgICB9XG5cbiAgICBzZXQgcmVwbHkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fcmVwbHkgPSAhIXZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfcmVwbHkgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIHR5cGU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIE1lc3NhZ2VcbiAgICAgKlxuICAgICAqIEB0eXBlIHtJQ2hhdE1lc3NhZ2V9XG4gICAgICovXG4gICAgQElucHV0KCkgbWVzc2FnZTogSUNoYXRNZXNzYWdlO1xuXG4gICAgLyoqXG4gICAgICogRGF0YSB3aGljaCB3aWxsIGJlIHNldCBhcyBjdXN0b20gbWVzc2FnZSB0ZW1wbGF0ZSBjb250ZXh0XG4gICAgICpcbiAgICAgKiBAdHlwZSB7YW55fVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGN1c3RvbU1lc3NhZ2VEYXRhOiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBVc2VyIGluZm8gZm9yIGF2YXRhclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHVzZXI6IGFueTtcblxuICAgIHB1YmxpYyBjdXN0b21NZXNzYWdlOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjdXN0b21NZXNzYWdlU2VydmljZTogRHJDaGF0Q3VzdG9tTWVzc2FnZVNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XG4gICAgICAgIHRoaXMuY3VzdG9tTWVzc2FnZSA9IHRydWU7XG4gICAgICAgIGNvbnN0IGN1c3RvbU1lc3NhZ2UgPSB0aGlzLmdldEN1c3RvbU1lc3NhZ2UodGhpcy50eXBlKTtcbiAgICAgICAgcmV0dXJuIGN1c3RvbU1lc3NhZ2UudGVtcGxhdGVSZWY7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFRlbXBsYXRlQ29udGV4dCgpOiB7ICRpbXBsaWNpdDogYW55OyBpc1JlcGx5OiBib29sZWFuIH0ge1xuICAgICAgICByZXR1cm4geyAkaW1wbGljaXQ6IHRoaXMuY3VzdG9tTWVzc2FnZURhdGEsIGlzUmVwbHk6IHRoaXMucmVwbHkgfTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0Q3VzdG9tTWVzc2FnZSh0eXBlOiBzdHJpbmcpOiBEckNoYXRDdXN0b21NZXNzYWdlRGlyZWN0aXZlIHtcbiAgICAgICAgY29uc3QgY3VzdG9tTWVzc2FnZURpcmVjdGl2ZSA9IHRoaXMuY3VzdG9tTWVzc2FnZVNlcnZpY2UuZ2V0SW5zdGFuY2UodHlwZSk7XG5cbiAgICAgICAgaWYgKCFjdXN0b21NZXNzYWdlRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgYGRyLWNoYXQ6IENhbid0IGZpbmQgdGVtcGxhdGUgZm9yIGN1c3RvbSB0eXBlICckeyB0eXBlIH0nLiBgICtcbiAgICAgICAgICAgICAgICBgTWFrZSBzdXJlIHlvdSBwcm92aWRlIGl0IGluIHRoZSBjaGF0IGNvbXBvbmVudCB3aXRoICpkckN1c3RvbU1lc3NhZ2U9JyR7IHR5cGUgfScuYCxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY3VzdG9tTWVzc2FnZURpcmVjdGl2ZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
+
export class DrChatSuggestionsComponent {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.values = [];
|
|
5
|
+
this.buttonMode = false;
|
|
6
|
+
this.suggestionSelect = new EventEmitter();
|
|
7
|
+
}
|
|
8
|
+
onItemClick(item) {
|
|
9
|
+
this.suggestionSelect.emit(item);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
DrChatSuggestionsComponent.decorators = [
|
|
13
|
+
{ type: Component, args: [{
|
|
14
|
+
selector: 'dr-chat-suggestions',
|
|
15
|
+
template: "<div class=\"chat-suggestions\">\n <ng-container *ngIf=\"buttonMode; else suggestionCards\">\n <div class=\"chat-suggestions__container\">\n <div class=\"chat-suggestions__container__button\">\n Suggested chats\n </div>\n <ng-container *ngTemplateOutlet=\"suggestionCards\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #suggestionCards>\n <div class=\"chat-suggestions__items\">\n <div class=\"chat-suggestions__items__background\"></div>\n <div *ngFor=\"let item of values\"\n class=\"chat-suggestions__items__item\" (click)=\"onItemClick(item)\">\n {{ item }}\n </div>\n </div>\n</ng-template>\n",
|
|
16
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
17
|
+
styles: [":host{display:flex;align-items:flex-start;justify-content:center}:host .chat-suggestions{display:flex;width:100%;max-width:970px}:host .chat-suggestions__container{display:flex;position:relative;width:auto;margin-top:12px;padding:0 60px}:host .chat-suggestions__container:hover{width:100%}:host .chat-suggestions__container:hover .chat-suggestions__container__button{background:#EAEAFF}:host .chat-suggestions__container:hover .chat-suggestions__items,:host .chat-suggestions__container:hover .chat-suggestions__items__background{display:flex}:host .chat-suggestions__container__button{display:flex;align-items:center;height:30px;padding:0 16px;font-size:12px;line-height:20px;background:#F2F2FF;color:#1d1d6d;border-radius:4px;cursor:pointer}:host .chat-suggestions__container .chat-suggestions__items{display:none;position:absolute;width:100%;bottom:0;left:0;padding-bottom:30px;z-index:2}:host .chat-suggestions__items{display:flex;flex-wrap:wrap;width:100%;justify-content:space-between;padding:0 60px}:host .chat-suggestions__items__background{display:none;position:absolute;top:-30px;right:0;bottom:30px;left:0;background:white;opacity:.7;z-index:-1}:host .chat-suggestions__items__item{margin:0 0 20px;display:inline-flex;height:76px;width:240px;padding:16px;border-radius:8px;background:#F2F2FB;border:1px solid #F0F1F4;box-shadow:0 2px 6px #00000026;font-size:14px;line-height:24px}:host .chat-suggestions__items__item:hover{cursor:pointer;box-shadow:0 2px 6px #00000040}\n"]
|
|
18
|
+
},] }
|
|
19
|
+
];
|
|
20
|
+
DrChatSuggestionsComponent.ctorParameters = () => [];
|
|
21
|
+
DrChatSuggestionsComponent.propDecorators = {
|
|
22
|
+
values: [{ type: Input }],
|
|
23
|
+
buttonMode: [{ type: Input }],
|
|
24
|
+
suggestionSelect: [{ type: Output }]
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtc3VnZ2VzdGlvbnMvY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQ3pDLE1BQU0sZUFBZSxDQUFDO0FBUXZCLE1BQU0sT0FBTywwQkFBMEI7SUFPbkM7UUFMUyxXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQ3RCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDM0IscUJBQWdCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7SUFJOUUsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQzs7O1lBbEJKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQiw2dUJBQThDO2dCQUU5QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7Ozs7cUJBR0ksS0FBSzt5QkFDTCxLQUFLOytCQUNMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1jaGF0LXN1Z2dlc3Rpb25zJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2NoYXQtc3VnZ2VzdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NoYXQtc3VnZ2VzdGlvbnMuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRHJDaGF0U3VnZ2VzdGlvbnNDb21wb25lbnQge1xuXG4gICAgQElucHV0KCkgdmFsdWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIEBJbnB1dCgpIGJ1dHRvbk1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBAT3V0cHV0KCkgc3VnZ2VzdGlvblNlbGVjdDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgfVxuXG4gICAgb25JdGVtQ2xpY2soaXRlbTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc3VnZ2VzdGlvblNlbGVjdC5lbWl0KGl0ZW0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -75,7 +75,7 @@ export class DrDynamicTagComponent {
|
|
|
75
75
|
DrDynamicTagComponent.decorators = [
|
|
76
76
|
{ type: Component, args: [{
|
|
77
77
|
selector: 'dr-dynamic-tag',
|
|
78
|
-
template: "<p class=\"dynamic-tag__label\">{{ tagConfig.name }}</p>\n<dr-select [(ngModel)]=\"selectedDynamicTag\"\n bindLabel=\"value\"\n bindValue=\"value\"\n [items]=\"currentValues\"\n (ngModelChange)=\"onTagChanged($event)\">\n <ng-template #optionHeaderTemplate *ngIf=\"isDynamicTagAddEnabled\">\n <dr-select-add-item bindValue=\"value\"\n [values]=\"currentValues\"\n [dynamicAddLabel]=\"' Add new ' + tagConfig.name\"\n (dynamicValueAdded)=\"onDynamicValueAdd($event)\"></dr-select-add-item>\n </ng-template>\n <ng-template #labelTemplate let-item=\"item\">\n <div class=\"dynamic-tag__field--label\">\n <p class=\"dynamic-tag__field__text\">{{ item?.value || item }}</p>\n <i *ngIf=\"item?.is_favorite\" class=\"dynamic-tag__field__icon dr-icon-star-fill\"></i>\n </div>\n </ng-template>\n <ng-template #optionTemplate let-item=\"item\">\n <div class=\"dynamic-tag__field--option\">\n <p class=\"dynamic-tag__field__text\">{{ item?.value || item }}</p>\n <i *ngIf=\"item?.is_favorite\" class=\"dynamic-tag__field__icon dr-icon-star-fill\"></i>\n </div>\n </ng-template>\n</dr-select>\n",
|
|
78
|
+
template: "<p class=\"dynamic-tag__label\">{{ tagConfig.name }}</p>\n<dr-select [(ngModel)]=\"selectedDynamicTag\"\n bindLabel=\"value\"\n bindValue=\"value\"\n [items]=\"currentValues\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"onTagChanged($event)\">\n <ng-template #optionHeaderTemplate *ngIf=\"isDynamicTagAddEnabled\">\n <dr-select-add-item bindValue=\"value\"\n [values]=\"currentValues\"\n [dynamicAddLabel]=\"' Add new ' + tagConfig.name\"\n (dynamicValueAdded)=\"onDynamicValueAdd($event)\"></dr-select-add-item>\n </ng-template>\n <ng-template #labelTemplate let-item=\"item\">\n <div class=\"dynamic-tag__field--label\">\n <p class=\"dynamic-tag__field__text\">{{ item?.value || item }}</p>\n <i *ngIf=\"item?.is_favorite\" class=\"dynamic-tag__field__icon dr-icon-star-fill\"></i>\n </div>\n </ng-template>\n <ng-template #optionTemplate let-item=\"item\">\n <div class=\"dynamic-tag__field--option\">\n <p class=\"dynamic-tag__field__text\">{{ item?.value || item }}</p>\n <i *ngIf=\"item?.is_favorite\" class=\"dynamic-tag__field__icon dr-icon-star-fill\"></i>\n </div>\n </ng-template>\n</dr-select>\n",
|
|
79
79
|
styles: [".dynamic-tag__label{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}.dynamic-tag__field,.dynamic-tag__field--option,.dynamic-tag__field--label{cursor:pointer;height:24px}.dynamic-tag__field--option{width:100%;display:flex;justify-content:space-between;align-items:center}.dynamic-tag__field--label{display:flex;align-items:center}.dynamic-tag__field--label>.dynamic-tag__field__icon{position:absolute;right:25px}.dynamic-tag__field--label>dynamic-tag__field__text{margin:0}.dr-icon-star-fill{color:#f0bc57}\n"]
|
|
80
80
|
},] }
|
|
81
81
|
];
|
|
@@ -85,7 +85,8 @@ DrDynamicTagComponent.propDecorators = {
|
|
|
85
85
|
selectedTag: [{ type: Input }],
|
|
86
86
|
connectedTags: [{ type: Input }],
|
|
87
87
|
isDynamicTagAddEnabled: [{ type: Input }],
|
|
88
|
+
disabled: [{ type: Input }],
|
|
88
89
|
tagChange: [{ type: Output }],
|
|
89
90
|
tagAdd: [{ type: Output }]
|
|
90
91
|
};
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHluYW1pYy10YWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHluYW1pYy10YWcvZHItZHluYW1pYy10YWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsUUFBUSxJQUFJLFNBQVMsRUFBRSxRQUFRLElBQUksU0FBUyxFQUFFLEtBQUssSUFBSSxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVuSCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQU9qQyxNQUFNLE9BQU8scUJBQXFCO0lBTGxDO1FBZWMsY0FBUyxHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUMzRSxXQUFNLEdBQW1DLElBQUksWUFBWSxFQUFvQixDQUFDO0lBaUY1RixDQUFDO0lBNUVVLFdBQVcsQ0FBQyxPQUFzQjtRQUNyQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sWUFBWSxDQUFDLE1BQWM7O1FBQzlCLE1BQU0sV0FBVyxHQUFrQjtZQUMvQixFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUk7WUFDekIsS0FBSyxFQUFFLE1BQU07U0FDaEIsQ0FBQztRQUVGLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxNQUFNLENBQUMsRUFBRTtZQUNuQyxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO1NBQ2hEO1FB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QyxDQUFDO0lBQzNFLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxhQUE0QjtRQUN0RCxJQUFJLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEQsTUFBTSxvQkFBb0IsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMseURBQXlEO1lBRTlHLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxJQUFJLG9CQUFvQixFQUFFO2dCQUM5QyxPQUFPLG9CQUFvQixDQUFDO2FBQy9CO1NBQ0o7UUFFRCxPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQzs7O1lBaEdKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixxMENBQThDOzthQUVqRDs7O3FCQUdJLEtBQUs7d0JBQ0wsS0FBSzswQkFDTCxLQUFLOzRCQUVMLEtBQUs7cUNBQ0wsS0FBSzt1QkFDTCxLQUFLO3dCQUVMLE1BQU07cUJBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaW5kIGFzIF9maW5kLCBpc051bWJlciBhcyBfaXNOdW1iZXIsIGlzT2JqZWN0IGFzIF9pc09iamVjdCwgaXNOaWwgYXMgX2lzTmlsLCBtYXAgYXMgX21hcCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBJRHluYW1pY1RhZywgSVRhZywgSVRhZ0ZvclNlcnZlciwgVER5bmFtaWNUYWcsIFREeW5hbWljVGFnVmFsdWUgfSBmcm9tICcuLi9tb2RlbHMvc2VydmVyVGFncyc7XG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1keW5hbWljLXRhZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyLWR5bmFtaWMtdGFnLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1keW5hbWljLXRhZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERyRHluYW1pY1RhZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsdWVzOiBURHluYW1pY1RhZztcbiAgICBASW5wdXQoKSBwdWJsaWMgdGFnQ29uZmlnOiBJVGFnO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZFRhZzogSVRhZ0ZvclNlcnZlcjtcblxuICAgIEBJbnB1dCgpIHB1YmxpYyBjb25uZWN0ZWRUYWdzOiBJVGFnRm9yU2VydmVyW107XG4gICAgQElucHV0KCkgcHVibGljIGlzRHluYW1pY1RhZ0FkZEVuYWJsZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIHRhZ0NoYW5nZTogRXZlbnRFbWl0dGVyPElUYWdGb3JTZXJ2ZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxJVGFnRm9yU2VydmVyPigpO1xuICAgIEBPdXRwdXQoKSB0YWdBZGQ6IEV2ZW50RW1pdHRlcjxURHluYW1pY1RhZ1ZhbHVlPiA9IG5ldyBFdmVudEVtaXR0ZXI8VER5bmFtaWNUYWdWYWx1ZT4oKTtcblxuICAgIHB1YmxpYyBzZWxlY3RlZER5bmFtaWNUYWc6IFREeW5hbWljVGFnVmFsdWU7XG4gICAgcHVibGljIGN1cnJlbnRWYWx1ZXM6IFREeW5hbWljVGFnVmFsdWVbXTtcblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRHluYW1pY1RhZ1ZhbHVlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblRhZ0NoYW5nZWQoJGV2ZW50OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVzdWx0RXZlbnQ6IElUYWdGb3JTZXJ2ZXIgPSB7XG4gICAgICAgICAgICBpZDogdGhpcy50YWdDb25maWcuaWQsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLnRhZ0NvbmZpZy5uYW1lLFxuICAgICAgICAgICAgdmFsdWU6ICRldmVudCxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoIV9pc05pbCh0aGlzLnNlbGVjdGVkVGFnPy5sb2NrZWQpKSB7XG4gICAgICAgICAgICByZXN1bHRFdmVudC5sb2NrZWQgPSB0aGlzLnNlbGVjdGVkVGFnLmxvY2tlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghX2lzTmlsKHRoaXMuc2VsZWN0ZWRUYWc/LmxhYmVsKSkge1xuICAgICAgICAgICAgcmVzdWx0RXZlbnQubGFiZWwgPSB0aGlzLnNlbGVjdGVkVGFnLmxhYmVsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50YWdDaGFuZ2UuZW1pdChyZXN1bHRFdmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uRHluYW1pY1ZhbHVlQWRkKCRldmVudDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGlzUHJpbWl0aXZlRGF0YVNvdXJjZSA9ICFfaXNPYmplY3QoT2JqZWN0LnZhbHVlcyh0aGlzLnZhbHVlcyk/LlswXSk7XG4gICAgICAgIGNvbnN0IHBhcmVudFZhbHVlS2V5ID0gdGhpcy5nZXRQYXJlbnRWYWx1ZUtleSgpO1xuICAgICAgICBjb25zdCBwYXJlbnRWYWx1ZXMgPSB0aGlzLnZhbHVlc1twYXJlbnRWYWx1ZUtleV0gfHwgW107XG5cbiAgICAgICAgaWYgKGlzUHJpbWl0aXZlRGF0YVNvdXJjZSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZXNbcGFyZW50VmFsdWVLZXldID0gWyRldmVudCwgLi4ucGFyZW50VmFsdWVzXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWVzW3BhcmVudFZhbHVlS2V5XSA9IFt7IHZhbHVlOiAkZXZlbnQgfSwgLi4ucGFyZW50VmFsdWVzXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREeW5hbWljVGFnID0gJGV2ZW50O1xuXG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlcyA9IHRoaXMudmFsdWVzW3BhcmVudFZhbHVlS2V5XTtcbiAgICAgICAgdGhpcy5vblRhZ0NoYW5nZWQoJGV2ZW50KTtcbiAgICAgICAgdGhpcy50YWdBZGQuZW1pdCgkZXZlbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlRHluYW1pY1RhZ1ZhbHVlcygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGFyZW50VmFsdWVLZXkgPSB0aGlzLmdldFBhcmVudFZhbHVlS2V5KCk7XG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlcyA9IHRoaXMudmFsdWVzW3BhcmVudFZhbHVlS2V5XTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZER5bmFtaWNUYWcgPSB0aGlzLmdldFNlbGVjdGVkRHluYW1pY1RhZyh0aGlzLmN1cnJlbnRWYWx1ZXMsIHRoaXMuc2VsZWN0ZWRUYWc/LnZhbHVlKTtcbiAgICAgICAgdGhpcy5vblRhZ0NoYW5nZWQodGhpcy5zZWxlY3RlZER5bmFtaWNUYWcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VsZWN0ZWREeW5hbWljVGFnKGN1cnJlbnRWYWx1ZXM6IFREeW5hbWljVGFnVmFsdWVbXSwgc2VsZWN0ZWRWYWx1ZTogc3RyaW5nIHwgbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFjdXJyZW50VmFsdWVzPy5sZW5ndGgpIHJldHVybiBudWxsO1xuXG4gICAgICAgIGlmIChfaXNPYmplY3QoY3VycmVudFZhbHVlc1swXSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlRnJvbUNvbmZpZyA9IF9maW5kKGN1cnJlbnRWYWx1ZXMsIHsgdmFsdWU6IHNlbGVjdGVkVmFsdWUgfSkgYXMgSUR5bmFtaWNUYWc7XG4gICAgICAgICAgICBjb25zdCBmYXZvcml0ZVZhbHVlID0gX2ZpbmQoY3VycmVudFZhbHVlcywgeyBpc19mYXZvcml0ZTogdHJ1ZSB9KSBhcyBJRHluYW1pY1RhZztcbiAgICAgICAgICAgIHJldHVybiAodmFsdWVGcm9tQ29uZmlnIHx8IGZhdm9yaXRlVmFsdWUgfHwgY3VycmVudFZhbHVlc1swXSkudmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWx1ZUZyb21Db25maWcgPSBfZmluZChjdXJyZW50VmFsdWVzLCAodmFsdWUpID0+IHZhbHVlID09PSBzZWxlY3RlZFZhbHVlKTtcbiAgICAgICAgcmV0dXJuICh2YWx1ZUZyb21Db25maWcgfHwgY3VycmVudFZhbHVlc1swXSkgYXMgc3RyaW5nO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UGFyZW50VmFsdWVLZXkoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIF9tYXAodGhpcy5jb25uZWN0ZWRUYWdzLCB0aGlzLnRyeVRvUGFyc2VQYXJlbnRWYWx1ZSkuam9pbignX18nKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyeVRvUGFyc2VQYXJlbnRWYWx1ZShjb25uZWN0ZWRUYWdzOiBJVGFnRm9yU2VydmVyKSB7XG4gICAgICAgIGlmIChfaXNOdW1iZXIoY29ubmVjdGVkVGFncy52YWx1ZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IG1vbWVudERhdGEgPSBtb21lbnQudW5peChjb25uZWN0ZWRUYWdzLnZhbHVlKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbnZlcnRlZFBhcmVudFZhbHVlID0gbW9tZW50RGF0YS5nZXQoJ3llYXInKTsgLy8gVE9ETzogYWRkIGlucHV0IHByb3AgKHNlbGVjdGVkVGltZURpbWVuc2lvbikgb3IgRm9ybWF0XG5cbiAgICAgICAgICAgIGlmIChtb21lbnREYXRhLmlzVmFsaWQoKSAmJiBjb252ZXJ0ZWRQYXJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjb252ZXJ0ZWRQYXJlbnRWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb25uZWN0ZWRUYWdzLnZhbHVlO1xuICAgIH1cbn1cbiJdfQ==
|