@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.
@@ -14,7 +14,7 @@ import { isNil, isObject, cloneDeep, find, indexOf, reduce, map as map$1, isNumb
14
14
  import { skip, takeUntil as takeUntil$1, startWith as startWith$1, distinctUntilChanged as distinctUntilChanged$1, map, tap, shareReplay, filter, debounceTime, switchMap, first, catchError, finalize, take } from 'rxjs/operators';
15
15
  import * as i5 from '@angular/material/datepicker';
16
16
  import { MatCalendar, DateRange, MAT_DATE_RANGE_SELECTION_STRATEGY, MatDatepickerModule } from '@angular/material/datepicker';
17
- import { transition, style, animate, trigger, state, query, animateChild } from '@angular/animations';
17
+ import { transition, style, animate, trigger, state } from '@angular/animations';
18
18
  import * as i1$1 from '@angular/cdk/overlay';
19
19
  import { OverlayConfig } from '@angular/cdk/overlay';
20
20
  import * as i4 from '@angular/cdk/portal';
@@ -1022,13 +1022,13 @@ const _c1$h = ["multiLabelTemplate"];
1022
1022
  const _c2$7 = ["optionTemplate"];
1023
1023
  const _c3$6 = ["optionHeaderTemplate"];
1024
1024
  const _c4$3 = ["optionFooterTemplate"];
1025
- const _c5$1 = function (a0) { return { item: a0 }; };
1025
+ const _c5 = function (a0) { return { item: a0 }; };
1026
1026
  function DrSelectComponent_2_ng_template_0_Template(rf, ctx) { if (rf & 1) {
1027
1027
  i0.ɵɵelementContainer(0, 6);
1028
1028
  } if (rf & 2) {
1029
1029
  const item_r11 = ctx.item;
1030
1030
  const ctx_r10 = i0.ɵɵnextContext(2);
1031
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r10.optionHeaderTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c5$1, item_r11));
1031
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r10.optionHeaderTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c5, item_r11));
1032
1032
  } }
1033
1033
  function DrSelectComponent_2_Template(rf, ctx) { if (rf & 1) {
1034
1034
  i0.ɵɵtemplate(0, DrSelectComponent_2_ng_template_0_Template, 1, 4, "ng-template", 5);
@@ -1038,19 +1038,19 @@ function DrSelectComponent_3_ng_template_0_Template(rf, ctx) { if (rf & 1) {
1038
1038
  } if (rf & 2) {
1039
1039
  const item_r13 = ctx.item;
1040
1040
  const ctx_r12 = i0.ɵɵnextContext(2);
1041
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r12.labelTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c5$1, item_r13));
1041
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r12.labelTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c5, item_r13));
1042
1042
  } }
1043
1043
  function DrSelectComponent_3_Template(rf, ctx) { if (rf & 1) {
1044
1044
  i0.ɵɵtemplate(0, DrSelectComponent_3_ng_template_0_Template, 1, 4, "ng-template", 7);
1045
1045
  } }
1046
- const _c6$1 = function (a0, a1) { return { items: a0, clear: a1 }; };
1046
+ const _c6 = function (a0, a1) { return { items: a0, clear: a1 }; };
1047
1047
  function DrSelectComponent_4_ng_template_0_Template(rf, ctx) { if (rf & 1) {
1048
1048
  i0.ɵɵelementContainer(0, 6);
1049
1049
  } if (rf & 2) {
1050
1050
  const items_r15 = ctx.items;
1051
1051
  const clear_r16 = ctx.clear;
1052
1052
  const ctx_r14 = i0.ɵɵnextContext(2);
1053
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r14.multiLabelTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c6$1, items_r15, clear_r16));
1053
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r14.multiLabelTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c6, items_r15, clear_r16));
1054
1054
  } }
1055
1055
  function DrSelectComponent_4_Template(rf, ctx) { if (rf & 1) {
1056
1056
  i0.ɵɵtemplate(0, DrSelectComponent_4_ng_template_0_Template, 1, 5, "ng-template", 8);
@@ -6485,8 +6485,8 @@ function DrChatComponent_dr_chat_suggestions_7_Template(rf, ctx) { if (rf & 1) {
6485
6485
  i0.ɵɵclassProp("chat__suggestions--full-height", ctx_r3.fullScreen && !(ctx_r3.messages == null ? null : ctx_r3.messages.length));
6486
6486
  i0.ɵɵproperty("values", ctx_r3.suggestions)("fullScreen", ctx_r3.fullScreen)("waitForReply", ctx_r3.waitForReply)("buttonMode", !!(ctx_r3.messages == null ? null : ctx_r3.messages.length));
6487
6487
  } }
6488
- const _c2$3 = [[["dr-chat-alert"]], [["dr-chat-form"]], [["dr-chat-form-with-history"]], [["dr-chat-message"]]];
6489
- const _c3$3 = ["dr-chat-alert", "dr-chat-form", "dr-chat-form-with-history", "dr-chat-message"];
6488
+ const _c2$3 = [[["dr-chat-alert"]], [["dr-chat-form"]], [["dr-ai-search-input"]], [["dr-chat-message"]]];
6489
+ const _c3$3 = ["dr-chat-alert", "dr-chat-form", "dr-ai-search-input", "dr-chat-message"];
6490
6490
  class DrChatComponent {
6491
6491
  set contentUpdateSubject(value) {
6492
6492
  if (value) {
@@ -6607,7 +6607,7 @@ class DrChatComponent {
6607
6607
  }
6608
6608
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrChatComponent, [{
6609
6609
  type: Component,
6610
- 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-chat-form-with-history\"></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"] }]
6610
+ 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"] }]
6611
6611
  }], function () { return [{ type: i0.ChangeDetectorRef }]; }, { fullScreen: [{
6612
6612
  type: Input
6613
6613
  }], noMessagesPlaceholder: [{
@@ -6641,149 +6641,37 @@ class DrChatComponent {
6641
6641
  args: [DrChatSuggestionsComponent]
6642
6642
  }] }); })();
6643
6643
 
