@datarailsshared/datarailsshared 1.6.25 → 1.6.29
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/datarailsshared-datarailsshared-1.6.29.tgz +0 -0
- package/esm2022/lib/dr-chat/chat.component.mjs +4 -4
- package/esm2022/lib/dr-chat/chat.module.mjs +5 -5
- package/esm2022/lib/dr-chat/dr-chat-form-dropdown/dr-chat-form-dropdown.component.mjs +289 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown.directive.mjs +8 -2
- package/esm2022/lib/dr-dropdown/dr-dropdown.service.mjs +4 -4
- package/esm2022/lib/models/popover.mjs +1 -1
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/datarailsshared-datarailsshared.mjs +155 -250
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
- package/lib/dr-chat/chat.component.d.ts +1 -1
- package/lib/dr-chat/chat.module.d.ts +2 -2
- package/lib/dr-chat/{dr-chat-form-with-history/chat-form-with-history.component.d.ts → dr-chat-form-dropdown/dr-chat-form-dropdown.component.d.ts} +6 -11
- package/lib/dr-dropdown/dr-dropdown.directive.d.ts +3 -1
- package/lib/dr-dropdown/dr-dropdown.service.d.ts +3 -1
- package/lib/models/popover.d.ts +2 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/datarailsshared-datarailsshared-1.6.25.tgz +0 -0
- package/esm2022/lib/dr-chat/dr-chat-form-with-history/chat-form-with-history.component.mjs +0 -392
|
Binary file
|
|
@@ -44,8 +44,8 @@ function DrChatComponent_dr_chat_suggestions_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
44
44
|
i0.ɵɵclassProp("chat__suggestions--full-height", ctx_r3.fullScreen && !(ctx_r3.messages == null ? null : ctx_r3.messages.length));
|
|
45
45
|
i0.ɵɵproperty("values", ctx_r3.suggestions)("fullScreen", ctx_r3.fullScreen)("waitForReply", ctx_r3.waitForReply)("buttonMode", !!(ctx_r3.messages == null ? null : ctx_r3.messages.length));
|
|
46
46
|
} }
|
|
47
|
-
const _c2 = [[["dr-chat-alert"]], [["dr-chat-form"]], [["dr-
|
|
48
|
-
const _c3 = ["dr-chat-alert", "dr-chat-form", "dr-
|
|
47
|
+
const _c2 = [[["dr-chat-alert"]], [["dr-chat-form"]], [["dr-ai-search-input"]], [["dr-chat-message"]]];
|
|
48
|
+
const _c3 = ["dr-chat-alert", "dr-chat-form", "dr-ai-search-input", "dr-chat-message"];
|
|
49
49
|
export class DrChatComponent {
|
|
50
50
|
set contentUpdateSubject(value) {
|
|
51
51
|
if (value) {
|
|
@@ -166,7 +166,7 @@ export class DrChatComponent {
|
|
|
166
166
|
}
|
|
167
167
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrChatComponent, [{
|
|
168
168
|
type: Component,
|
|
169
|
-
args: [{ selector: 'dr-chat', providers: [DrChatCustomMessageService], template: "<div class=\"chat\" [class.chat--in-full-screen]=\"fullScreen\">\n <div class=\"chat__sticky-top\">\n <ng-container *ngIf=\"chatHeader\" [ngTemplateOutlet]=\"chatHeader\"></ng-container>\n\n <div class=\"chat__alert\">\n <ng-content select=\"dr-chat-alert\"></ng-content>\n </div>\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\n #messagesContainer\n class=\"chat__messages__container\"\n [class.chat__messages__container--scroll]=\"messagesContainerWithScroll\">\n <ng-content select=\"dr-chat-message\"></ng-content>\n </div>\n </div>\n\n <dr-chat-suggestions\n *ngIf=\"suggestions?.length\"\n [values]=\"suggestions\"\n [fullScreen]=\"fullScreen\"\n [waitForReply]=\"waitForReply\"\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 <ng-content select=\"dr-
|
|
169
|
+
args: [{ selector: 'dr-chat', providers: [DrChatCustomMessageService], template: "<div class=\"chat\" [class.chat--in-full-screen]=\"fullScreen\">\n <div class=\"chat__sticky-top\">\n <ng-container *ngIf=\"chatHeader\" [ngTemplateOutlet]=\"chatHeader\"></ng-container>\n\n <div class=\"chat__alert\">\n <ng-content select=\"dr-chat-alert\"></ng-content>\n </div>\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\n #messagesContainer\n class=\"chat__messages__container\"\n [class.chat__messages__container--scroll]=\"messagesContainerWithScroll\">\n <ng-content select=\"dr-chat-message\"></ng-content>\n </div>\n </div>\n\n <dr-chat-suggestions\n *ngIf=\"suggestions?.length\"\n [values]=\"suggestions\"\n [fullScreen]=\"fullScreen\"\n [waitForReply]=\"waitForReply\"\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 <ng-content select=\"dr-ai-search-input\"></ng-content>\n </div>\n</div>\n", 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;box-shadow:0 2px 36px #00000026}.chat__sticky-top{display:flex;flex-direction:column;box-shadow:0 1px 3px #0003;z-index:1}.chat__empty-state{display:flex;justify-content:center}.chat__empty-state__text{padding:44px 0;font-family:Poppins,sans-serif;font-size:18px;font-weight:400;line-height:28px;text-align:center;max-width:440px;color:#4646ce}.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__messages__container--scroll::ng-deep dr-chat-message{padding-right:8px}.chat__suggestions{flex:1}.chat__suggestions ::ng-deep .chat-suggestions__container{padding:0}.chat__suggestions--full-height{flex-grow:1;height:1px;overflow:auto}.chat--in-full-screen .chat__header{padding-left:32px;padding-right:32px}.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:912px}.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{font-size:16px}\n"] }]
|
|
170
170
|
}], function () { return [{ type: i0.ChangeDetectorRef }]; }, { fullScreen: [{
|
|
171
171
|
type: Input
|
|
172
172
|
}], noMessagesPlaceholder: [{
|
|
@@ -199,4 +199,4 @@ export class DrChatComponent {
|
|
|
199
199
|
type: ViewChild,
|
|
200
200
|
args: [DrChatSuggestionsComponent]
|
|
201
201
|
}] }); })();
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2NoYXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY2hhdC9jaGF0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsZUFBZSxFQUNmLFNBQVMsRUFFVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixZQUFZLEVBRVosV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOzs7Ozs7O0lDbkJ0RiwyQkFBZ0Y7OztJQUEvQyxvREFBK0I7OztJQU9wRSw4QkFBeUQsZUFBQTtJQUNmLFlBQTJCO0lBQUEsaUJBQU8sRUFBQTs7O0lBQWxDLGVBQTJCO0lBQTNCLGtEQUEyQjs7O0lBR3JFLCtCQUFxRCxrQkFBQTtJQUs3QyxxQkFBa0Q7SUFDdEQsaUJBQU0sRUFBQTs7O0lBRkYsZUFBdUU7SUFBdkUsdUZBQXVFOzs7O0lBSy9FLCtDQVF1RDtJQUFuRCxxTkFBb0IsZUFBQSxvQ0FBNkIsQ0FBQSxJQUFDO0lBQ3RELGlCQUFz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ZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBRdWVyeUxpc3QsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPbkRlc3Ryb3ksXG4gICAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEckNoYXRGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9kci1jaGF0LWZvcm0vY2hhdC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEckNoYXRNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9kci1jaGF0LW1lc3NhZ2UvY2hhdC1tZXNzYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEckNoYXRDdXN0b21NZXNzYWdlU2VydmljZSB9IGZyb20gJy4vZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS1jdXN0b20vY2hhdC1jdXN0b20tbWVzc2FnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERyQ2hhdFN1Z2dlc3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9kci1jaGF0LXN1Z2dlc3Rpb25zL2NoYXQtc3VnZ2VzdGlvbnMuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1jaGF0JyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGF0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGVVcmw6ICdjaGF0LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtEckNoYXRDdXN0b21NZXNzYWdlU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIERyQ2hhdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBASW5wdXQoKSBmdWxsU2NyZWVuOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG5vTWVzc2FnZXNQbGFjZWhvbGRlciA9ICdObyBtZXNzYWdlcyB5ZXQuJztcblxuICAgIEBJbnB1dCgpIHNldCBjb250ZW50VXBkYXRlU3ViamVjdCh2YWx1ZTogU3ViamVjdDxhbnk+KSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdmFsdWUucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNjcm9sbCBjaGF0IHRvIHRoZSBib3R0b20gb2YgdGhlIGxpc3Qgd2hlbiBhIG5ldyBtZXNzYWdlIGFycml2ZXNcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBzY3JvbGxCb3R0b20oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxCb3R0b207XG4gICAgfVxuXG4gICAgc2V0IHNjcm9sbEJvdHRvbSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zY3JvbGxCb3R0b20gPSAhIXZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfc2Nyb2xsQm90dG9tID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpIHN1Z2dlc3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuICAgIEBJbnB1dCgpIHJlb3BlbjogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFBhcmFtZXRlciB0byBjaGVjayBpcyBzZW5kIG1lc3NhZ2UgZnVuY3Rpb24gYXZhaWxhYmxlXG4gICAgICpcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICBASW5wdXQoKSB3YWl0Rm9yUmVwbHkgPSBmYWxzZTtcblxuICAgIEBWaWV3Q2hpbGQoJ21lc3NhZ2VzQ29udGFpbmVyJykgbWVzc2FnZXNDb250YWluZXI6IEVsZW1lbnRSZWY7XG4gICAgQENvbnRlbnRDaGlsZHJlbihEckNoYXRNZXNzYWdlQ29tcG9uZW50KSBtZXNzYWdlczogUXVlcnlMaXN0PERyQ2hhdE1lc3NhZ2VDb21wb25lbnQ+O1xuICAgIEBDb250ZW50Q2hpbGQoRHJDaGF0Rm9ybUNvbXBvbmVudCkgY2hhdEZvcm06IERyQ2hhdEZvcm1Db21wb25lbnQ7XG4gICAgQENvbnRlbnRDaGlsZCgnZHJDaGF0SGVhZGVyJykgY2hhdEhlYWRlcjogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gICAgQE91dHB1dCgpIHN1Z2dlc3Rpb25TZWxlY3Q6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gICAgQFZpZXdDaGlsZChEckNoYXRTdWdnZXN0aW9uc0NvbXBvbmVudCkgX2NoYXRTdWdnZXN0aW9uczogRHJDaGF0U3VnZ2VzdGlvbnNDb21wb25lbnQ7XG5cbiAgICBwdWJsaWMgZ2V0IG1lc3NhZ2VzQ29udGFpbmVyV2l0aFNjcm9sbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXNDb250YWluZXIgJiZcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXNDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQgPiB0aGlzLm1lc3NhZ2VzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VzLmNoYW5nZXMuc3Vic2NyaWJlKChtZXNzYWdlcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlcyA9IG1lc3NhZ2VzO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmlldygpO1xuICAgIH1cblxuICAgIHVwZGF0ZVZpZXcoKSB7XG4gICAgICAgIGlmICh0aGlzLnNjcm9sbEJvdHRvbSkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxMaXN0Qm90dG9tKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzY3JvbGxMaXN0Qm90dG9tKCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1lc3NhZ2VzQ29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsVG9PcHRpb25zOiBhbnkgPSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogdGhpcy5tZXNzYWdlc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCxcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnJlb3Blbikge1xuICAgICAgICAgICAgICAgICAgICBzY3JvbGxUb09wdGlvbnMuYmVoYXZpb3IgPSAnc21vb3RoJztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oc2Nyb2xsVG9PcHRpb25zKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgY2xlYXJIaWRkZW5TdWdnZXN0aW9ucygpIHtcbiAgICAgICAgaWYgKHRoaXMuX2NoYXRTdWdnZXN0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5fY2hhdFN1Z2dlc3Rpb25zLmNsZWFySGlkZGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoaWRlU3VnZ2VzdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9jaGF0U3VnZ2VzdGlvbnM/LmlzU3VnZ2VzdGVkTWVudU9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX2NoYXRTdWdnZXN0aW9ucy50b2dnbGVTdWdnZXN0ZWRNZW51KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2hhdFwiIFtjbGFzcy5jaGF0LS1pbi1mdWxsLXNjcmVlbl09XCJmdWxsU2NyZWVuXCI+XG4gICAgPGRpdiBjbGFzcz1cImNoYXRfX3N0aWNreS10b3BcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNoYXRIZWFkZXJcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGF0SGVhZGVyXCI+PC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoYXRfX2FsZXJ0XCI+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkci1jaGF0LWFsZXJ0XCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIhbWVzc2FnZXM/Lmxlbmd0aFwiIGNsYXNzPVwiY2hhdF9fZW1wdHktc3RhdGVcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGF0X19lbXB0eS1zdGF0ZV9fdGV4dFwiPnt7IG5vTWVzc2FnZXNQbGFjZWhvbGRlciB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJtZXNzYWdlcz8ubGVuZ3RoXCIgY2xhc3M9XCJjaGF0X19tZXNzYWdlc1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAjbWVzc2FnZXNDb250YWluZXJcbiAgICAgICAgICAgIGNsYXNzPVwiY2hhdF9fbWVzc2FnZXNfX2NvbnRhaW5lclwiXG4gICAgICAgICAgICBbY2xhc3MuY2hhdF9fbWVzc2FnZXNfX2NvbnRhaW5lci0tc2Nyb2xsXT1cIm1lc3NhZ2VzQ29udGFpbmVyV2l0aFNjcm9sbFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZHItY2hhdC1tZXNzYWdlXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkci1jaGF0LXN1Z2dlc3Rpb25zXG4gICAgICAgICpuZ0lmPVwic3VnZ2VzdGlvbnM/Lmxlbmd0aFwiXG4gICAgICAgIFt2YWx1ZXNdPVwic3VnZ2VzdGlvbnNcIlxuICAgICAgICBbZnVsbFNjcmVlbl09XCJmdWxsU2NyZWVuXCJcbiAgICAgICAgW3dhaXRGb3JSZXBseV09XCJ3YWl0Rm9yUmVwbHlcIlxuICAgICAgICBjbGFzcz1cImNoYXRfX3N1Z2dlc3Rpb25zXCJcbiAgICAgICAgW2NsYXNzLmNoYXRfX3N1Z2dlc3Rpb25zLS1mdWxsLWhlaWdodF09XCJmdWxsU2NyZWVuICYmICFtZXNzYWdlcz8ubGVuZ3RoXCJcbiAgICAgICAgW2J1dHRvbk1vZGVdPVwiISFtZXNzYWdlcz8ubGVuZ3RoXCJcbiAgICAgICAgKHN1Z2dlc3Rpb25TZWxlY3QpPVwic3VnZ2VzdGlvblNlbGVjdC5lbWl0KCRldmVudClcIj5cbiAgICA8L2RyLWNoYXQtc3VnZ2VzdGlvbnM+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkci1jaGF0LWZvcm1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRyLWNoYXQtZm9ybS13aXRoLWhpc3RvcnlcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2NoYXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY2hhdC9jaGF0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsZUFBZSxFQUNmLFNBQVMsRUFFVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixZQUFZLEVBRVosV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOzs7Ozs7O0lDbkJ0RiwyQkFBZ0Y7OztJQUEvQyxvREFBK0I7OztJQU9wRSw4QkFBeUQsZUFBQTtJQUNmLFlBQTJCO0lBQUEsaUJBQU8sRUFBQTs7O0lBQWxDLGVBQTJCO0lBQTNCLGtEQUEyQjs7O0lBR3JFLCtCQUFxRCxrQkFBQTtJQUs3QyxxQkFBa0Q7SUFDdEQsaUJBQU0sRUFBQTs7O0lBRkYsZUFBdUU7SUFBdkUsdUZBQXVFOzs7O0lBSy9FLCtDQVF1RDtJQUFuRCxxTkFBb0IsZUFBQSxvQ0FBNkIsQ0FBQSxJQUFDO0lBQ3RELGlCQUFz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ZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBRdWVyeUxpc3QsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPbkRlc3Ryb3ksXG4gICAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEckNoYXRGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9kci1jaGF0LWZvcm0vY2hhdC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEckNoYXRNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9kci1jaGF0LW1lc3NhZ2UvY2hhdC1tZXNzYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEckNoYXRDdXN0b21NZXNzYWdlU2VydmljZSB9IGZyb20gJy4vZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS1jdXN0b20vY2hhdC1jdXN0b20tbWVzc2FnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERyQ2hhdFN1Z2dlc3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9kci1jaGF0LXN1Z2dlc3Rpb25zL2NoYXQtc3VnZ2VzdGlvbnMuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1jaGF0JyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGF0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGVVcmw6ICdjaGF0LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtEckNoYXRDdXN0b21NZXNzYWdlU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIERyQ2hhdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBASW5wdXQoKSBmdWxsU2NyZWVuOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG5vTWVzc2FnZXNQbGFjZWhvbGRlciA9ICdObyBtZXNzYWdlcyB5ZXQuJztcblxuICAgIEBJbnB1dCgpIHNldCBjb250ZW50VXBkYXRlU3ViamVjdCh2YWx1ZTogU3ViamVjdDxhbnk+KSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdmFsdWUucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNjcm9sbCBjaGF0IHRvIHRoZSBib3R0b20gb2YgdGhlIGxpc3Qgd2hlbiBhIG5ldyBtZXNzYWdlIGFycml2ZXNcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBzY3JvbGxCb3R0b20oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxCb3R0b207XG4gICAgfVxuXG4gICAgc2V0IHNjcm9sbEJvdHRvbSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zY3JvbGxCb3R0b20gPSAhIXZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfc2Nyb2xsQm90dG9tID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpIHN1Z2dlc3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuICAgIEBJbnB1dCgpIHJlb3BlbjogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFBhcmFtZXRlciB0byBjaGVjayBpcyBzZW5kIG1lc3NhZ2UgZnVuY3Rpb24gYXZhaWxhYmxlXG4gICAgICpcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICBASW5wdXQoKSB3YWl0Rm9yUmVwbHkgPSBmYWxzZTtcblxuICAgIEBWaWV3Q2hpbGQoJ21lc3NhZ2VzQ29udGFpbmVyJykgbWVzc2FnZXNDb250YWluZXI6IEVsZW1lbnRSZWY7XG4gICAgQENvbnRlbnRDaGlsZHJlbihEckNoYXRNZXNzYWdlQ29tcG9uZW50KSBtZXNzYWdlczogUXVlcnlMaXN0PERyQ2hhdE1lc3NhZ2VDb21wb25lbnQ+O1xuICAgIEBDb250ZW50Q2hpbGQoRHJDaGF0Rm9ybUNvbXBvbmVudCkgY2hhdEZvcm06IERyQ2hhdEZvcm1Db21wb25lbnQ7XG4gICAgQENvbnRlbnRDaGlsZCgnZHJDaGF0SGVhZGVyJykgY2hhdEhlYWRlcjogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gICAgQE91dHB1dCgpIHN1Z2dlc3Rpb25TZWxlY3Q6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gICAgQFZpZXdDaGlsZChEckNoYXRTdWdnZXN0aW9uc0NvbXBvbmVudCkgX2NoYXRTdWdnZXN0aW9uczogRHJDaGF0U3VnZ2VzdGlvbnNDb21wb25lbnQ7XG5cbiAgICBwdWJsaWMgZ2V0IG1lc3NhZ2VzQ29udGFpbmVyV2l0aFNjcm9sbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXNDb250YWluZXIgJiZcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXNDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQgPiB0aGlzLm1lc3NhZ2VzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VzLmNoYW5nZXMuc3Vic2NyaWJlKChtZXNzYWdlcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlcyA9IG1lc3NhZ2VzO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmlldygpO1xuICAgIH1cblxuICAgIHVwZGF0ZVZpZXcoKSB7XG4gICAgICAgIGlmICh0aGlzLnNjcm9sbEJvdHRvbSkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxMaXN0Qm90dG9tKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzY3JvbGxMaXN0Qm90dG9tKCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1lc3NhZ2VzQ29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsVG9PcHRpb25zOiBhbnkgPSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogdGhpcy5tZXNzYWdlc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCxcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnJlb3Blbikge1xuICAgICAgICAgICAgICAgICAgICBzY3JvbGxUb09wdGlvbnMuYmVoYXZpb3IgPSAnc21vb3RoJztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oc2Nyb2xsVG9PcHRpb25zKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgY2xlYXJIaWRkZW5TdWdnZXN0aW9ucygpIHtcbiAgICAgICAgaWYgKHRoaXMuX2NoYXRTdWdnZXN0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5fY2hhdFN1Z2dlc3Rpb25zLmNsZWFySGlkZGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoaWRlU3VnZ2VzdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9jaGF0U3VnZ2VzdGlvbnM/LmlzU3VnZ2VzdGVkTWVudU9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX2NoYXRTdWdnZXN0aW9ucy50b2dnbGVTdWdnZXN0ZWRNZW51KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2hhdFwiIFtjbGFzcy5jaGF0LS1pbi1mdWxsLXNjcmVlbl09XCJmdWxsU2NyZWVuXCI+XG4gICAgPGRpdiBjbGFzcz1cImNoYXRfX3N0aWNreS10b3BcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNoYXRIZWFkZXJcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGF0SGVhZGVyXCI+PC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoYXRfX2FsZXJ0XCI+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkci1jaGF0LWFsZXJ0XCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIhbWVzc2FnZXM/Lmxlbmd0aFwiIGNsYXNzPVwiY2hhdF9fZW1wdHktc3RhdGVcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGF0X19lbXB0eS1zdGF0ZV9fdGV4dFwiPnt7IG5vTWVzc2FnZXNQbGFjZWhvbGRlciB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJtZXNzYWdlcz8ubGVuZ3RoXCIgY2xhc3M9XCJjaGF0X19tZXNzYWdlc1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAjbWVzc2FnZXNDb250YWluZXJcbiAgICAgICAgICAgIGNsYXNzPVwiY2hhdF9fbWVzc2FnZXNfX2NvbnRhaW5lclwiXG4gICAgICAgICAgICBbY2xhc3MuY2hhdF9fbWVzc2FnZXNfX2NvbnRhaW5lci0tc2Nyb2xsXT1cIm1lc3NhZ2VzQ29udGFpbmVyV2l0aFNjcm9sbFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZHItY2hhdC1tZXNzYWdlXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkci1jaGF0LXN1Z2dlc3Rpb25zXG4gICAgICAgICpuZ0lmPVwic3VnZ2VzdGlvbnM/Lmxlbmd0aFwiXG4gICAgICAgIFt2YWx1ZXNdPVwic3VnZ2VzdGlvbnNcIlxuICAgICAgICBbZnVsbFNjcmVlbl09XCJmdWxsU2NyZWVuXCJcbiAgICAgICAgW3dhaXRGb3JSZXBseV09XCJ3YWl0Rm9yUmVwbHlcIlxuICAgICAgICBjbGFzcz1cImNoYXRfX3N1Z2dlc3Rpb25zXCJcbiAgICAgICAgW2NsYXNzLmNoYXRfX3N1Z2dlc3Rpb25zLS1mdWxsLWhlaWdodF09XCJmdWxsU2NyZWVuICYmICFtZXNzYWdlcz8ubGVuZ3RoXCJcbiAgICAgICAgW2J1dHRvbk1vZGVdPVwiISFtZXNzYWdlcz8ubGVuZ3RoXCJcbiAgICAgICAgKHN1Z2dlc3Rpb25TZWxlY3QpPVwic3VnZ2VzdGlvblNlbGVjdC5lbWl0KCRldmVudClcIj5cbiAgICA8L2RyLWNoYXQtc3VnZ2VzdGlvbnM+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkci1jaGF0LWZvcm1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRyLWFpLXNlYXJjaC1pbnB1dFwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -14,15 +14,15 @@ import { DrChatSuggestionsComponent } from './dr-chat-suggestions/chat-suggestio
|
|
|
14
14
|
import { DrDotFlashingComponent } from './dr-dot-flashing/dr-dot-flashing.component';
|
|
15
15
|
import { DrChatAlertComponent } from './dr-chat-alert/dr-chat-alert.component';
|
|
16
16
|
import { ClickOutsideModule } from '../directives/click-outside/click-outside.module';
|
|
17
|
-
import { DrChatFormWithHistoryComponent } from './dr-chat-form-with-history/chat-form-with-history.component';
|
|
18
17
|
import { DrChatDroppedFilesComponent } from './dr-chat-dropped-files/dr-chat-dropped-files.component';
|
|
19
18
|
import { ShorterNamingPipe } from './dr-chat-dropped-files/pipes/shorter-naming.pipe';
|
|
19
|
+
import { DrChatFormDropdownComponent } from './dr-chat-form-dropdown/dr-chat-form-dropdown.component';
|
|
20
20
|
import * as i0 from "@angular/core";
|
|
21
21
|
const DR_CHAT_COMPONENTS = [
|
|
22
22
|
DrChatComponent,
|
|
23
23
|
DrChatMessageComponent,
|
|
24
24
|
DrChatFormComponent,
|
|
25
|
-
|
|
25
|
+
DrChatFormDropdownComponent,
|
|
26
26
|
DrChatMessageTextComponent,
|
|
27
27
|
DrChatMessageFileComponent,
|
|
28
28
|
DrChatSuggestionsComponent,
|
|
@@ -62,7 +62,7 @@ export class DrChatModule {
|
|
|
62
62
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(DrChatModule, { declarations: [DrChatComponent,
|
|
63
63
|
DrChatMessageComponent,
|
|
64
64
|
DrChatFormComponent,
|
|
65
|
-
|
|
65
|
+
DrChatFormDropdownComponent,
|
|
66
66
|
DrChatMessageTextComponent,
|
|
67
67
|
DrChatMessageFileComponent,
|
|
68
68
|
DrChatSuggestionsComponent,
|
|
@@ -77,11 +77,11 @@ export class DrChatModule {
|
|
|
77
77
|
ClickOutsideModule], exports: [DrChatComponent,
|
|
78
78
|
DrChatMessageComponent,
|
|
79
79
|
DrChatFormComponent,
|
|
80
|
-
|
|
80
|
+
DrChatFormDropdownComponent,
|
|
81
81
|
DrChatMessageTextComponent,
|
|
82
82
|
DrChatMessageFileComponent,
|
|
83
83
|
DrChatSuggestionsComponent,
|
|
84
84
|
DrDotFlashingComponent,
|
|
85
85
|
DrChatAlertComponent,
|
|
86
86
|
DrChatDroppedFilesComponent, DrChatCustomMessageDirective] }); })();
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2NoYXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDaEgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDaEgsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDdEgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDOUYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDdEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seURBQXlELENBQUM7O0FBRXRHLE1BQU0sa0JBQWtCLEdBQUc7SUFDdkIsZUFBZTtJQUNmLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsMkJBQTJCO0lBQzNCLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIsMEJBQTBCO0lBQzFCLHNCQUFzQjtJQUN0QixvQkFBb0I7SUFDcEIsMkJBQTJCO0NBQzlCLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFMUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFlMUQsTUFBTSxPQUFPLFlBQVk7Z0dBQVosWUFBWTtrR0FBWixZQUFZO3NHQVhqQixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixjQUFjO1lBQ2QsY0FBYztZQUNkLGVBQWU7WUFDZixrQkFBa0I7O3VGQUtiLFlBQVk7Y0FieEIsUUFBUTtlQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsWUFBWTtvQkFDWixjQUFjO29CQUNkLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixrQkFBa0I7aUJBQ3JCO2dCQUNELFlBQVksRUFBRSxDQUFDLEdBQUcsa0JBQWtCLEVBQUUsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLGFBQWEsQ0FBQztnQkFDOUUsT0FBTyxFQUFFLENBQUMsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLGtCQUFrQixDQUFDO2FBQzFEOzt3RkFDWSxZQUFZLG1CQTdCckIsZUFBZTtRQUNmLHNCQUFzQjtRQUN0QixtQkFBbUI7UUFDbkIsMkJBQTJCO1FBQzNCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsMEJBQTBCO1FBQzFCLHNCQUFzQjtRQUN0QixvQkFBb0I7UUFDcEIsMkJBQTJCLEVBS0gsNEJBQTRCLEVBRmpDLGlCQUFpQixhQU1oQyxXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixjQUFjO1FBQ2QsY0FBYztRQUNkLGVBQWU7UUFDZixrQkFBa0IsYUF4QnRCLGVBQWU7UUFDZixzQkFBc0I7UUFDdEIsbUJBQW1CO1FBQ25CLDJCQUEyQjtRQUMzQiwwQkFBMEI7UUFDMUIsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQixzQkFBc0I7UUFDdEIsb0JBQW9CO1FBQ3BCLDJCQUEyQixFQUtILDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEcklucHV0c01vZHVsZSB9IGZyb20gJy4uL2RyLWlucHV0cy9kci1pbnB1dHMubW9kdWxlJztcbmltcG9ydCB7IERyQXZhdGFyTW9kdWxlIH0gZnJvbSAnLi4vZHItYXZhdGFyL2RyLWF2YXRhci5tb2R1bGUnO1xuaW1wb3J0IHsgRHJUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vZHItdG9vbHRpcC9kci10b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IERyQ2hhdENvbXBvbmVudCB9IGZyb20gJy4vY2hhdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0TWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vZHItY2hhdC1tZXNzYWdlL2NoYXQtbWVzc2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZHItY2hhdC1mb3JtL2NoYXQtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0TWVzc2FnZVRleHRDb21wb25lbnQgfSBmcm9tICcuL2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtdGV4dC9jaGF0LW1lc3NhZ2UtdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0TWVzc2FnZUZpbGVDb21wb25lbnQgfSBmcm9tICcuL2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtZmlsZS9jaGF0LW1lc3NhZ2UtZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0Q3VzdG9tTWVzc2FnZURpcmVjdGl2ZSB9IGZyb20gJy4vZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS1jdXN0b20vY2hhdC1jdXN0b20tbWVzc2FnZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHJDaGF0U3VnZ2VzdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2RyLWNoYXQtc3VnZ2VzdGlvbnMvY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJEb3RGbGFzaGluZ0NvbXBvbmVudCB9IGZyb20gJy4vZHItZG90LWZsYXNoaW5nL2RyLWRvdC1mbGFzaGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0QWxlcnRDb21wb25lbnQgfSBmcm9tICcuL2RyLWNoYXQtYWxlcnQvZHItY2hhdC1hbGVydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2xpY2tPdXRzaWRlTW9kdWxlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlL2NsaWNrLW91dHNpZGUubW9kdWxlJztcbmltcG9ydCB7IERyQ2hhdERyb3BwZWRGaWxlc0NvbXBvbmVudCB9IGZyb20gJy4vZHItY2hhdC1kcm9wcGVkLWZpbGVzL2RyLWNoYXQtZHJvcHBlZC1maWxlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2hvcnRlck5hbWluZ1BpcGUgfSBmcm9tICcuL2RyLWNoYXQtZHJvcHBlZC1maWxlcy9waXBlcy9zaG9ydGVyLW5hbWluZy5waXBlJztcbmltcG9ydCB7IERyQ2hhdEZvcm1Ecm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHItY2hhdC1mb3JtLWRyb3Bkb3duL2RyLWNoYXQtZm9ybS1kcm9wZG93bi5jb21wb25lbnQnO1xuXG5jb25zdCBEUl9DSEFUX0NPTVBPTkVOVFMgPSBbXG4gICAgRHJDaGF0Q29tcG9uZW50LFxuICAgIERyQ2hhdE1lc3NhZ2VDb21wb25lbnQsXG4gICAgRHJDaGF0Rm9ybUNvbXBvbmVudCxcbiAgICBEckNoYXRGb3JtRHJvcGRvd25Db21wb25lbnQsXG4gICAgRHJDaGF0TWVzc2FnZVRleHRDb21wb25lbnQsXG4gICAgRHJDaGF0TWVzc2FnZUZpbGVDb21wb25lbnQsXG4gICAgRHJDaGF0U3VnZ2VzdGlvbnNDb21wb25lbnQsXG4gICAgRHJEb3RGbGFzaGluZ0NvbXBvbmVudCxcbiAgICBEckNoYXRBbGVydENvbXBvbmVudCxcbiAgICBEckNoYXREcm9wcGVkRmlsZXNDb21wb25lbnQsXG5dO1xuXG5jb25zdCBEUl9DSEFUX1BJUEVTID0gW1Nob3J0ZXJOYW1pbmdQaXBlXTtcblxuY29uc3QgRFJfQ0hBVF9ESVJFQ1RJVkVTID0gW0RyQ2hhdEN1c3RvbU1lc3NhZ2VEaXJlY3RpdmVdO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRHJBdmF0YXJNb2R1bGUsXG4gICAgICAgIERySW5wdXRzTW9kdWxlLFxuICAgICAgICBEclRvb2x0aXBNb2R1bGUsXG4gICAgICAgIENsaWNrT3V0c2lkZU1vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogWy4uLkRSX0NIQVRfQ09NUE9ORU5UUywgLi4uRFJfQ0hBVF9ESVJFQ1RJVkVTLCAuLi5EUl9DSEFUX1BJUEVTXSxcbiAgICBleHBvcnRzOiBbLi4uRFJfQ0hBVF9DT01QT05FTlRTLCAuLi5EUl9DSEFUX0RJUkVDVElWRVNdLFxufSlcbmV4cG9ydCBjbGFzcyBEckNoYXRNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/platform-browser";
|
|
6
|
+
import * as i2 from "@angular/forms";
|
|
7
|
+
import * as i3 from "@angular/common";
|
|
8
|
+
import * as i4 from "../dr-dot-flashing/dr-dot-flashing.component";
|
|
9
|
+
import * as i5 from "../dr-chat-dropped-files/dr-chat-dropped-files.component";
|
|
10
|
+
const _c0 = ["textAreaElement"];
|
|
11
|
+
const _c1 = ["fileInput"];
|
|
12
|
+
function DrChatFormDropdownComponent_dr_chat_dropped_files_2_Template(rf, ctx) { if (rf & 1) {
|
|
13
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
14
|
+
i0.ɵɵelementStart(0, "dr-chat-dropped-files", 12);
|
|
15
|
+
i0.ɵɵlistener("removeFileEvent", function DrChatFormDropdownComponent_dr_chat_dropped_files_2_Template_dr_chat_dropped_files_removeFileEvent_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.removeFile($event)); });
|
|
16
|
+
i0.ɵɵpipe(1, "async");
|
|
17
|
+
i0.ɵɵelementEnd();
|
|
18
|
+
} if (rf & 2) {
|
|
19
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
20
|
+
i0.ɵɵproperty("files", i0.ɵɵpipeBind1(1, 3, ctx_r0.droppedFiles$))("isRemovable", true)("maxLengthText", 15);
|
|
21
|
+
} }
|
|
22
|
+
function DrChatFormDropdownComponent_i_12_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
+
const _r9 = i0.ɵɵgetCurrentView();
|
|
24
|
+
i0.ɵɵelementStart(0, "i", 13);
|
|
25
|
+
i0.ɵɵlistener("click", function DrChatFormDropdownComponent_i_12_Template_i_click_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.sendMessage($event)); });
|
|
26
|
+
i0.ɵɵelementEnd();
|
|
27
|
+
} }
|
|
28
|
+
function DrChatFormDropdownComponent_i_13_Template(rf, ctx) { if (rf & 1) {
|
|
29
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
30
|
+
i0.ɵɵelementStart(0, "i", 14);
|
|
31
|
+
i0.ɵɵlistener("click", function DrChatFormDropdownComponent_i_13_Template_i_click_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.abortMessage()); });
|
|
32
|
+
i0.ɵɵelementEnd();
|
|
33
|
+
} }
|
|
34
|
+
function DrChatFormDropdownComponent_dr_dot_flashing_14_Template(rf, ctx) { if (rf & 1) {
|
|
35
|
+
i0.ɵɵelement(0, "dr-dot-flashing", 15);
|
|
36
|
+
} }
|
|
37
|
+
const _c2 = function (a0) { return { "message-row_loading": a0 }; };
|
|
38
|
+
const _c3 = function (a0, a1) { return { "message-row__input--focused": a0, "message-row__input--filled": a1 }; };
|
|
39
|
+
const _c4 = ["*"];
|
|
40
|
+
export class DrChatFormDropdownComponent {
|
|
41
|
+
constructor(cdr, domSanitizer) {
|
|
42
|
+
this.cdr = cdr;
|
|
43
|
+
this.domSanitizer = domSanitizer;
|
|
44
|
+
this._textareaInitialHeight = true;
|
|
45
|
+
this.inputFocus = false;
|
|
46
|
+
this.inputHover = false;
|
|
47
|
+
this.droppedFiles$ = new BehaviorSubject([]);
|
|
48
|
+
this.isLoading = false;
|
|
49
|
+
/**
|
|
50
|
+
* Predefined message text
|
|
51
|
+
*
|
|
52
|
+
* @type {string}
|
|
53
|
+
*/
|
|
54
|
+
this.message = '';
|
|
55
|
+
/**
|
|
56
|
+
* Message placeholder text
|
|
57
|
+
*
|
|
58
|
+
* @type {string}
|
|
59
|
+
*/
|
|
60
|
+
this.messagePlaceholder = 'Type a message';
|
|
61
|
+
/**
|
|
62
|
+
* Show send button
|
|
63
|
+
*
|
|
64
|
+
* @type {boolean}
|
|
65
|
+
*/
|
|
66
|
+
this.dropFiles = false;
|
|
67
|
+
/**
|
|
68
|
+
* File drop placeholder text
|
|
69
|
+
*
|
|
70
|
+
* @type {string}
|
|
71
|
+
*/
|
|
72
|
+
this.dropFilePlaceholder = 'Drop file to send';
|
|
73
|
+
/**
|
|
74
|
+
* Parameter to check is send message function available
|
|
75
|
+
*
|
|
76
|
+
* @type {boolean}
|
|
77
|
+
*/
|
|
78
|
+
this.waitForReply = false;
|
|
79
|
+
/**
|
|
80
|
+
* Parameter to check is send message function available
|
|
81
|
+
*
|
|
82
|
+
* @type {boolean}
|
|
83
|
+
*/
|
|
84
|
+
this.showDotFlashing = false;
|
|
85
|
+
/**
|
|
86
|
+
*
|
|
87
|
+
* @type {EventEmitter<{ message: string, files: IFile[] }>}
|
|
88
|
+
*/
|
|
89
|
+
this.send = new EventEmitter();
|
|
90
|
+
this.uploadFiles = new EventEmitter();
|
|
91
|
+
this.abort = new EventEmitter();
|
|
92
|
+
/**
|
|
93
|
+
* Emits when message input value has been changed
|
|
94
|
+
*
|
|
95
|
+
* @type {EventEmitter<string>}
|
|
96
|
+
*/
|
|
97
|
+
this.inputChange = new EventEmitter();
|
|
98
|
+
this.fileOver = false;
|
|
99
|
+
}
|
|
100
|
+
onDrop(event) {
|
|
101
|
+
if (this.dropFiles) {
|
|
102
|
+
event.preventDefault();
|
|
103
|
+
event.stopPropagation();
|
|
104
|
+
this.fileOver = false;
|
|
105
|
+
const files = event.dataTransfer?.files;
|
|
106
|
+
if (files) {
|
|
107
|
+
this.saveFiles(files);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
removeFile(file) {
|
|
112
|
+
const droppedFiles = this.droppedFiles$.value;
|
|
113
|
+
const index = droppedFiles.indexOf(file);
|
|
114
|
+
if (index >= 0) {
|
|
115
|
+
droppedFiles.splice(index, 1);
|
|
116
|
+
this.droppedFiles$.next(droppedFiles);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
onDragOver(event) {
|
|
120
|
+
event.preventDefault();
|
|
121
|
+
event.stopPropagation();
|
|
122
|
+
if (this.dropFiles) {
|
|
123
|
+
this.fileOver = true;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
onDragLeave(event) {
|
|
127
|
+
event.preventDefault();
|
|
128
|
+
event.stopPropagation();
|
|
129
|
+
if (this.dropFiles) {
|
|
130
|
+
this.fileOver = false;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
sendMessage($event) {
|
|
134
|
+
if (!$event || !$event.shiftKey) {
|
|
135
|
+
$event?.preventDefault();
|
|
136
|
+
$event?.stopPropagation();
|
|
137
|
+
if (this.waitForReply) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
else if (this.droppedFiles$.value.length || String(this.message).trim().length) {
|
|
141
|
+
this._textareaInitialHeight = true;
|
|
142
|
+
this.send.emit({ message: this.message, files: this.droppedFiles$.value });
|
|
143
|
+
this.message = '';
|
|
144
|
+
this.droppedFiles$.next([]);
|
|
145
|
+
this.cdr.markForCheck();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
abortMessage() {
|
|
150
|
+
this.abort.emit();
|
|
151
|
+
}
|
|
152
|
+
onModelChange(value) {
|
|
153
|
+
this._textareaInitialHeight = false;
|
|
154
|
+
this.inputChange.emit(value);
|
|
155
|
+
}
|
|
156
|
+
getTextAreaHeight(textAreaElement) {
|
|
157
|
+
if (this._textareaInitialHeight) {
|
|
158
|
+
textAreaElement.style.height = '30px';
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
textAreaElement.style.height = 'auto';
|
|
162
|
+
textAreaElement.style.height = textAreaElement.scrollHeight + 'px';
|
|
163
|
+
}
|
|
164
|
+
return `${textAreaElement.style.height}`;
|
|
165
|
+
}
|
|
166
|
+
onFileSelected(event) {
|
|
167
|
+
const input = event.target;
|
|
168
|
+
this.fileOver = false;
|
|
169
|
+
const files = input.files;
|
|
170
|
+
if (files && files.length) {
|
|
171
|
+
this.saveFiles(Array.from(files));
|
|
172
|
+
}
|
|
173
|
+
this.fileInput.nativeElement.value = '';
|
|
174
|
+
}
|
|
175
|
+
async saveFiles(files) {
|
|
176
|
+
const uploadedFiles = [];
|
|
177
|
+
for (const file of files) {
|
|
178
|
+
let res = file;
|
|
179
|
+
res.data = (await this.base64Convert(res));
|
|
180
|
+
this.droppedFiles$.next([...this.droppedFiles$.value, res]);
|
|
181
|
+
uploadedFiles.push(res);
|
|
182
|
+
this.cdr.markForCheck();
|
|
183
|
+
this.cdr.detectChanges();
|
|
184
|
+
}
|
|
185
|
+
this.uploadFiles.emit(uploadedFiles.map((item) => ({ data: item.data, name: item.name })));
|
|
186
|
+
}
|
|
187
|
+
base64Convert(file) {
|
|
188
|
+
return new Promise((resolve, reject) => {
|
|
189
|
+
const reader = new FileReader();
|
|
190
|
+
reader.onload = () => resolve(reader.result);
|
|
191
|
+
reader.onerror = (error) => reject(error);
|
|
192
|
+
reader.readAsDataURL(file);
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
/** @nocollapse */ static { this.ɵfac = function DrChatFormDropdownComponent_Factory(t) { return new (t || DrChatFormDropdownComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.DomSanitizer)); }; }
|
|
196
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrChatFormDropdownComponent, selectors: [["dr-chat-form-dropdown"]], viewQuery: function DrChatFormDropdownComponent_Query(rf, ctx) { if (rf & 1) {
|
|
197
|
+
i0.ɵɵviewQuery(_c0, 5);
|
|
198
|
+
i0.ɵɵviewQuery(_c1, 5);
|
|
199
|
+
} if (rf & 2) {
|
|
200
|
+
let _t;
|
|
201
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.textAreaElementRef = _t.first);
|
|
202
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.fileInput = _t.first);
|
|
203
|
+
} }, hostVars: 2, hostBindings: function DrChatFormDropdownComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
204
|
+
i0.ɵɵlistener("drop", function DrChatFormDropdownComponent_drop_HostBindingHandler($event) { return ctx.onDrop($event); })("dragover", function DrChatFormDropdownComponent_dragover_HostBindingHandler($event) { return ctx.onDragOver($event); })("dragleave", function DrChatFormDropdownComponent_dragleave_HostBindingHandler($event) { return ctx.onDragLeave($event); });
|
|
205
|
+
} if (rf & 2) {
|
|
206
|
+
i0.ɵɵclassProp("file-over", ctx.fileOver);
|
|
207
|
+
} }, inputs: { isLoading: "isLoading", message: "message", messagePlaceholder: "messagePlaceholder", dropFiles: "dropFiles", dropFilePlaceholder: "dropFilePlaceholder", waitForReply: "waitForReply", showDotFlashing: "showDotFlashing" }, outputs: { send: "send", uploadFiles: "uploadFiles", abort: "abort", inputChange: "inputChange" }, ngContentSelectors: _c4, decls: 15, vars: 18, consts: [[1, "message-row", 3, "ngClass"], [1, "message-row__input", 3, "ngClass"], [3, "files", "isRemovable", "maxLengthText", "removeFileEvent", 4, "ngIf"], [1, "message-row__input-textarea-wrap"], ["type", "text", 3, "ngModel", "rows", "placeholder", "focus", "blur", "mouseenter", "mouseleave", "ngModelChange", "keydown.enter"], ["textAreaElement", ""], [1, "message-row__btns"], ["type", "file", "hidden", "", "multiple", "", 3, "change"], ["fileInput", ""], ["class", "dr-icon-send-arrow-up send-button", 3, "click", 4, "ngIf"], ["class", "dr-icon-stop abort-button", 3, "click", 4, "ngIf"], ["class", "wait-reply-dot-flashing", 4, "ngIf"], [3, "files", "isRemovable", "maxLengthText", "removeFileEvent"], [1, "dr-icon-send-arrow-up", "send-button", 3, "click"], [1, "dr-icon-stop", "abort-button", 3, "click"], [1, "wait-reply-dot-flashing"]], template: function DrChatFormDropdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
208
|
+
i0.ɵɵprojectionDef();
|
|
209
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
210
|
+
i0.ɵɵtemplate(2, DrChatFormDropdownComponent_dr_chat_dropped_files_2_Template, 2, 5, "dr-chat-dropped-files", 2);
|
|
211
|
+
i0.ɵɵpipe(3, "async");
|
|
212
|
+
i0.ɵɵelementStart(4, "div", 3)(5, "textarea", 4, 5);
|
|
213
|
+
i0.ɵɵlistener("focus", function DrChatFormDropdownComponent_Template_textarea_focus_5_listener() { return ctx.inputFocus = true; })("blur", function DrChatFormDropdownComponent_Template_textarea_blur_5_listener() { return ctx.inputFocus = false; })("mouseenter", function DrChatFormDropdownComponent_Template_textarea_mouseenter_5_listener() { return ctx.inputHover = true; })("mouseleave", function DrChatFormDropdownComponent_Template_textarea_mouseleave_5_listener() { return ctx.inputHover = false; })("ngModelChange", function DrChatFormDropdownComponent_Template_textarea_ngModelChange_5_listener($event) { return ctx.message = $event; })("ngModelChange", function DrChatFormDropdownComponent_Template_textarea_ngModelChange_5_listener($event) { return ctx.onModelChange($event); })("keydown.enter", function DrChatFormDropdownComponent_Template_textarea_keydown_enter_5_listener($event) { return ctx.sendMessage($event); });
|
|
214
|
+
i0.ɵɵtext(7, " ");
|
|
215
|
+
i0.ɵɵelementEnd()();
|
|
216
|
+
i0.ɵɵelementStart(8, "div", 6);
|
|
217
|
+
i0.ɵɵprojection(9);
|
|
218
|
+
i0.ɵɵelementStart(10, "input", 7, 8);
|
|
219
|
+
i0.ɵɵlistener("change", function DrChatFormDropdownComponent_Template_input_change_10_listener($event) { return ctx.onFileSelected($event); });
|
|
220
|
+
i0.ɵɵelementEnd();
|
|
221
|
+
i0.ɵɵtemplate(12, DrChatFormDropdownComponent_i_12_Template, 1, 0, "i", 9);
|
|
222
|
+
i0.ɵɵtemplate(13, DrChatFormDropdownComponent_i_13_Template, 1, 0, "i", 10);
|
|
223
|
+
i0.ɵɵtemplate(14, DrChatFormDropdownComponent_dr_dot_flashing_14_Template, 1, 0, "dr-dot-flashing", 11);
|
|
224
|
+
i0.ɵɵelementEnd()()();
|
|
225
|
+
} if (rf & 2) {
|
|
226
|
+
const _r1 = i0.ɵɵreference(6);
|
|
227
|
+
let tmp_1_0;
|
|
228
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c2, ctx.isLoading));
|
|
229
|
+
i0.ɵɵadvance(1);
|
|
230
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(15, _c3, ctx.inputFocus, !!(ctx.message == null ? null : (tmp_1_0 = ctx.message.trim()) == null ? null : tmp_1_0.length)));
|
|
231
|
+
i0.ɵɵadvance(1);
|
|
232
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(3, 11, ctx.droppedFiles$).length);
|
|
233
|
+
i0.ɵɵadvance(3);
|
|
234
|
+
i0.ɵɵstyleMap(ctx.getTextAreaHeight(_r1));
|
|
235
|
+
i0.ɵɵpropertyInterpolate("placeholder", ctx.fileOver ? ctx.dropFilePlaceholder : ctx.messagePlaceholder);
|
|
236
|
+
i0.ɵɵproperty("ngModel", ctx.message)("rows", 1);
|
|
237
|
+
i0.ɵɵadvance(7);
|
|
238
|
+
i0.ɵɵproperty("ngIf", !ctx.waitForReply);
|
|
239
|
+
i0.ɵɵadvance(1);
|
|
240
|
+
i0.ɵɵproperty("ngIf", ctx.waitForReply && !ctx.showDotFlashing);
|
|
241
|
+
i0.ɵɵadvance(1);
|
|
242
|
+
i0.ɵɵproperty("ngIf", ctx.waitForReply && ctx.showDotFlashing);
|
|
243
|
+
} }, dependencies: [i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgModel, i3.NgClass, i3.NgIf, i4.DrDotFlashingComponent, i5.DrChatDroppedFilesComponent, i3.AsyncPipe], styles: ["[_nghost-%COMP%] {--disabled-bg: linear-gradient(270.95deg, rgba(130, 210, 240, .2) 10.98%, rgba(146, 146, 255, .2) 93.38%);display:flex;flex-direction:column;align-items:center;padding:0}[_nghost-%COMP%] .message-row{display:flex;justify-content:center;width:100%;padding:0 0 21px;max-width:956px}[_nghost-%COMP%] .message-row__input{flex-direction:column;background-color:#fff;position:relative;display:flex;align-items:center;flex-grow:1;padding:14px 8px 8px 15px;height:auto;overflow:visible;min-width:265px;border-radius:24px;border:1.5px solid transparent;box-shadow:0 2px 16px -10px #603cff29;transition:.35s ease}[_nghost-%COMP%] .message-row__input .abort-button, [_nghost-%COMP%] .message-row__input .send-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:24px;border-radius:100px;color:#fff;transition:.15s ease-in-out;background:linear-gradient(266deg,#6969ff 25.2%,#4eb7df 90.24%) border-box}[_nghost-%COMP%] .message-row__input .send-button{background:var(--disabled-bg);pointer-events:none}[_nghost-%COMP%] .message-row__input--focused{box-shadow:8px 8px 16px #6969ff40,-4px -4px 8px #40b6e340,8px 8px 60px #00000040;height:auto!important;background:#fff}[_nghost-%COMP%] .message-row__input--filled{box-shadow:8px 8px 16px #6969ff40,-4px -4px 8px #40b6e340,8px 8px 60px #00000040;background:#fff}[_nghost-%COMP%] .message-row__input--filled .send-button{background:linear-gradient(266deg,#6969ff 25.2%,#4eb7df 90.24%) border-box;pointer-events:all}[_nghost-%COMP%] .message-row__input .wait-reply-dot-flashing{display:flex;align-items:center;width:32px;height:48px;right:25px}[_nghost-%COMP%] .message-row__input:before{content:\"\";position:absolute;inset:-3px;background:linear-gradient(266.3deg,#6969ff 25.2%,#4eb7df 90.24%);border-radius:25px;z-index:-1}[_nghost-%COMP%] .message-row__input textarea{font-size:14px;color:#333;width:100%;outline:none;min-height:30px;line-height:19px;flex-grow:1;resize:none;padding:4px 48px 4px 4px;margin:auto;border:none;border-radius:22.5px}[_nghost-%COMP%] .message-row__input textarea:focus{border:none}[_nghost-%COMP%] .message-row__input textarea::placeholder{color:#9ea1aa}[_nghost-%COMP%] .message-row__btns{display:flex;justify-content:space-between;width:100%;align-items:center}[_nghost-%COMP%] .message-row__input-textarea-wrap{display:flex;width:100%;position:relative}[_nghost-%COMP%] dr-chat-dropped-files{margin-right:auto}[_nghost-%COMP%] dr-chat-dropped-files .dropped-files{padding:0}[_nghost-%COMP%] dr-chat-dropped-files .dropped-files__item{margin:0}[_nghost-%COMP%] .message-row_loading .send-button{background:var(--disabled-bg);pointer-events:none}[_nghost-%COMP%] .message-row_loading .dropped-files__item{opacity:.5;pointer-events:none}"], changeDetection: 0 }); }
|
|
244
|
+
}
|
|
245
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrChatFormDropdownComponent, [{
|
|
246
|
+
type: Component,
|
|
247
|
+
args: [{ selector: 'dr-chat-form-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"message-row\" [ngClass]=\"{ 'message-row_loading': isLoading }\">\n <div\n class=\"message-row__input\"\n [ngClass]=\"{\n 'message-row__input--focused': inputFocus,\n 'message-row__input--filled': !!message?.trim()?.length,\n }\">\n <dr-chat-dropped-files\n *ngIf=\"(droppedFiles$ | async).length\"\n [files]=\"droppedFiles$ | async\"\n [isRemovable]=\"true\"\n [maxLengthText]=\"15\"\n (removeFileEvent)=\"removeFile($event)\"></dr-chat-dropped-files>\n\n <div class=\"message-row__input-textarea-wrap\">\n <textarea\n #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 (keydown.enter)=\"sendMessage($event)\">\n </textarea>\n </div>\n <div class=\"message-row__btns\">\n <ng-content></ng-content>\n <input #fileInput type=\"file\" hidden multiple (change)=\"onFileSelected($event)\" />\n <i *ngIf=\"!waitForReply\" (click)=\"sendMessage($event)\" class=\"dr-icon-send-arrow-up send-button\"></i>\n\n <i *ngIf=\"waitForReply && !showDotFlashing\" class=\"dr-icon-stop abort-button\" (click)=\"abortMessage()\"></i>\n <dr-dot-flashing *ngIf=\"waitForReply && showDotFlashing\" class=\"wait-reply-dot-flashing\"></dr-dot-flashing>\n </div>\n </div>\n</div>\n", styles: [":host::ng-deep{--disabled-bg: linear-gradient(270.95deg, rgba(130, 210, 240, .2) 10.98%, rgba(146, 146, 255, .2) 93.38%);display:flex;flex-direction:column;align-items:center;padding:0}:host::ng-deep .message-row{display:flex;justify-content:center;width:100%;padding:0 0 21px;max-width:956px}:host::ng-deep .message-row__input{flex-direction:column;background-color:#fff;position:relative;display:flex;align-items:center;flex-grow:1;padding:14px 8px 8px 15px;height:auto;overflow:visible;min-width:265px;border-radius:24px;border:1.5px solid transparent;box-shadow:0 2px 16px -10px #603cff29;transition:.35s ease}:host::ng-deep .message-row__input .abort-button,:host::ng-deep .message-row__input .send-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:24px;border-radius:100px;color:#fff;transition:.15s ease-in-out;background:linear-gradient(266deg,#6969ff 25.2%,#4eb7df 90.24%) border-box}:host::ng-deep .message-row__input .send-button{background:var(--disabled-bg);pointer-events:none}:host::ng-deep .message-row__input--focused{box-shadow:8px 8px 16px #6969ff40,-4px -4px 8px #40b6e340,8px 8px 60px #00000040;height:auto!important;background:#fff}:host::ng-deep .message-row__input--filled{box-shadow:8px 8px 16px #6969ff40,-4px -4px 8px #40b6e340,8px 8px 60px #00000040;background:#fff}:host::ng-deep .message-row__input--filled .send-button{background:linear-gradient(266deg,#6969ff 25.2%,#4eb7df 90.24%) border-box;pointer-events:all}:host::ng-deep .message-row__input .wait-reply-dot-flashing{display:flex;align-items:center;width:32px;height:48px;right:25px}:host::ng-deep .message-row__input:before{content:\"\";position:absolute;inset:-3px;background:linear-gradient(266.3deg,#6969ff 25.2%,#4eb7df 90.24%);border-radius:25px;z-index:-1}:host::ng-deep .message-row__input textarea{font-size:14px;color:#333;width:100%;outline:none;min-height:30px;line-height:19px;flex-grow:1;resize:none;padding:4px 48px 4px 4px;margin:auto;border:none;border-radius:22.5px}:host::ng-deep .message-row__input textarea:focus{border:none}:host::ng-deep .message-row__input textarea::placeholder{color:#9ea1aa}:host::ng-deep .message-row__btns{display:flex;justify-content:space-between;width:100%;align-items:center}:host::ng-deep .message-row__input-textarea-wrap{display:flex;width:100%;position:relative}:host::ng-deep dr-chat-dropped-files{margin-right:auto}:host::ng-deep dr-chat-dropped-files .dropped-files{padding:0}:host::ng-deep dr-chat-dropped-files .dropped-files__item{margin:0}:host::ng-deep .message-row_loading .send-button{background:var(--disabled-bg);pointer-events:none}:host::ng-deep .message-row_loading .dropped-files__item{opacity:.5;pointer-events:none}\n"] }]
|
|
248
|
+
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.DomSanitizer }]; }, { textAreaElementRef: [{
|
|
249
|
+
type: ViewChild,
|
|
250
|
+
args: ['textAreaElement']
|
|
251
|
+
}], fileInput: [{
|
|
252
|
+
type: ViewChild,
|
|
253
|
+
args: ['fileInput']
|
|
254
|
+
}], isLoading: [{
|
|
255
|
+
type: Input
|
|
256
|
+
}], message: [{
|
|
257
|
+
type: Input
|
|
258
|
+
}], messagePlaceholder: [{
|
|
259
|
+
type: Input
|
|
260
|
+
}], dropFiles: [{
|
|
261
|
+
type: Input
|
|
262
|
+
}], dropFilePlaceholder: [{
|
|
263
|
+
type: Input
|
|
264
|
+
}], waitForReply: [{
|
|
265
|
+
type: Input
|
|
266
|
+
}], showDotFlashing: [{
|
|
267
|
+
type: Input
|
|
268
|
+
}], send: [{
|
|
269
|
+
type: Output
|
|
270
|
+
}], uploadFiles: [{
|
|
271
|
+
type: Output
|
|
272
|
+
}], abort: [{
|
|
273
|
+
type: Output
|
|
274
|
+
}], inputChange: [{
|
|
275
|
+
type: Output
|
|
276
|
+
}], fileOver: [{
|
|
277
|
+
type: HostBinding,
|
|
278
|
+
args: ['class.file-over']
|
|
279
|
+
}], onDrop: [{
|
|
280
|
+
type: HostListener,
|
|
281
|
+
args: ['drop', ['$event']]
|
|
282
|
+
}], onDragOver: [{
|
|
283
|
+
type: HostListener,
|
|
284
|
+
args: ['dragover', ['$event']]
|
|
285
|
+
}], onDragLeave: [{
|
|
286
|
+
type: HostListener,
|
|
287
|
+
args: ['dragleave', ['$event']]
|
|
288
|
+
}] }); })();
|
|
289
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItY2hhdC1mb3JtLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNoYXQvZHItY2hhdC1mb3JtLWRyb3Bkb3duL2RyLWNoYXQtZm9ybS1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtZm9ybS1kcm9wZG93bi9kci1jaGF0LWZvcm0tZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7SUNQL0IsaURBSzJDO0lBQXZDLG1PQUFtQixlQUFBLHlCQUFrQixDQUFBLElBQUM7O0lBQUMsaUJBQXdCOzs7SUFIL0Qsa0VBQStCLHFCQUFBLHFCQUFBOzs7O0lBd0IvQiw2QkFBaUc7SUFBeEUsd0tBQVMsZUFBQSwwQkFBbUIsQ0FBQSxJQUFDO0lBQTJDLGlCQUFJOzs7O0lBRXJHLDZCQUF1RztJQUF6QixvS0FBUyxlQUFBLHNCQUFjLENBQUEsSUFBQztJQUFDLGlCQUFJOzs7SUFDM0csc0NBQTJHOzs7OztBRGR2SCxNQUFNLE9BQU8sMkJBQTJCO0lBdUVwQyxZQUNjLEdBQXNCLEVBQ3RCLFlBQTBCO1FBRDFCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGlCQUFZLEdB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bUJBR2hCLHVCQUF1QixDQUFDLE1BQU07K0ZBR2pCLGtCQUFrQjtrQkFBL0MsU0FBUzttQkFBQyxpQkFBaUI7WUFDSixTQUFTO2tCQUFoQyxTQUFTO21CQUFDLFdBQVc7WUFPYixTQUFTO2tCQUFqQixLQUFLO1lBT0csT0FBTztrQkFBZixLQUFLO1lBT0csa0JBQWtCO2tCQUExQixLQUFLO1lBT0csU0FBUztrQkFBakIsS0FBSztZQU9HLG1CQUFtQjtrQkFBM0IsS0FBSztZQU9HLFlBQVk7a0JBQXBCLEtBQUs7WUFPRyxlQUFlO2tCQUF2QixLQUFLO1lBTUksSUFBSTtrQkFBYixNQUFNO1lBQ0csV0FBVztrQkFBcEIsTUFBTTtZQUNHLEtBQUs7a0JBQWQsTUFBTTtZQVFHLFdBQVc7a0JBQXBCLE1BQU07WUFFeUIsUUFBUTtrQkFBdkMsV0FBVzttQkFBQyxpQkFBaUI7WUFROUIsTUFBTTtrQkFETCxZQUFZO21CQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQztZQXdCaEMsVUFBVTtrQkFEVCxZQUFZO21CQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQVVwQyxXQUFXO2tCQURWLFlBQVk7bUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBJRklsZSB9IGZyb20gJy4uLy4uL21vZGVscy9jaGF0JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWNoYXQtZm9ybS1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyLWNoYXQtZm9ybS1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItY2hhdC1mb3JtLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyQ2hhdEZvcm1Ecm9wZG93bkNvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZCgndGV4dEFyZWFFbGVtZW50JykgdGV4dEFyZWFFbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dDogRWxlbWVudFJlZjtcbiAgICBfdGV4dGFyZWFJbml0aWFsSGVpZ2h0ID0gdHJ1ZTtcbiAgICBpbnB1dEZvY3VzID0gZmFsc2U7XG4gICAgaW5wdXRIb3ZlciA9IGZhbHNlO1xuXG4gICAgZHJvcHBlZEZpbGVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SUZJbGVbXT4oW10pO1xuXG4gICAgQElucHV0KCkgaXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBQcmVkZWZpbmVkIG1lc3NhZ2UgdGV4dFxuICAgICAqXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICBASW5wdXQoKSBtZXNzYWdlID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBNZXNzYWdlIHBsYWNlaG9sZGVyIHRleHRcbiAgICAgKlxuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICovXG4gICAgQElucHV0KCkgbWVzc2FnZVBsYWNlaG9sZGVyID0gJ1R5cGUgYSBtZXNzYWdlJztcblxuICAgIC8qKlxuICAgICAqIFNob3cgc2VuZCBidXR0b25cbiAgICAgKlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGRyb3BGaWxlcyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRmlsZSBkcm9wIHBsYWNlaG9sZGVyIHRleHRcbiAgICAgKlxuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICovXG4gICAgQElucHV0KCkgZHJvcEZpbGVQbGFjZWhvbGRlciA9ICdEcm9wIGZpbGUgdG8gc2VuZCc7XG5cbiAgICAvKipcbiAgICAgKiBQYXJhbWV0ZXIgdG8gY2hlY2sgaXMgc2VuZCBtZXNzYWdlIGZ1bmN0aW9uIGF2YWlsYWJsZVxuICAgICAqXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgQElucHV0KCkgd2FpdEZvclJlcGx5ID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBQYXJhbWV0ZXIgdG8gY2hlY2sgaXMgc2VuZCBtZXNzYWdlIGZ1bmN0aW9uIGF2YWlsYWJsZVxuICAgICAqXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgQElucHV0KCkgc2hvd0RvdEZsYXNoaW5nID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8eyBtZXNzYWdlOiBzdHJpbmcsIGZpbGVzOiBJRmlsZVtdIH0+fVxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBzZW5kID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1lc3NhZ2U6IHN0cmluZzsgZmlsZXM6IElGSWxlW10gfT4oKTtcbiAgICBAT3V0cHV0KCkgdXBsb2FkRmlsZXMgPSBuZXcgRXZlbnRFbWl0dGVyPElGSWxlW10+KCk7XG4gICAgQE91dHB1dCgpIGFib3J0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiBtZXNzYWdlIGlucHV0IHZhbHVlIGhhcyBiZWVuIGNoYW5nZWRcbiAgICAgKlxuICAgICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8c3RyaW5nPn1cbiAgICAgKi9cblxuICAgIEBPdXRwdXQoKSBpbnB1dENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5maWxlLW92ZXInKSBmaWxlT3ZlciA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcm90ZWN0ZWQgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgKSB7fVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pXG4gICAgb25Ecm9wKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMuZHJvcEZpbGVzKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgIHRoaXMuZmlsZU92ZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVzID0gZXZlbnQuZGF0YVRyYW5zZmVyPy5maWxlcztcbiAgICAgICAgICAgIGlmIChmaWxlcykge1xuICAgICAgICAgICAgICAgIHRoaXMuc2F2ZUZpbGVzKGZpbGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZUZpbGUoZmlsZTogSUZJbGUpIHtcbiAgICAgICAgY29uc3QgZHJvcHBlZEZpbGVzID0gdGhpcy5kcm9wcGVkRmlsZXMkLnZhbHVlO1xuICAgICAgICBjb25zdCBpbmRleCA9IGRyb3BwZWRGaWxlcy5pbmRleE9mKGZpbGUpO1xuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgZHJvcHBlZEZpbGVzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB0aGlzLmRyb3BwZWRGaWxlcyQubmV4dChkcm9wcGVkRmlsZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCddKVxuICAgIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMuZHJvcEZpbGVzKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVPdmVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50J10pXG4gICAgb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMuZHJvcEZpbGVzKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVPdmVyID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZW5kTWVzc2FnZSgkZXZlbnQ6IEV2ZW50IHwgS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoISRldmVudCB8fCAhKCRldmVudCBhcyBLZXlib2FyZEV2ZW50KS5zaGlmdEtleSkge1xuICAgICAgICAgICAgJGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgJGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGlmICh0aGlzLndhaXRGb3JSZXBseSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5kcm9wcGVkRmlsZXMkLnZhbHVlLmxlbmd0aCB8fCBTdHJpbmcodGhpcy5tZXNzYWdlKS50cmltKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdGV4dGFyZWFJbml0aWFsSGVpZ2h0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbmQuZW1pdCh7IG1lc3NhZ2U6IHRoaXMubWVzc2FnZSwgZmlsZXM6IHRoaXMuZHJvcHBlZEZpbGVzJC52YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSAnJztcbiAgICAgICAgICAgICAgICB0aGlzLmRyb3BwZWRGaWxlcyQubmV4dChbXSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhYm9ydE1lc3NhZ2UoKSB7XG4gICAgICAgIHRoaXMuYWJvcnQuZW1pdCgpO1xuICAgIH1cblxuICAgIG9uTW9kZWxDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl90ZXh0YXJlYUluaXRpYWxIZWlnaHQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pbnB1dENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXRUZXh0QXJlYUhlaWdodCh0ZXh0QXJlYUVsZW1lbnQ6IEhUTUxUZXh0QXJlYUVsZW1lbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuX3RleHRhcmVhSW5pdGlhbEhlaWdodCkge1xuICAgICAgICAgICAgdGV4dEFyZWFFbGVtZW50LnN0eWxlLmhlaWdodCA9ICczMHB4JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRleHRBcmVhRWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnYXV0byc7XG4gICAgICAgICAgICB0ZXh0QXJlYUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gdGV4dEFyZWFFbGVtZW50LnNjcm9sbEhlaWdodCArICdweCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYCR7dGV4dEFyZWFFbGVtZW50LnN0eWxlLmhlaWdodH1gO1xuICAgIH1cblxuICAgIG9uRmlsZVNlbGVjdGVkKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICB0aGlzLmZpbGVPdmVyID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IGZpbGVzID0gaW5wdXQuZmlsZXM7XG4gICAgICAgIGlmIChmaWxlcyAmJiBmaWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2F2ZUZpbGVzKEFycmF5LmZyb20oZmlsZXMpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBzYXZlRmlsZXMoZmlsZXM6IEFycmF5PEZpbGU+KSB7XG4gICAgICAgIGNvbnN0IHVwbG9hZGVkRmlsZXMgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICAgICAgICBsZXQgcmVzID0gZmlsZSBhcyBJRklsZTtcbiAgICAgICAgICAgIHJlcy5kYXRhID0gKGF3YWl0IHRoaXMuYmFzZTY0Q29udmVydChyZXMpKSBhcyBzdHJpbmc7XG4gICAgICAgICAgICB0aGlzLmRyb3BwZWRGaWxlcyQubmV4dChbLi4udGhpcy5kcm9wcGVkRmlsZXMkLnZhbHVlLCByZXNdKTtcbiAgICAgICAgICAgIHVwbG9hZGVkRmlsZXMucHVzaChyZXMpO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGxvYWRGaWxlcy5lbWl0KHVwbG9hZGVkRmlsZXMubWFwKChpdGVtKSA9PiAoeyBkYXRhOiBpdGVtLmRhdGEsIG5hbWU6IGl0ZW0ubmFtZSB9KSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmFzZTY0Q29udmVydChmaWxlOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4gcmVzb2x2ZShyZWFkZXIucmVzdWx0IGFzIHN0cmluZyk7XG4gICAgICAgICAgICByZWFkZXIub25lcnJvciA9IChlcnJvcikgPT4gcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWVzc2FnZS1yb3dcIiBbbmdDbGFzc109XCJ7ICdtZXNzYWdlLXJvd19sb2FkaW5nJzogaXNMb2FkaW5nIH1cIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibWVzc2FnZS1yb3dfX2lucHV0XCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ21lc3NhZ2Utcm93X19pbnB1dC0tZm9jdXNlZCc6IGlucHV0Rm9jdXMsXG4gICAgICAgICAgICAnbWVzc2FnZS1yb3dfX2lucHV0LS1maWxsZWQnOiAhIW1lc3NhZ2U/LnRyaW0oKT8ubGVuZ3RoLFxuICAgICAgICB9XCI+XG4gICAgICAgIDxkci1jaGF0LWRyb3BwZWQtZmlsZXNcbiAgICAgICAgICAgICpuZ0lmPVwiKGRyb3BwZWRGaWxlcyQgfCBhc3luYykubGVuZ3RoXCJcbiAgICAgICAgICAgIFtmaWxlc109XCJkcm9wcGVkRmlsZXMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgW2lzUmVtb3ZhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgW21heExlbmd0aFRleHRdPVwiMTVcIlxuICAgICAgICAgICAgKHJlbW92ZUZpbGVFdmVudCk9XCJyZW1vdmVGaWxlKCRldmVudClcIj48L2RyLWNoYXQtZHJvcHBlZC1maWxlcz5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1yb3dfX2lucHV0LXRleHRhcmVhLXdyYXBcIj5cbiAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICAgICN0ZXh0QXJlYUVsZW1lbnRcbiAgICAgICAgICAgICAgICAoZm9jdXMpPVwiaW5wdXRGb2N1cyA9IHRydWVcIlxuICAgICAgICAgICAgICAgIChibHVyKT1cImlucHV0Rm9jdXMgPSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwiaW5wdXRIb3ZlciA9IHRydWVcIlxuICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cImlucHV0SG92ZXIgPSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtZXNzYWdlXCJcbiAgICAgICAgICAgICAgICBbcm93c109XCIxXCJcbiAgICAgICAgICAgICAgICBbc3R5bGVdPVwiZ2V0VGV4dEFyZWFIZWlnaHQodGV4dEFyZWFFbGVtZW50KVwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBmaWxlT3ZlciA/IGRyb3BGaWxlUGxhY2Vob2xkZXIgOiBtZXNzYWdlUGxhY2Vob2xkZXIgfX1cIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInNlbmRNZXNzYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgIDwvdGV4dGFyZWE+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1yb3dfX2J0bnNcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDxpbnB1dCAjZmlsZUlucHV0IHR5cGU9XCJmaWxlXCIgaGlkZGVuIG11bHRpcGxlIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0ZWQoJGV2ZW50KVwiIC8+XG4gICAgICAgICAgICA8aSAqbmdJZj1cIiF3YWl0Rm9yUmVwbHlcIiAoY2xpY2spPVwic2VuZE1lc3NhZ2UoJGV2ZW50KVwiIGNsYXNzPVwiZHItaWNvbi1zZW5kLWFycm93LXVwIHNlbmQtYnV0dG9uXCI+PC9pPlxuXG4gICAgICAgICAgICA8aSAqbmdJZj1cIndhaXRGb3JSZXBseSAmJiAhc2hvd0RvdEZsYXNoaW5nXCIgY2xhc3M9XCJkci1pY29uLXN0b3AgYWJvcnQtYnV0dG9uXCIgKGNsaWNrKT1cImFib3J0TWVzc2FnZSgpXCI+PC9pPlxuICAgICAgICAgICAgPGRyLWRvdC1mbGFzaGluZyAqbmdJZj1cIndhaXRGb3JSZXBseSAmJiBzaG93RG90Rmxhc2hpbmdcIiBjbGFzcz1cIndhaXQtcmVwbHktZG90LWZsYXNoaW5nXCI+PC9kci1kb3QtZmxhc2hpbmc+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -47,6 +47,8 @@ export class DrDropdownDirective {
|
|
|
47
47
|
asChild: !!this.child,
|
|
48
48
|
providers: [{ provide: DropdownInstanceService, useValue: this.dropdownInstanceService }],
|
|
49
49
|
action$: this.drDropdownAction,
|
|
50
|
+
positionOffsetX: this.drDropdownPositionOffsetX,
|
|
51
|
+
positionOffsetY: this.drDropdownPositionOffsetY,
|
|
50
52
|
options: {
|
|
51
53
|
drDropdownInHover: this.drDropdownInHover,
|
|
52
54
|
position: this.drDropdownPosition,
|
|
@@ -70,7 +72,7 @@ export class DrDropdownDirective {
|
|
|
70
72
|
/** @nocollapse */ static { this.ɵfac = function DrDropdownDirective_Factory(t) { return new (t || DrDropdownDirective)(); }; }
|
|
71
73
|
/** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: DrDropdownDirective, selectors: [["", "drDropdown", ""]], hostBindings: function DrDropdownDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
|
72
74
|
i0.ɵɵlistener("mouseenter", function DrDropdownDirective_mouseenter_HostBindingHandler() { return ctx.elementHover(); })("click", function DrDropdownDirective_click_HostBindingHandler() { return ctx.elementClick(); })("mouseleave", function DrDropdownDirective_mouseleave_HostBindingHandler() { return ctx.leaveDropdownTriggerElement(); })("mouseup", function DrDropdownDirective_mouseup_HostBindingHandler() { return ctx.documentClick(); }, false, i0.ɵɵresolveDocument);
|
|
73
|
-
} }, inputs: { drDropdown: "drDropdown", drDropdownPosition: "drDropdownPosition", drDropdownClass: "drDropdownClass", drDropdownInHover: "drDropdownInHover", dataAnalytics: ["data-analytics", "dataAnalytics"] }, outputs: { drDropdownAction: "drDropdownAction", dropdownClosed: "drDropdownClose", dropdownOpened: "drDropdownOpened" }, features: [i0.ɵɵProvidersFeature([
|
|
75
|
+
} }, inputs: { drDropdown: "drDropdown", drDropdownPosition: "drDropdownPosition", drDropdownClass: "drDropdownClass", drDropdownInHover: "drDropdownInHover", dataAnalytics: ["data-analytics", "dataAnalytics"], drDropdownPositionOffsetX: "drDropdownPositionOffsetX", drDropdownPositionOffsetY: "drDropdownPositionOffsetY" }, outputs: { drDropdownAction: "drDropdownAction", dropdownClosed: "drDropdownClose", dropdownOpened: "drDropdownOpened" }, features: [i0.ɵɵProvidersFeature([
|
|
74
76
|
{
|
|
75
77
|
provide: DropdownInstanceService,
|
|
76
78
|
useFactory: ((injector) => {
|
|
@@ -108,6 +110,10 @@ export class DrDropdownDirective {
|
|
|
108
110
|
}], dataAnalytics: [{
|
|
109
111
|
type: Input,
|
|
110
112
|
args: [{ alias: 'data-analytics' }]
|
|
113
|
+
}], drDropdownPositionOffsetX: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}], drDropdownPositionOffsetY: [{
|
|
116
|
+
type: Input
|
|
111
117
|
}], drDropdownAction: [{
|
|
112
118
|
type: Output
|
|
113
119
|
}], dropdownClosed: [{
|
|
@@ -139,4 +145,4 @@ export class DrDropdownChildDirective {
|
|
|
139
145
|
selector: '[drDropdownChild]',
|
|
140
146
|
}]
|
|
141
147
|
}], null, null); })();
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQWlCbkYsTUFBTSxPQUFPLG1CQUFtQjtJQWJoQztRQWNxQixlQUFVLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUM7UUFDN0MsWUFBTyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3BDLFVBQUssR0FBRyxNQUFNLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLDRCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBSzNFLHVCQUFrQixHQUFlLFVBQVUsQ0FBQztRQWE1QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUMvQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDekMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBSXJELHNCQUFpQixHQUFHLEdBQUcsQ0FBQztLQXFFNUM7SUFsRUcsWUFBWTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCO1lBQUUsT0FBTztRQUNwQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUdELFlBQVk7UUFD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OzRCQUMvQixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLHVCQUF1QixFQUFFLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDOzRCQUNoRixPQUFPLE9BQU8sSUFBSSxJQUFJLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUM1RCxDQUFDLENBQUE7d0JBQ0QsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDO3FCQUNuQjtpQkFDSjthQUNKO2dCQVFHLFVBQVU7a0JBRFQsS0FBSzttQkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7WUFHekIsa0JBQWtCO2tCQURqQixLQUFLO1lBR04sZUFBZTtrQkFEZCxLQUFLO1lBR04saUJBQWlCO2tCQURoQixLQUFLO1lBR04sYUFBYTtrQkFEWixLQUFLO21CQUFDLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFO1lBR3pCLHlCQUF5QjtrQkFBakMsS0FBSztZQUVHLHlCQUF5QjtrQkFBakMsS0FBSztZQUdOLGdCQUFnQjtrQkFEZixNQUFNO1lBRW9CLGNBQWM7a0JBQXhDLE1BQU07bUJBQUMsaUJBQWlCO1lBQ0csY0FBYztrQkFBekMsTUFBTTttQkFBQyxrQkFBa0I7WUFPMUIsWUFBWTtrQkFEWCxZQUFZO21CQUFDLFlBQVk7WUFPMUIsWUFBWTtrQkFEWCxZQUFZO21CQUFDLE9BQU87WUFNckIsMkJBQTJCO2tCQUQxQixZQUFZO21CQUFDLFlBQVk7WUFZMUIsYUFBYTtrQkFEWixZQUFZO21CQUFDLGtCQUFrQjs7QUFrRHBDLE1BQU0sT0FBTyx3QkFBd0I7NEdBQXhCLHdCQUF3QjttR0FBeEIsd0JBQXdCOzt1RkFBeEIsd0JBQXdCO2NBSHBDLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsbUJBQW1CO2FBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBJbmplY3RvciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbFBvc2l0aW9uLCBJRHJvcGRvd25BY3Rpb24sIElEcm9wZG93bkl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgRHJEcm9wZG93blNlcnZpY2UsIERyb3Bkb3duSW5zdGFuY2VTZXJ2aWNlIH0gZnJvbSAnLi9kci1kcm9wZG93bi5zZXJ2aWNlJztcbmltcG9ydCB7IERyRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2RyLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEclBvcG92ZXJSZWYgfSBmcm9tICcuLi9tb2RlbHMvcG9wb3Zlcic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2RyRHJvcGRvd25dJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRHJvcGRvd25JbnN0YW5jZVNlcnZpY2UsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VydmljZSA9IGluamVjdG9yLmdldChEcm9wZG93bkluc3RhbmNlU2VydmljZSwgbnVsbCwgeyBza2lwU2VsZjogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VydmljZSA/PyBuZXcgRHJvcGRvd25JbnN0YW5jZVNlcnZpY2UoaW5qZWN0b3IpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRlcHM6IFtJbmplY3Rvcl0sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJEcm9wZG93bkRpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2UgPSBpbmplY3QoRHJEcm9wZG93blNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hpbGQgPSBpbmplY3QoRHJEcm9wZG93bkNoaWxkRGlyZWN0aXZlLCB7IG9wdGlvbmFsOiB0cnVlLCBzZWxmOiB0cnVlIH0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25JbnN0YW5jZVNlcnZpY2UgPSBpbmplY3QoRHJvcGRvd25JbnN0YW5jZVNlcnZpY2UpO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBkckRyb3Bkb3duOiBJRHJvcGRvd25JdGVtPFQ+W107XG4gICAgQElucHV0KClcbiAgICBkckRyb3Bkb3duUG9zaXRpb246IEVsUG9zaXRpb24gPSAnbGVmdC10b3AnO1xuICAgIEBJbnB1dCgpXG4gICAgZHJEcm9wZG93bkNsYXNzOiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBkckRyb3Bkb3duSW5Ib3ZlcjogYm9vbGVhbjtcbiAgICBASW5wdXQoeyBhbGlhczogJ2RhdGEtYW5hbHl0aWNzJyB9KVxuICAgIGRhdGFBbmFseXRpY3M6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGRyRHJvcGRvd25Qb3NpdGlvbk9mZnNldFg6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIGRyRHJvcGRvd25Qb3NpdGlvbk9mZnNldFk6IG51bWJlcjtcblxuICAgIEBPdXRwdXQoKVxuICAgIGRyRHJvcGRvd25BY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPElEcm9wZG93bkFjdGlvbjxUPj4oKTtcbiAgICBAT3V0cHV0KCdkckRyb3Bkb3duQ2xvc2UnKSBkcm9wZG93bkNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCdkckRyb3Bkb3duT3BlbmVkJykgZHJvcGRvd25PcGVuZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBwcml2YXRlIHJlZjogRHJQb3BvdmVyUmVmPERyRHJvcGRvd25Db21wb25lbnQ+O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBtb3VzZWxlYXZlVGltZW91dCA9IDIwMDtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxuICAgIGVsZW1lbnRIb3ZlcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRyRHJvcGRvd25JbkhvdmVyKSByZXR1cm47XG4gICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIGVsZW1lbnRDbGljaygpIHtcbiAgICAgICAgdGhpcy5vcGVuRHJvcGRvd24oKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcbiAgICBsZWF2ZURyb3Bkb3duVHJpZ2dlckVsZW1lbnQoKSB7XG4gICAgICAgIGlmICh0aGlzLmRyRHJvcGRvd25JbkhvdmVyKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5yZWYgJiYgIXRoaXMucmVmLmluc3RhbmNlLndhc0hvdmVyZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHRoaXMubW91c2VsZWF2ZVRpbWVvdXQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcpXG4gICAgZG9jdW1lbnRDbGljaygpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3BlbkRyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZHJEcm9wZG93bj8ubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5yZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVmID0gdGhpcy5zZXJ2aWNlLm9wZW4oe1xuICAgICAgICAgICAgaG9zdFJlZjogdGhpcy5lbGVtZW50UmVmLFxuICAgICAgICAgICAgcG9zaXRpb246IHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLFxuICAgICAgICAgICAgYXNDaGlsZDogISF0aGlzLmNoaWxkLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBEcm9wZG93bkluc3RhbmNlU2VydmljZSwgdXNlVmFsdWU6IHRoaXMuZHJvcGRvd25JbnN0YW5jZVNlcnZpY2UgfV0sXG4gICAgICAgICAgICBhY3Rpb24kOiB0aGlzLmRyRHJvcGRvd25BY3Rpb24sXG4gICAgICAgICAgICBwb3NpdGlvbk9mZnNldFg6IHRoaXMuZHJEcm9wZG93blBvc2l0aW9uT2Zmc2V0WCxcbiAgICAgICAgICAgIHBvc2l0aW9uT2Zmc2V0WTogdGhpcy5kckRyb3Bkb3duUG9zaXRpb25PZmZzZXRZLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgIGRyRHJvcGRvd25JbkhvdmVyOiB0aGlzLmRyRHJvcGRvd25JbkhvdmVyLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbixcbiAgICAgICAgICAgICAgICBsaXN0OiB0aGlzLmRyRHJvcGRvd24sXG4gICAgICAgICAgICAgICAgY2xhc3M6IHRoaXMuZHJEcm9wZG93bkNsYXNzLFxuICAgICAgICAgICAgICAgIGRhdGFBbmFseXRpY3M6IHRoaXMuZGF0YUFuYWx5dGljcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRyb3Bkb3duT3BlbmVkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yZWYpIHtcbiAgICAgICAgICAgIHRoaXMucmVmLmNsb3NlKCk7XG4gICAgICAgICAgICB0aGlzLnJlZiA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duQ2xvc2VkLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZHJEcm9wZG93bkNoaWxkXScsXG59KVxuZXhwb3J0IGNsYXNzIERyRHJvcGRvd25DaGlsZERpcmVjdGl2ZSB7fVxuIl19
|