6644
- class ClickOutsideDirective {
6645
- constructor(_document /*: HTMLDocument*/, _el) {
6646
- this._document = _document;
6647
- this._el = _el;
6648
- this.attachOutsideOnClick = false;
6649
- this.exclude = '';
6650
- this.clickOutside = new EventEmitter();
6651
- this._nodesExcluded = [];
6652
- this._initOnClickBody = this._initOnClickBody.bind(this);
6653
- this._onClickBody = this._onClickBody.bind(this);
6654
- }
6655
- ngOnInit() {
6656
- this._init();
6657
- }
6658
- ngOnDestroy() {
6659
- if (this.attachOutsideOnClick) {
6660
- this._el.nativeElement.removeEventListener('click', this._initOnClickBody);
6661
- }
6662
- this._document.body.removeEventListener('click', this._onClickBody);
6663
- }
6664
- ngOnChanges(changes) {
6665
- if (changes['attachOutsideOnClick'] || changes['exclude']) {
6666
- this._init();
6667
- }
6668
- }
6669
- _init() {
6670
- if (this.exclude) {
6671
- this.exclude.split(',').forEach((selector) => {
6672
- if (selector) {
6673
- try {
6674
- const node = this._document.querySelector(selector.trim());
6675
- if (node) {
6676
- this._nodesExcluded.push(node);
6677
- }
6678
- }
6679
- catch (err) {
6680
- if (window.console) {
6681
- window.console.error('[ng2-click-outside] Check your exclude selector syntax.', err);
6682
- }
6683
- }
6684
- }
6685
- });
6686
- }
6687
- if (this.attachOutsideOnClick) {
6688
- this._el.nativeElement.addEventListener('click', this._initOnClickBody);
6689
- }
6690
- else {
6691
- this._initOnClickBody();
6692
- }
6693
- }
6694
- /** @internal */
6695
- _initOnClickBody() {
6696
- this._document.body.addEventListener('click', this._onClickBody);
6697
- }
6698
- /** @internal */
6699
- _onClickBody(e) {
6700
- if (!this._el.nativeElement.contains(e.target) && !this._shouldExclude(e.target)) {
6701
- this.clickOutside.emit(e);
6702
- if (this.attachOutsideOnClick) {
6703
- this._document.body.removeEventListener('click', this._onClickBody);
6704
- }
6705
- }
6706
- }
6707
- /** @internal */
6708
- _shouldExclude(target) {
6709
- for (let i = 0; i < this._nodesExcluded.length; i++) {
6710
- if (this._nodesExcluded[i].contains(target)) {
6711
- return true;
6712
- }
6713
- }
6714
- return false;
6715
- }
6716
- /** @nocollapse */ static { this.ɵfac = function ClickOutsideDirective_Factory(t) { return new (t || ClickOutsideDirective)(i0.ɵɵdirectiveInject(DOCUMENT), i0.ɵɵdirectiveInject(i0.ElementRef)); }; }
6717
- /** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: ClickOutsideDirective, selectors: [["", "clickOutside", ""]], inputs: { attachOutsideOnClick: "attachOutsideOnClick", exclude: "exclude" }, outputs: { clickOutside: "clickOutside" }, features: [i0.ɵɵNgOnChangesFeature] }); }
6718
- }
6719
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ClickOutsideDirective, [{
6720
- type: Directive,
6721
- args: [{ selector: '[clickOutside]' }]
6722
- }], function () { return [{ type: undefined, decorators: [{
6723
- type: Inject,
6724
- args: [DOCUMENT]
6725
- }] }, { type: i0.ElementRef }]; }, { attachOutsideOnClick: [{
6726
- type: Input
6727
- }], exclude: [{
6728
- type: Input
6729
- }], clickOutside: [{
6730
- type: Output
6731
- }] }); })();
6732
-
6733
6644
  const _c0$n = ["textAreaElement"];
6734
6645
  const _c1$9 = ["fileInput"];
6735
- function DrChatFormWithHistoryComponent_dr_chat_dropped_files_2_Template(rf, ctx) { if (rf & 1) {
6736
- const _r8 = i0.ɵɵgetCurrentView();
6737
- i0.ɵɵelementStart(0, "dr-chat-dropped-files", 15);
6738
- i0.ɵɵlistener("removeFileEvent", function DrChatFormWithHistoryComponent_dr_chat_dropped_files_2_Template_dr_chat_dropped_files_removeFileEvent_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.removeFile($event)); });
6646
+ function DrChatFormDropdownComponent_dr_chat_dropped_files_2_Template(rf, ctx) { if (rf & 1) {
6647
+ const _r7 = i0.ɵɵgetCurrentView();
6648
+ i0.ɵɵelementStart(0, "dr-chat-dropped-files", 12);
6649
+ 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)); });
6739
6650
  i0.ɵɵpipe(1, "async");
6740
6651
  i0.ɵɵelementEnd();
6741
6652
  } if (rf & 2) {
6742
6653
  const ctx_r0 = i0.ɵɵnextContext();
6743
6654
  i0.ɵɵproperty("files", i0.ɵɵpipeBind1(1, 3, ctx_r0.droppedFiles$))("isRemovable", true)("maxLengthText", 15);
6744
6655
  } }
6745
- function DrChatFormWithHistoryComponent_i_14_Template(rf, ctx) { if (rf & 1) {
6746
- const _r10 = i0.ɵɵgetCurrentView();
6747
- i0.ɵɵelementStart(0, "i", 16);
6748
- i0.ɵɵlistener("click", function DrChatFormWithHistoryComponent_i_14_Template_i_click_0_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.sendMessage($event)); });
6656
+ function DrChatFormDropdownComponent_i_12_Template(rf, ctx) { if (rf & 1) {
6657
+ const _r9 = i0.ɵɵgetCurrentView();
6658
+ i0.ɵɵelementStart(0, "i", 13);
6659
+ 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)); });
6749
6660
  i0.ɵɵelementEnd();
6750
- } if (rf & 2) {
6751
- const ctx_r3 = i0.ɵɵnextContext();
6752
- const _r1 = i0.ɵɵreference(6);
6753
- i0.ɵɵstyleMap(ctx_r3.getSendButtonPosition(_r1));
6754
6661
  } }
6755
- function DrChatFormWithHistoryComponent_i_15_Template(rf, ctx) { if (rf & 1) {
6756
- const _r12 = i0.ɵɵgetCurrentView();
6757
- i0.ɵɵelementStart(0, "i", 17);
6758
- i0.ɵɵlistener("click", function DrChatFormWithHistoryComponent_i_15_Template_i_click_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r11.abortMessage()); });
6662
+ function DrChatFormDropdownComponent_i_13_Template(rf, ctx) { if (rf & 1) {
6663
+ const _r11 = i0.ɵɵgetCurrentView();
6664
+ i0.ɵɵelementStart(0, "i", 14);
6665
+ 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()); });
6759
6666
  i0.ɵɵelementEnd();
6760
- } if (rf & 2) {
6761
- const ctx_r4 = i0.ɵɵnextContext();
6762
- const _r1 = i0.ɵɵreference(6);
6763
- i0.ɵɵstyleMap(ctx_r4.getSendButtonPosition(_r1));
6764
6667
  } }
6765
- function DrChatFormWithHistoryComponent_dr_dot_flashing_16_Template(rf, ctx) { if (rf & 1) {
6766
- i0.ɵɵelement(0, "dr-dot-flashing", 18);
6767
- } }
6768
- function DrChatFormWithHistoryComponent_ng_container_17_Template(rf, ctx) { if (rf & 1) {
6769
- const _r14 = i0.ɵɵgetCurrentView();
6770
- i0.ɵɵelementContainerStart(0);
6771
- i0.ɵɵelementStart(1, "div", 19);
6772
- i0.ɵɵlistener("clickOutside", function DrChatFormWithHistoryComponent_ng_container_17_Template_div_clickOutside_1_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.closeHistory()); });
6773
- i0.ɵɵprojection(2);
6774
- i0.ɵɵelementEnd();
6775
- i0.ɵɵelementContainerEnd();
6776
- } if (rf & 2) {
6777
- const ctx_r6 = i0.ɵɵnextContext();
6778
- i0.ɵɵadvance(1);
6779
- i0.ɵɵproperty("@dropdownAnimation", ctx_r6.isShowedHistory ? "visible" : "hidden")("exclude", ".dr-icon-history");
6668
+ function DrChatFormDropdownComponent_dr_dot_flashing_14_Template(rf, ctx) { if (rf & 1) {
6669
+ i0.ɵɵelement(0, "dr-dot-flashing", 15);
6780
6670
  } }
6781
6671
  const _c2$2 = function (a0) { return { "message-row_loading": a0 }; };
6782
- const _c3$2 = function (a0) { return { height: a0 }; };
6783
- const _c4$1 = function (a0, a1) { return { value: a0, params: a1 }; };
6784
- const _c5 = function (a0, a1, a2) { return { "message-row__input--focused": a0, "message-row__input--filled": a1, "showed-dropdown": a2 }; };
6785
- const _c6 = ["*"];
6786
- class DrChatFormWithHistoryComponent {
6672
+ const _c3$2 = function (a0, a1) { return { "message-row__input--focused": a0, "message-row__input--filled": a1 }; };
6673
+ const _c4$1 = ["*"];
6674
+ class DrChatFormDropdownComponent {
6787
6675
  constructor(cdr, domSanitizer) {
6788
6676
  this.cdr = cdr;
6789
6677
  this.domSanitizer = domSanitizer;
@@ -6791,8 +6679,6 @@ class DrChatFormWithHistoryComponent {
6791
6679
  this.inputFocus = false;
6792
6680
  this.inputHover = false;
6793
6681
  this.droppedFiles$ = new BehaviorSubject([]);
6794
- this.isShowedHistory = false;
6795
- this.isChatMode = false;
6796
6682
  this.isLoading = false;
6797
6683
  /**
6798
6684
  * Predefined message text
@@ -6903,7 +6789,7 @@ class DrChatFormWithHistoryComponent {
6903
6789
  }
6904
6790
  getTextAreaHeight(textAreaElement) {
6905
6791
  if (this._textareaInitialHeight) {
6906
- textAreaElement.style.height = '48px';
6792
+ textAreaElement.style.height = '30px';
6907
6793
  }
6908
6794
  else {
6909
6795
  textAreaElement.style.height = 'auto';
@@ -6911,21 +6797,12 @@ class DrChatFormWithHistoryComponent {
6911
6797
  }
6912
6798
  return `${textAreaElement.style.height}`;
6913
6799
  }
6914
- getSendButtonPosition(textAreaElement) {
6915
- return `top: calc(${this.getTextAreaHeight(textAreaElement)} - var(--send-button-offset));`;
6916
- }
6917
- showHistory() {
6918
- this.isShowedHistory = !this.isShowedHistory;
6919
- }
6920
- closeHistory() {
6921
- this.isShowedHistory = false;
6922
- this.cdr.markForCheck();
6923
- }
6924
6800
  onFileSelected(event) {
6925
6801
  const input = event.target;
6926
6802
  this.fileOver = false;
6927
- if (input.files.length) {
6928
- this.saveFiles(Array.from(input.files));
6803
+ const files = input.files;
6804
+ if (files && files.length) {
6805
+ this.saveFiles(Array.from(files));
6929
6806
  }
6930
6807
  this.fileInput.nativeElement.value = '';
6931
6808
  }
@@ -6949,132 +6826,65 @@ class DrChatFormWithHistoryComponent {
6949
6826
  reader.readAsDataURL(file);
6950
6827
  });
6951
6828
  }
6952
- /** @nocollapse */ static { this.ɵfac = function DrChatFormWithHistoryComponent_Factory(t) { return new (t || DrChatFormWithHistoryComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1$5.DomSanitizer)); }; }
6953
- /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrChatFormWithHistoryComponent, selectors: [["dr-chat-form-with-history"]], viewQuery: function DrChatFormWithHistoryComponent_Query(rf, ctx) { if (rf & 1) {
6829
+ /** @nocollapse */ static { this.ɵfac = function DrChatFormDropdownComponent_Factory(t) { return new (t || DrChatFormDropdownComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1$5.DomSanitizer)); }; }
6830
+ /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrChatFormDropdownComponent, selectors: [["dr-chat-form-dropdown"]], viewQuery: function DrChatFormDropdownComponent_Query(rf, ctx) { if (rf & 1) {
6954
6831
  i0.ɵɵviewQuery(_c0$n, 5);
6955
6832
  i0.ɵɵviewQuery(_c1$9, 5);
6956
6833
  } if (rf & 2) {
6957
6834
  let _t;
6958
6835
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.textAreaElementRef = _t.first);
6959
6836
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.fileInput = _t.first);
6960
- } }, hostVars: 2, hostBindings: function DrChatFormWithHistoryComponent_HostBindings(rf, ctx) { if (rf & 1) {
6961
- i0.ɵɵlistener("drop", function DrChatFormWithHistoryComponent_drop_HostBindingHandler($event) { return ctx.onDrop($event); })("dragover", function DrChatFormWithHistoryComponent_dragover_HostBindingHandler($event) { return ctx.onDragOver($event); })("dragleave", function DrChatFormWithHistoryComponent_dragleave_HostBindingHandler($event) { return ctx.onDragLeave($event); });
6837
+ } }, hostVars: 2, hostBindings: function DrChatFormDropdownComponent_HostBindings(rf, ctx) { if (rf & 1) {
6838
+ 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); });
6962
6839
  } if (rf & 2) {
6963
6840
  i0.ɵɵclassProp("file-over", ctx.fileOver);
6964
- } }, inputs: { isChatMode: "isChatMode", isLoading: "isLoading", message: "message", messagePlaceholder: "messagePlaceholder", dropFiles: "dropFiles", dropFilePlaceholder: "dropFilePlaceholder", waitForReply: "waitForReply", showDotFlashing: "showDotFlashing" }, outputs: { send: "send", uploadFiles: "uploadFiles", abort: "abort", inputChange: "inputChange" }, ngContentSelectors: _c6, decls: 18, vars: 27, 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-input-tmp"], ["type", "file", "hidden", "", "multiple", "", 3, "change"], ["fileInput", ""], [1, "dr-icon-history", 3, "click"], [1, "dr-icon-attachment", 3, "click"], ["class", "dr-icon-send-arrow-up send-button", 3, "style", "click", 4, "ngIf"], ["class", "dr-icon-stop abort-button", 3, "style", "click", 4, "ngIf"], ["class", "wait-reply-dot-flashing", 4, "ngIf"], [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"], [1, "history-dropdown", 3, "exclude", "clickOutside"]], template: function DrChatFormWithHistoryComponent_Template(rf, ctx) { if (rf & 1) {
6965
- const _r15 = i0.ɵɵgetCurrentView();
6841
+ } }, 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$1, 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) {
6966
6842
  i0.ɵɵprojectionDef();
6967
6843
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
6968
- i0.ɵɵtemplate(2, DrChatFormWithHistoryComponent_dr_chat_dropped_files_2_Template, 2, 5, "dr-chat-dropped-files", 2);
6844
+ i0.ɵɵtemplate(2, DrChatFormDropdownComponent_dr_chat_dropped_files_2_Template, 2, 5, "dr-chat-dropped-files", 2);
6969
6845
  i0.ɵɵpipe(3, "async");
6970
6846
  i0.ɵɵelementStart(4, "div", 3)(5, "textarea", 4, 5);
6971
- i0.ɵɵlistener("focus", function DrChatFormWithHistoryComponent_Template_textarea_focus_5_listener() { return ctx.inputFocus = true; })("blur", function DrChatFormWithHistoryComponent_Template_textarea_blur_5_listener() { return ctx.inputFocus = false; })("mouseenter", function DrChatFormWithHistoryComponent_Template_textarea_mouseenter_5_listener() { return ctx.inputHover = true; })("mouseleave", function DrChatFormWithHistoryComponent_Template_textarea_mouseleave_5_listener() { return ctx.inputHover = false; })("ngModelChange", function DrChatFormWithHistoryComponent_Template_textarea_ngModelChange_5_listener($event) { return ctx.message = $event; })("ngModelChange", function DrChatFormWithHistoryComponent_Template_textarea_ngModelChange_5_listener($event) { return ctx.onModelChange($event); })("keydown.enter", function DrChatFormWithHistoryComponent_Template_textarea_keydown_enter_5_listener($event) { return ctx.sendMessage($event); });
6847
+ 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); });
6972
6848
  i0.ɵɵtext(7, " ");
6973
- i0.ɵɵelementEnd();
6849
+ i0.ɵɵelementEnd()();
6974
6850
  i0.ɵɵelementStart(8, "div", 6);
6975
- i0.ɵɵtext(9);
6976
- i0.ɵɵelementEnd();
6851
+ i0.ɵɵprojection(9);
6977
6852
  i0.ɵɵelementStart(10, "input", 7, 8);
6978
- i0.ɵɵlistener("change", function DrChatFormWithHistoryComponent_Template_input_change_10_listener($event) { return ctx.onFileSelected($event); });
6979
- i0.ɵɵelementEnd();
6980
- i0.ɵɵelementStart(12, "i", 9);
6981
- i0.ɵɵlistener("click", function DrChatFormWithHistoryComponent_Template_i_click_12_listener() { return ctx.showHistory(); });
6982
- i0.ɵɵelementEnd();
6983
- i0.ɵɵelementStart(13, "i", 10);
6984
- i0.ɵɵlistener("click", function DrChatFormWithHistoryComponent_Template_i_click_13_listener() { i0.ɵɵrestoreView(_r15); const _r2 = i0.ɵɵreference(11); return i0.ɵɵresetView(_r2.click()); });
6985
- i0.ɵɵelementEnd();
6986
- i0.ɵɵtemplate(14, DrChatFormWithHistoryComponent_i_14_Template, 1, 2, "i", 11);
6987
- i0.ɵɵtemplate(15, DrChatFormWithHistoryComponent_i_15_Template, 1, 2, "i", 12);
6988
- i0.ɵɵtemplate(16, DrChatFormWithHistoryComponent_dr_dot_flashing_16_Template, 1, 0, "dr-dot-flashing", 13);
6853
+ i0.ɵɵlistener("change", function DrChatFormDropdownComponent_Template_input_change_10_listener($event) { return ctx.onFileSelected($event); });
6989
6854
  i0.ɵɵelementEnd();
6990
- i0.ɵɵtemplate(17, DrChatFormWithHistoryComponent_ng_container_17_Template, 3, 2, "ng-container", 14);
6991
- i0.ɵɵelementEnd()();
6855
+ i0.ɵɵtemplate(12, DrChatFormDropdownComponent_i_12_Template, 1, 0, "i", 9);
6856
+ i0.ɵɵtemplate(13, DrChatFormDropdownComponent_i_13_Template, 1, 0, "i", 10);
6857
+ i0.ɵɵtemplate(14, DrChatFormDropdownComponent_dr_dot_flashing_14_Template, 1, 0, "dr-dot-flashing", 11);
6858
+ i0.ɵɵelementEnd()()();
6992
6859
  } if (rf & 2) {
6993
6860
  const _r1 = i0.ɵɵreference(6);
6994
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(16, _c2$2, ctx.isLoading));
6861
+ let tmp_1_0;
6862
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c2$2, ctx.isLoading));
6995
6863
  i0.ɵɵadvance(1);
6996
- i0.ɵɵproperty("@containerHeightAnimation", i0.ɵɵpureFunction2(20, _c4$1, ctx.showHistory ? "expanded" : "collapsed", i0.ɵɵpureFunction1(18, _c3$2, ctx.getTextAreaHeight(_r1))))("ngClass", i0.ɵɵpureFunction3(23, _c5, ctx.inputFocus, !!(ctx.message == null ? null : ctx.message.length), ctx.isShowedHistory));
6864
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(15, _c3$2, ctx.inputFocus, !!(ctx.message == null ? null : (tmp_1_0 = ctx.message.trim()) == null ? null : tmp_1_0.length)));
6997
6865
  i0.ɵɵadvance(1);
6998
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(3, 14, ctx.droppedFiles$).length);
6866
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(3, 11, ctx.droppedFiles$).length);
6999
6867
  i0.ɵɵadvance(3);
7000
6868
  i0.ɵɵstyleMap(ctx.getTextAreaHeight(_r1));
7001
6869
  i0.ɵɵpropertyInterpolate("placeholder", ctx.fileOver ? ctx.dropFilePlaceholder : ctx.messagePlaceholder);
7002
6870
  i0.ɵɵproperty("ngModel", ctx.message)("rows", 1);
7003
- i0.ɵɵadvance(4);
7004
- i0.ɵɵtextInterpolate(_r1.value);
7005
- i0.ɵɵadvance(5);
6871
+ i0.ɵɵadvance(7);
7006
6872
  i0.ɵɵproperty("ngIf", !ctx.waitForReply);
7007
6873
  i0.ɵɵadvance(1);
7008
6874
  i0.ɵɵproperty("ngIf", ctx.waitForReply && !ctx.showDotFlashing);
7009
6875
  i0.ɵɵadvance(1);
7010
6876
  i0.ɵɵproperty("ngIf", ctx.waitForReply && ctx.showDotFlashing);
7011
- i0.ɵɵadvance(1);
7012
- i0.ɵɵproperty("ngIf", !ctx.isChatMode);
7013
- } }, dependencies: [i1$2.DefaultValueAccessor, i1$2.NgControlStatus, i1$2.NgModel, i1.NgClass, i1.NgIf, ClickOutsideDirective, DrDotFlashingComponent, DrChatDroppedFilesComponent, i1.AsyncPipe], styles: ["[_nghost-%COMP%] {--send-button-offset: 42px;display:flex;flex-direction:column;align-items:center;padding:0 16px}[_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;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;position:absolute;top:2.5px;right:8px;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 .dr-icon-history, [_nghost-%COMP%] .message-row__input .dr-icon-attachment{display:flex;align-items:center;position:absolute;cursor:pointer;width:32px;height:48px;left:16px;top:-1px}[_nghost-%COMP%] .message-row__input .dr-icon-attachment{left:52px}[_nghost-%COMP%] .message-row__input .send-button{opacity:.5;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{opacity:1;pointer-events:all}[_nghost-%COMP%] .message-row__input .message-input-tmp{display:none}[_nghost-%COMP%] .message-row__input.showed-dropdown .send-button{opacity:.5}[_nghost-%COMP%] .message-row__input .wait-reply-dot-flashing{display:flex;position:absolute;align-items:center;width:32px;height:48px;right:25px}[_nghost-%COMP%] .message-row__input:before{content:\"\";position:absolute;inset:-3px;background:linear-gradient(266deg,#6969ff 25.2%,#4eb7df 90.24%);border-radius:25px;z-index:-1}[_nghost-%COMP%] .message-row__input textarea, [_nghost-%COMP%] .message-row__input .message-input-tmp{font-size:14px;color:#333;width:100%;outline:none;min-height:48px;line-height:19px;flex-grow:1;resize:none;padding:13px 55px 13px 88px;margin:auto;border:none;border-radius:22.5px}[_nghost-%COMP%] .message-row__input textarea:focus, [_nghost-%COMP%] .message-row__input .message-input-tmp:focus{border:none}[_nghost-%COMP%] .message-row__input textarea::placeholder, [_nghost-%COMP%] .message-row__input .message-input-tmp::placeholder{color:#9ea1aa}[_nghost-%COMP%] .message-row__input-textarea-wrap{display:flex;width:100%;position:relative}[_nghost-%COMP%] .history-dropdown{width:100%;max-height:220px;overflow-y:auto;padding:12px 16px 0}[_nghost-%COMP%] .showed-dropdown textarea{visibility:hidden;position:absolute}[_nghost-%COMP%] .showed-dropdown .message-input-tmp{display:block;margin-left:inherit;white-space:nowrap;font-family:monospace;overflow:hidden;text-overflow:ellipsis}[_nghost-%COMP%] .showed-dropdown .send-button{top:2.5px!important}[_nghost-%COMP%] dr-chat-dropped-files{margin-right:auto}[_nghost-%COMP%] .message-row_loading .send-button, [_nghost-%COMP%] .message-row_loading .dropped-files__item{opacity:.5;pointer-events:none}"], data: { animation: [
7014
- trigger('containerHeightAnimation', [
7015
- state('collapsed', style({ height: '{{height}}' }), { params: { height: '48px' } }),
7016
- state('expanded', style({
7017
- height: '*',
7018
- })),
7019
- transition('collapsed => expanded', [animate('300ms ease-in-out')]),
7020
- transition('expanded => collapsed', [query('@dropdownAnimation', animateChild()), animate('300ms ease-in-out')]),
7021
- ]),
7022
- trigger('dropdownAnimation', [
7023
- state('hidden', style({
7024
- opacity: 0,
7025
- transform: 'translateY(-30px)',
7026
- display: 'none',
7027
- })),
7028
- state('visible', style({
7029
- opacity: 1,
7030
- transform: 'translateY(0)',
7031
- display: 'block',
7032
- })),
7033
- transition('hidden => visible', [style({ display: 'block' }), animate('300ms ease-in-out')]),
7034
- transition('visible => hidden', [
7035
- animate('300ms ease-in-out', style({ opacity: 0, transform: 'translateY(-30px)' })),
7036
- style({ display: 'none' }),
7037
- ]),
7038
- ]),
7039
- ] }, changeDetection: 0 }); }
6877
+ } }, dependencies: [i1$2.DefaultValueAccessor, i1$2.NgControlStatus, i1$2.NgModel, i1.NgClass, i1.NgIf, DrDotFlashingComponent, DrChatDroppedFilesComponent, i1.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 }); }
7040
6878
  }
7041
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrChatFormWithHistoryComponent, [{
6879
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrChatFormDropdownComponent, [{
7042
6880
  type: Component,
7043
- args: [{ selector: 'dr-chat-form-with-history', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
7044
- trigger('containerHeightAnimation', [
7045
- state('collapsed', style({ height: '{{height}}' }), { params: { height: '48px' } }),
7046
- state('expanded', style({
7047
- height: '*',
7048
- })),
7049
- transition('collapsed => expanded', [animate('300ms ease-in-out')]),
7050
- transition('expanded => collapsed', [query('@dropdownAnimation', animateChild()), animate('300ms ease-in-out')]),
7051
- ]),
7052
- trigger('dropdownAnimation', [
7053
- state('hidden', style({
7054
- opacity: 0,
7055
- transform: 'translateY(-30px)',
7056
- display: 'none',
7057
- })),
7058
- state('visible', style({
7059
- opacity: 1,
7060
- transform: 'translateY(0)',
7061
- display: 'block',
7062
- })),
7063
- transition('hidden => visible', [style({ display: 'block' }), animate('300ms ease-in-out')]),
7064
- transition('visible => hidden', [
7065
- animate('300ms ease-in-out', style({ opacity: 0, transform: 'translateY(-30px)' })),
7066
- style({ display: 'none' }),
7067
- ]),
7068
- ]),
7069
- ], template: "<div class=\"message-row\" [ngClass]=\"{ 'message-row_loading': isLoading }\">\n <div\n [@containerHeightAnimation]=\"{\n value: showHistory ? 'expanded' : 'collapsed',\n params: { height: getTextAreaHeight(textAreaElement) },\n }\"\n class=\"message-row__input\"\n [ngClass]=\"{\n 'message-row__input--focused': inputFocus,\n 'message-row__input--filled': !!message?.length,\n 'showed-dropdown': isShowedHistory,\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\n <div class=\"message-input-tmp\">{{ textAreaElement.value }}</div>\n\n <input #fileInput type=\"file\" hidden multiple (change)=\"onFileSelected($event)\" />\n <i (click)=\"showHistory()\" class=\"dr-icon-history\"></i>\n <i (click)=\"fileInput.click()\" class=\"dr-icon-attachment\"></i>\n\n <i\n *ngIf=\"!waitForReply\"\n [style]=\"getSendButtonPosition(textAreaElement)\"\n (click)=\"sendMessage($event)\"\n class=\"dr-icon-send-arrow-up send-button\"></i>\n\n <i\n *ngIf=\"waitForReply && !showDotFlashing\"\n [style]=\"getSendButtonPosition(textAreaElement)\"\n class=\"dr-icon-stop abort-button\"\n (click)=\"abortMessage()\"></i>\n <dr-dot-flashing *ngIf=\"waitForReply && showDotFlashing\" class=\"wait-reply-dot-flashing\"></dr-dot-flashing>\n </div>\n\n <ng-container *ngIf=\"!isChatMode\">\n <div\n [@dropdownAnimation]=\"isShowedHistory ? 'visible' : 'hidden'\"\n class=\"history-dropdown\"\n [exclude]=\"'.dr-icon-history'\"\n (clickOutside)=\"closeHistory()\">\n <ng-content></ng-content>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [":host::ng-deep{--send-button-offset: 42px;display:flex;flex-direction:column;align-items:center;padding:0 16px}: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;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;position:absolute;top:2.5px;right:8px;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 .dr-icon-history,:host::ng-deep .message-row__input .dr-icon-attachment{display:flex;align-items:center;position:absolute;cursor:pointer;width:32px;height:48px;left:16px;top:-1px}:host::ng-deep .message-row__input .dr-icon-attachment{left:52px}:host::ng-deep .message-row__input .send-button{opacity:.5;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{opacity:1;pointer-events:all}:host::ng-deep .message-row__input .message-input-tmp{display:none}:host::ng-deep .message-row__input.showed-dropdown .send-button{opacity:.5}:host::ng-deep .message-row__input .wait-reply-dot-flashing{display:flex;position:absolute;align-items:center;width:32px;height:48px;right:25px}:host::ng-deep .message-row__input:before{content:\"\";position:absolute;inset:-3px;background:linear-gradient(266deg,#6969ff 25.2%,#4eb7df 90.24%);border-radius:25px;z-index:-1}:host::ng-deep .message-row__input textarea,:host::ng-deep .message-row__input .message-input-tmp{font-size:14px;color:#333;width:100%;outline:none;min-height:48px;line-height:19px;flex-grow:1;resize:none;padding:13px 55px 13px 88px;margin:auto;border:none;border-radius:22.5px}:host::ng-deep .message-row__input textarea:focus,:host::ng-deep .message-row__input .message-input-tmp:focus{border:none}:host::ng-deep .message-row__input textarea::placeholder,:host::ng-deep .message-row__input .message-input-tmp::placeholder{color:#9ea1aa}:host::ng-deep .message-row__input-textarea-wrap{display:flex;width:100%;position:relative}:host::ng-deep .history-dropdown{width:100%;max-height:220px;overflow-y:auto;padding:12px 16px 0}:host::ng-deep .showed-dropdown textarea{visibility:hidden;position:absolute}:host::ng-deep .showed-dropdown .message-input-tmp{display:block;margin-left:inherit;white-space:nowrap;font-family:monospace;overflow:hidden;text-overflow:ellipsis}:host::ng-deep .showed-dropdown .send-button{top:2.5px!important}:host::ng-deep dr-chat-dropped-files{margin-right:auto}:host::ng-deep .message-row_loading .send-button,:host::ng-deep .message-row_loading .dropped-files__item{opacity:.5;pointer-events:none}\n"] }]
6881
+ 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"] }]
7070
6882
  }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$5.DomSanitizer }]; }, { textAreaElementRef: [{
7071
6883
  type: ViewChild,
7072
6884
  args: ['textAreaElement']
7073
6885
  }], fileInput: [{
7074
6886
  type: ViewChild,
7075
6887
  args: ['fileInput']
7076
- }], isChatMode: [{
7077
- type: Input
7078
6888
  }], isLoading: [{
7079
6889
  type: Input
7080
6890
  }], message: [{
@@ -9402,7 +9212,7 @@ class DrDropdownService {
9402
9212
  constructor() {
9403
9213
  this.popoverService = inject(DrPopoverService);
9404
9214
  }
9405
- open({ hostRef, options, position = 'left-top', asChild, providers, action$ = new EventEmitter(), }) {
9215
+ open({ hostRef, options, position = 'left-top', asChild, providers, action$ = new EventEmitter(), positionOffsetX = 2, positionOffsetY = 0, }) {
9406
9216
  return this.popoverService.open(DrDropdownComponent, {
9407
9217
  hostRef,
9408
9218
  position,
@@ -9412,8 +9222,8 @@ class DrDropdownService {
9412
9222
  onAction: action$,
9413
9223
  },
9414
9224
  overlayConfig: {
9415
- positionOffsetX: 2,
9416
- positionOffsetY: asChild ? -8 : null,
9225
+ positionOffsetX,
9226
+ positionOffsetY: asChild ? -8 : positionOffsetY,
9417
9227
  providers,
9418
9228
  },
9419
9229
  });
@@ -9501,6 +9311,8 @@ class DrDropdownDirective {
9501
9311
  asChild: !!this.child,
9502
9312
  providers: [{ provide: DropdownInstanceService, useValue: this.dropdownInstanceService }],
9503
9313
  action$: this.drDropdownAction,
9314
+ positionOffsetX: this.drDropdownPositionOffsetX,
9315
+ positionOffsetY: this.drDropdownPositionOffsetY,
9504
9316
  options: {
9505
9317
  drDropdownInHover: this.drDropdownInHover,
9506
9318
  position: this.drDropdownPosition,
@@ -9524,7 +9336,7 @@ class DrDropdownDirective {
9524
9336
  /** @nocollapse */ static { this.ɵfac = function DrDropdownDirective_Factory(t) { return new (t || DrDropdownDirective)(); }; }
9525
9337
  /** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: DrDropdownDirective, selectors: [["", "drDropdown", ""]], hostBindings: function DrDropdownDirective_HostBindings(rf, ctx) { if (rf & 1) {
9526
9338
  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);
9527
- } }, inputs: { drDropdown: "drDropdown", drDropdownPosition: "drDropdownPosition", drDropdownClass: "drDropdownClass", drDropdownInHover: "drDropdownInHover", dataAnalytics: ["data-analytics", "dataAnalytics"] }, outputs: { drDropdownAction: "drDropdownAction", dropdownClosed: "drDropdownClose", dropdownOpened: "drDropdownOpened" }, features: [i0.ɵɵProvidersFeature([
9339
+ } }, 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([
9528
9340
  {
9529
9341
  provide: DropdownInstanceService,
9530
9342
  useFactory: ((injector) => {
@@ -9562,6 +9374,10 @@ class DrDropdownDirective {
9562
9374
  }], dataAnalytics: [{
9563
9375
  type: Input,
9564
9376
  args: [{ alias: 'data-analytics' }]
9377
+ }], drDropdownPositionOffsetX: [{
9378
+ type: Input
9379
+ }], drDropdownPositionOffsetY: [{
9380
+ type: Input
9565
9381
  }], drDropdownAction: [{
9566
9382
  type: Output
9567
9383
  }], dropdownClosed: [{
@@ -12141,6 +11957,95 @@ var TooltipInfoIconTheme;
12141
11957
  TooltipInfoIconTheme["SUCCESS"] = "success";
12142
11958
  })(TooltipInfoIconTheme || (TooltipInfoIconTheme = {}));
12143
11959
 
11960
+ class ClickOutsideDirective {
11961
+ constructor(_document /*: HTMLDocument*/, _el) {
11962
+ this._document = _document;
11963
+ this._el = _el;
11964
+ this.attachOutsideOnClick = false;
11965
+ this.exclude = '';
11966
+ this.clickOutside = new EventEmitter();
11967
+ this._nodesExcluded = [];
11968
+ this._initOnClickBody = this._initOnClickBody.bind(this);
11969
+ this._onClickBody = this._onClickBody.bind(this);
11970
+ }
11971
+ ngOnInit() {
11972
+ this._init();
11973
+ }
11974
+ ngOnDestroy() {
11975
+ if (this.attachOutsideOnClick) {
11976
+ this._el.nativeElement.removeEventListener('click', this._initOnClickBody);
11977
+ }
11978
+ this._document.body.removeEventListener('click', this._onClickBody);
11979
+ }
11980
+ ngOnChanges(changes) {
11981
+ if (changes['attachOutsideOnClick'] || changes['exclude']) {
11982
+ this._init();
11983
+ }
11984
+ }
11985
+ _init() {
11986
+ if (this.exclude) {
11987
+ this.exclude.split(',').forEach((selector) => {
11988
+ if (selector) {
11989
+ try {
11990
+ const node = this._document.querySelector(selector.trim());
11991
+ if (node) {
11992
+ this._nodesExcluded.push(node);
11993
+ }
11994
+ }
11995
+ catch (err) {
11996
+ if (window.console) {
11997
+ window.console.error('[ng2-click-outside] Check your exclude selector syntax.', err);
11998
+ }
11999
+ }
12000
+ }
12001
+ });
12002
+ }
12003
+ if (this.attachOutsideOnClick) {
12004
+ this._el.nativeElement.addEventListener('click', this._initOnClickBody);
12005
+ }
12006
+ else {
12007
+ this._initOnClickBody();
12008
+ }
12009
+ }
12010
+ /** @internal */
12011
+ _initOnClickBody() {
12012
+ this._document.body.addEventListener('click', this._onClickBody);
12013
+ }
12014
+ /** @internal */
12015
+ _onClickBody(e) {
12016
+ if (!this._el.nativeElement.contains(e.target) && !this._shouldExclude(e.target)) {
12017
+ this.clickOutside.emit(e);
12018
+ if (this.attachOutsideOnClick) {
12019
+ this._document.body.removeEventListener('click', this._onClickBody);
12020
+ }
12021
+ }
12022
+ }
12023
+ /** @internal */
12024
+ _shouldExclude(target) {
12025
+ for (let i = 0; i < this._nodesExcluded.length; i++) {
12026
+ if (this._nodesExcluded[i].contains(target)) {
12027
+ return true;
12028
+ }
12029
+ }
12030
+ return false;
12031
+ }
12032
+ /** @nocollapse */ static { this.ɵfac = function ClickOutsideDirective_Factory(t) { return new (t || ClickOutsideDirective)(i0.ɵɵdirectiveInject(DOCUMENT), i0.ɵɵdirectiveInject(i0.ElementRef)); }; }
12033
+ /** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: ClickOutsideDirective, selectors: [["", "clickOutside", ""]], inputs: { attachOutsideOnClick: "attachOutsideOnClick", exclude: "exclude" }, outputs: { clickOutside: "clickOutside" }, features: [i0.ɵɵNgOnChangesFeature] }); }
12034
+ }
12035
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ClickOutsideDirective, [{
12036
+ type: Directive,
12037
+ args: [{ selector: '[clickOutside]' }]
12038
+ }], function () { return [{ type: undefined, decorators: [{
12039
+ type: Inject,
12040
+ args: [DOCUMENT]
12041
+ }] }, { type: i0.ElementRef }]; }, { attachOutsideOnClick: [{
12042
+ type: Input
12043
+ }], exclude: [{
12044
+ type: Input
12045
+ }], clickOutside: [{
12046
+ type: Output
12047
+ }] }); })();
12048
+
12144
12049
  const DR_SHINE_ANIMATION_CLASS = 'dr-shine-effect-animation';
12145
12050
  class DrShineAnimationDirective {
12146
12051
  constructor(el, renderer) {
@@ -13041,7 +12946,7 @@ const DR_CHAT_COMPONENTS = [
13041
12946
  DrChatComponent,
13042
12947
  DrChatMessageComponent,
13043
12948
  DrChatFormComponent,
13044
- DrChatFormWithHistoryComponent,
12949
+ DrChatFormDropdownComponent,
13045
12950
  DrChatMessageTextComponent,
13046
12951
  DrChatMessageFileComponent,
13047
12952
  DrChatSuggestionsComponent,
@@ -13081,7 +12986,7 @@ class DrChatModule {
13081
12986
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(DrChatModule, { declarations: [DrChatComponent,
13082
12987
  DrChatMessageComponent,
13083
12988
  DrChatFormComponent,
13084
- DrChatFormWithHistoryComponent,
12989
+ DrChatFormDropdownComponent,
13085
12990
  DrChatMessageTextComponent,
13086
12991
  DrChatMessageFileComponent,
13087
12992
  DrChatSuggestionsComponent,
@@ -13096,7 +13001,7 @@ class DrChatModule {
13096
13001
  ClickOutsideModule], exports: [DrChatComponent,
13097
13002
  DrChatMessageComponent,
13098
13003
  DrChatFormComponent,
13099
- DrChatFormWithHistoryComponent,
13004
+ DrChatFormDropdownComponent,
13100
13005
  DrChatMessageTextComponent,
13101
13006
  DrChatMessageFileComponent,
13102
13007
  DrChatSuggestionsComponent,
@@ -13765,5 +13670,5 @@ class DrawerModule {
13765
13670
  * Generated bundle index. Do not edit.
13766
13671
  */
13767
13672
 
13768
- export { AnyTagComponent, BadgeStatus, CHAT_MESSAGE_TYPE, CROP_IMAGE_MODES, CalendarView, ChatMessage, ChatRole, CheckboxComponent, ClickOutsideDirective, ClickOutsideModule, CodeEditorHintWrapperComponent, CustomDateAdapter, CustomDateFormat, DEFAULT_LINK_FONT_SIZE, DEFAULT_LINK_FONT_WEIGHT, DIALOG_BUTTON_LABEL, DIALOG_FIELD_TYPE, DIALOG_SIZE, DR_DRAWER_DATA, DR_DRAWER_DEFAULT_OPTIONS, DR_SHINE_ANIMATION_CLASS, DataAnalyticsService, DateFromats, DatePickerPeriodPosition, DateTagComponent, DateTagModule, DateTags, DayTagComponent, DefaultToastrComponent, DefaultTreeviewEventParser, DefaultTreeviewI18n, DialogModalWrapperComponent, DialogService, DialogWrapperComponent, DownlineTreeviewEventParser, DrAccordionComponent, DrAccordionItemBodyComponent, DrAccordionItemComponent, DrAccordionItemHeaderComponent, DrAccordionModule, DrAlertComponent, DrAlertModule, DrAlertTheme, DrAvatarComponent, DrAvatarModule, DrAvatarPipe, DrAvatarService, DrBadgeStatusComponent, DrBadgeStatusModule, DrButtonComponent, DrChatAlertComponent, DrChatComponent, DrChatCustomMessageDirective, DrChatDroppedFilesComponent, DrChatFormComponent, DrChatFormWithHistoryComponent, DrChatMessageComponent, DrChatMessageFileComponent, DrChatMessageTextComponent, DrChatModule, DrChatSuggestionsComponent, DrChipComponent, DrCodeEditorComponent, DrCodeEditorModule, DrCodemirrorComponent, DrDatePickerComponent, DrDatePickerCustomHeaderComponent, DrDatePickerFormatDirective, DrDatePickerRangeComponent, DrDatePickerWithTimeframeComponent, DrDetailsListComponent, DrDetailsListModule, DrDialogModule, DrDotFlashingComponent, DrDropdownChildDirective, DrDropdownComponent, DrDropdownDirective, DrDropdownItemComponent, DrDropdownItemShowPipe, DrDropdownModule, DrDropdownService, DrErrorComponent, DrErrorModule, DrImageCropperComponent, DrInputComponent, DrInputsModule, DrLayoutBodyComponent, DrLayoutComponent, DrLayoutHeaderComponent, DrLayoutModule, DrLinkComponent, DrModelDebounceChangeDirective, DrPopoverAlignmentDimension, DrPopoverComponent, DrPopoverDirective, DrPopoverModule, DrPopoverRef, DrPopoverService, DrScenarioConfigurationComponent, DrScenarioModule, DrScenarioTagConfigurationComponent, DrSelectAddItemComponent, DrSelectComponent, DrSharedUtils, DrShineAnimationDirective, DrShowTimeframePipe, DrSliderComponent, DrSpinnerComponent, DrSpinnerDirective, DrSpinnerModule, DrStepperModule, DrTabComponent, DrTabsComponent, DrTabsModule, DrTagComponent, DrTagModule, DrTagsConstructorComponent, DrTagsConstructorModule, DrToastrModule, DrToastrService, DrToggleButtonComponent, DrToggleComponent, DrTooltipDirective, DrTooltipModule, Drawer, DrawerConfig, DrawerContainer, DrawerModule, DrawerRef, DropdownInstanceService, FeedbackSentiment, FilterPipe, ForecastTagComponent, ForecastTagService, ICodeEditorHintIcon, IMAGE_TYPES, ImgPipe, LetContext, LetDirective, LinkTheme, ListTagComponent, ListTagModule, MonthTagComponent, OrderDownlineTreeviewEventParser, QuarterTagComponent, RadioButtonComponent, RadioGroupComponent, Scenario, ScenarioService, StepperComponent, TagTypes, TagsConfigSubType, TagsConstructorService, TimeframeOption, ToastrStatus, ToastrStatusIcon, ToggleButtonMode, TooltipComponent, TooltipDefaultComponent, TooltipInfoComponent, TooltipInfoIconTheme, TooltipInfoWidth, TooltipPosition, TooltipTheme, TrackByPropertyDirective, TreeviewComponent, TreeviewConfig, TreeviewEventParser, TreeviewHelper, TreeviewI18n, TreeviewItem, TreeviewModule, TreeviewPipe, WeekTagComponent, YearTagComponent };
13673
+ export { AnyTagComponent, BadgeStatus, CHAT_MESSAGE_TYPE, CROP_IMAGE_MODES, CalendarView, ChatMessage, ChatRole, CheckboxComponent, ClickOutsideDirective, ClickOutsideModule, CodeEditorHintWrapperComponent, CustomDateAdapter, CustomDateFormat, DEFAULT_LINK_FONT_SIZE, DEFAULT_LINK_FONT_WEIGHT, DIALOG_BUTTON_LABEL, DIALOG_FIELD_TYPE, DIALOG_SIZE, DR_DRAWER_DATA, DR_DRAWER_DEFAULT_OPTIONS, DR_SHINE_ANIMATION_CLASS, DataAnalyticsService, DateFromats, DatePickerPeriodPosition, DateTagComponent, DateTagModule, DateTags, DayTagComponent, DefaultToastrComponent, DefaultTreeviewEventParser, DefaultTreeviewI18n, DialogModalWrapperComponent, DialogService, DialogWrapperComponent, DownlineTreeviewEventParser, DrAccordionComponent, DrAccordionItemBodyComponent, DrAccordionItemComponent, DrAccordionItemHeaderComponent, DrAccordionModule, DrAlertComponent, DrAlertModule, DrAlertTheme, DrAvatarComponent, DrAvatarModule, DrAvatarPipe, DrAvatarService, DrBadgeStatusComponent, DrBadgeStatusModule, DrButtonComponent, DrChatAlertComponent, DrChatComponent, DrChatCustomMessageDirective, DrChatDroppedFilesComponent, DrChatFormComponent, DrChatFormDropdownComponent, DrChatMessageComponent, DrChatMessageFileComponent, DrChatMessageTextComponent, DrChatModule, DrChatSuggestionsComponent, DrChipComponent, DrCodeEditorComponent, DrCodeEditorModule, DrCodemirrorComponent, DrDatePickerComponent, DrDatePickerCustomHeaderComponent, DrDatePickerFormatDirective, DrDatePickerRangeComponent, DrDatePickerWithTimeframeComponent, DrDetailsListComponent, DrDetailsListModule, DrDialogModule, DrDotFlashingComponent, DrDropdownChildDirective, DrDropdownComponent, DrDropdownDirective, DrDropdownItemComponent, DrDropdownItemShowPipe, DrDropdownModule, DrDropdownService, DrErrorComponent, DrErrorModule, DrImageCropperComponent, DrInputComponent, DrInputsModule, DrLayoutBodyComponent, DrLayoutComponent, DrLayoutHeaderComponent, DrLayoutModule, DrLinkComponent, DrModelDebounceChangeDirective, DrPopoverAlignmentDimension, DrPopoverComponent, DrPopoverDirective, DrPopoverModule, DrPopoverRef, DrPopoverService, DrScenarioConfigurationComponent, DrScenarioModule, DrScenarioTagConfigurationComponent, DrSelectAddItemComponent, DrSelectComponent, DrSharedUtils, DrShineAnimationDirective, DrShowTimeframePipe, DrSliderComponent, DrSpinnerComponent, DrSpinnerDirective, DrSpinnerModule, DrStepperModule, DrTabComponent, DrTabsComponent, DrTabsModule, DrTagComponent, DrTagModule, DrTagsConstructorComponent, DrTagsConstructorModule, DrToastrModule, DrToastrService, DrToggleButtonComponent, DrToggleComponent, DrTooltipDirective, DrTooltipModule, Drawer, DrawerConfig, DrawerContainer, DrawerModule, DrawerRef, DropdownInstanceService, FeedbackSentiment, FilterPipe, ForecastTagComponent, ForecastTagService, ICodeEditorHintIcon, IMAGE_TYPES, ImgPipe, LetContext, LetDirective, LinkTheme, ListTagComponent, ListTagModule, MonthTagComponent, OrderDownlineTreeviewEventParser, QuarterTagComponent, RadioButtonComponent, RadioGroupComponent, Scenario, ScenarioService, StepperComponent, TagTypes, TagsConfigSubType, TagsConstructorService, TimeframeOption, ToastrStatus, ToastrStatusIcon, ToggleButtonMode, TooltipComponent, TooltipDefaultComponent, TooltipInfoComponent, TooltipInfoIconTheme, TooltipInfoWidth, TooltipPosition, TooltipTheme, TrackByPropertyDirective, TreeviewComponent, TreeviewConfig, TreeviewEventParser, TreeviewHelper, TreeviewI18n, TreeviewItem, TreeviewModule, TreeviewPipe, WeekTagComponent, YearTagComponent };
13769
13674
  //# sourceMappingURL=datarailsshared-datarailsshared.mjs.map