@datarailsshared/datarailsshared 1.4.177 → 1.4.178

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.
@@ -1,9 +1,11 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, } from '@angular/core';
2
2
  import * as _ from 'lodash';
3
3
  export class DrChatSuggestionsComponent {
4
- constructor() {
4
+ constructor(cdr) {
5
+ this.cdr = cdr;
5
6
  this._nonHiddenValues = [];
6
7
  this.visibleValues = [];
8
+ this.isSuggestedMenuOpen = false;
7
9
  this.values = [];
8
10
  this.fullScreen = false;
9
11
  this.buttonMode = false;
@@ -28,11 +30,10 @@ export class DrChatSuggestionsComponent {
28
30
  if (this.waitForReply) {
29
31
  return;
30
32
  }
33
+ this.isSuggestedMenuOpen = false;
31
34
  this.suggestionSelect.emit(item);
32
35
  this.hiddenValues = [...this.hiddenValues, item];
33
36
  this.filterValues();
34
- this.suggestionCardsList.nativeElement.style.visibility = 'hidden';
35
- setTimeout(() => this.suggestionCardsList.nativeElement.style.visibility = '', 10);
36
37
  }
37
38
  filterValues() {
38
39
  const hiddenValues = this.hiddenValues;
@@ -51,27 +52,35 @@ export class DrChatSuggestionsComponent {
51
52
  const item = nonHiddenValues.splice(randomIndex, 1)[0];
52
53
  this.visibleValues.push(item);
53
54
  }
55
+ this.cdr.markForCheck();
54
56
  }
55
57
  clearHidden() {
56
58
  localStorage.setItem('aiChatSuggestions', null);
57
59
  this.filterValues();
58
60
  }
61
+ toggleSuggestedMenu() {
62
+ this.isSuggestedMenuOpen = !this.isSuggestedMenuOpen;
63
+ if (this.isSuggestedMenuOpen) {
64
+ this.fillVisibleValues();
65
+ }
66
+ }
59
67
  }
60
68
  DrChatSuggestionsComponent.decorators = [
61
69
  { type: Component, args: [{
62
70
  selector: 'dr-chat-suggestions',
63
- template: "<div class=\"chat-suggestions\">\n <ng-container *ngIf=\"buttonMode; else suggestionCards\">\n <div class=\"chat-suggestions__container\" (mouseenter)=\"fillVisibleValues()\">\n <dr-button theme=\"ghost\" class=\"chat-suggestions__container__button\">\n Suggested chats\n </dr-button>\n <ng-container *ngTemplateOutlet=\"suggestionCards\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #suggestionCards>\n <div class=\"chat-suggestions__items\" #suggestionCardsList>\n <div class=\"chat-suggestions__items__background\"></div>\n <div *ngFor=\"let item of visibleValues\"\n class=\"chat-suggestions__items__item\" (click)=\"onItemClick(item)\">\n {{ item }}\n </div>\n </div>\n</ng-template>\n",
71
+ template: "<div class=\"chat-suggestions\">\n <ng-container *ngIf=\"buttonMode; else suggestionCards\">\n <div class=\"chat-suggestions__container\"\n [class.chat-suggestions__container--opened]=\"isSuggestedMenuOpen\"\n *ngIf=\"visibleValues.length\">\n <dr-button theme=\"ghost\" class=\"chat-suggestions__container__button\" (click)=\"toggleSuggestedMenu()\">\n Suggested chats\n </dr-button>\n <ng-container *ngTemplateOutlet=\"suggestionCards\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #suggestionCards>\n <div class=\"chat-suggestions__items\">\n <div class=\"chat-suggestions__items__background\"></div>\n <div *ngFor=\"let item of visibleValues\"\n class=\"chat-suggestions__items__item\" (click)=\"onItemClick(item)\">\n {{ item }}\n </div>\n </div>\n</ng-template>\n",
64
72
  changeDetection: ChangeDetectionStrategy.OnPush,
65
- styles: [":host{display:flex;align-items:flex-start;justify-content:center}:host .chat-suggestions{display:flex;width:100%;max-width:970px}:host .chat-suggestions__container{display:flex;position:relative;width:auto;margin-top:12px;padding:0 24px}:host .chat-suggestions__container:hover{width:100%}:host .chat-suggestions__container:hover .chat-suggestions__container__button::ng-deep button{color:#4646ce;background:#f2f2fb}:host .chat-suggestions__container:hover .chat-suggestions__items,:host .chat-suggestions__container:hover .chat-suggestions__items__background{display:flex}:host .chat-suggestions__container__button::ng-deep button{background:#F2F2FF!important;border-radius:4px}:host .chat-suggestions__container .chat-suggestions__items{display:none;position:absolute;width:100%;bottom:0;left:0;padding-bottom:32px;z-index:2}:host .chat-suggestions__items{display:flex;flex-wrap:wrap;width:100%;justify-content:space-between;padding:0 24px}:host .chat-suggestions__items__background{display:none;position:absolute;top:-32px;right:0;bottom:32px;left:0;background:white;opacity:.7;z-index:-1}:host .chat-suggestions__items__item{margin:0 0 20px;display:inline-flex;height:76px;width:275px;padding:16px;border-radius:8px;background:#F2F2FF;box-shadow:0 1px 2px #00000026;font-size:14px;line-height:24px;color:#25258c}:host .chat-suggestions__items__item:hover{cursor:pointer;background:#EAEAFF}\n"]
73
+ styles: [":host{display:flex;align-items:flex-start;justify-content:center}:host .chat-suggestions{display:flex;width:100%;max-width:970px}:host .chat-suggestions__container{display:flex;position:relative;width:auto;margin-top:12px;padding:0 24px}:host .chat-suggestions__container__button{z-index:3}:host .chat-suggestions__container__button::ng-deep button{background:#F2F2FB!important;border-radius:4px;cursor:pointer}:host .chat-suggestions__container .chat-suggestions__items{display:none;position:absolute;width:100%;bottom:0;left:0;padding-bottom:32px;z-index:2}:host .chat-suggestions__container--opened{width:100%}:host .chat-suggestions__container--opened .chat-suggestions__container__button::ng-deep button{color:#4646ce;background:#F2F2FB}:host .chat-suggestions__container--opened .chat-suggestions__items,:host .chat-suggestions__container--opened .chat-suggestions__items__background{display:flex}:host .chat-suggestions__items{display:flex;flex-wrap:wrap;width:100%;justify-content:space-between;padding:0 24px}:host .chat-suggestions__items__background{display:none;position:absolute;top:-32px;right:0;bottom:32px;left:0;background:#FFFFFF;opacity:.7;z-index:-1}:host .chat-suggestions__items__item{margin:0 0 20px;display:inline-flex;height:76px;width:275px;padding:16px;border-radius:8px;background:#F2F2FB;box-shadow:0 1px 2px #00000026;font-size:14px;line-height:24px;color:#25258c}:host .chat-suggestions__items__item:hover{cursor:pointer;background:#EAEAFF}\n"]
66
74
  },] }
67
75
  ];
68
- DrChatSuggestionsComponent.ctorParameters = () => [];
76
+ DrChatSuggestionsComponent.ctorParameters = () => [
77
+ { type: ChangeDetectorRef }
78
+ ];
69
79
  DrChatSuggestionsComponent.propDecorators = {
70
80
  values: [{ type: Input }],
71
81
  fullScreen: [{ type: Input }],
72
82
  buttonMode: [{ type: Input }],
73
83
  waitForReply: [{ type: Input }],
74
- suggestionSelect: [{ type: Output }],
75
- suggestionCardsList: [{ type: ViewChild, args: ['suggestionCardsList',] }]
84
+ suggestionSelect: [{ type: Output }]
76
85
  };
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtc3VnZ2VzdGlvbnMvY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxHQUN4RSxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQVE1QixNQUFNLE9BQU8sMEJBQTBCO0lBeUJuQztRQXZCQSxxQkFBZ0IsR0FBYSxFQUFFLENBQUM7UUFDaEMsa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFDcEIsV0FBTSxHQUFjLEVBQUUsQ0FBQztRQUN2QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFckM7Ozs7V0FJRztRQUNNLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXBCLHFCQUFnQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBVzlFLENBQUM7SUFSRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZFLENBQUM7SUFDRCxJQUFJLFlBQVksQ0FBQyxNQUFNO1FBQ25CLFlBQVksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFLRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBWTtRQUNwQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1FBQ25FLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxZQUFZO1FBQ1IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN2QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGlCQUFpQjtRQUNiLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxhQUFhLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3pCLE1BQU07YUFDVDtZQUNELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2RSxNQUFNLElBQUksR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNqQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsWUFBWSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7O1lBeEVKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQiwwMEJBQThDO2dCQUU5QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7Ozs7cUJBS0ksS0FBSzt5QkFDTCxLQUFLO3lCQUNMLEtBQUs7MkJBT0wsS0FBSzsrQkFFTCxNQUFNO2tDQUNOLFNBQVMsU0FBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY2hhdC1zdWdnZXN0aW9ucycsXG4gICAgdGVtcGxhdGVVcmw6ICdjaGF0LXN1Z2dlc3Rpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGF0LXN1Z2dlc3Rpb25zLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyQ2hhdFN1Z2dlc3Rpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIF9ub25IaWRkZW5WYWx1ZXM6IHN0cmluZ1tdID0gW107XG4gICAgdmlzaWJsZVZhbHVlczogc3RyaW5nW10gPSBbXTtcbiAgICBASW5wdXQoKSB2YWx1ZXM6IHN0cmluZyBbXSA9IFtdO1xuICAgIEBJbnB1dCgpIGZ1bGxTY3JlZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBidXR0b25Nb2RlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBQYXJhbWV0ZXIgdG8gY2hlY2sgaXMgc2VuZCBtZXNzYWdlIGZ1bmN0aW9uIGF2YWlsYWJsZVxuICAgICAqXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgQElucHV0KCkgd2FpdEZvclJlcGx5ID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgc3VnZ2VzdGlvblNlbGVjdDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgICBAVmlld0NoaWxkKCdzdWdnZXN0aW9uQ2FyZHNMaXN0Jykgc3VnZ2VzdGlvbkNhcmRzTGlzdDogRWxlbWVudFJlZjtcblxuICAgIGdldCBoaWRkZW5WYWx1ZXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYWlDaGF0U3VnZ2VzdGlvbnMnKSkgfHwgW107XG4gICAgfVxuICAgIHNldCBoaWRkZW5WYWx1ZXModmFsdWVzKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhaUNoYXRTdWdnZXN0aW9ucycsIEpTT04uc3RyaW5naWZ5KHZhbHVlcykpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmZpbHRlclZhbHVlcygpO1xuICAgIH1cblxuICAgIG9uSXRlbUNsaWNrKGl0ZW06IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy53YWl0Rm9yUmVwbHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN1Z2dlc3Rpb25TZWxlY3QuZW1pdChpdGVtKTtcbiAgICAgICAgdGhpcy5oaWRkZW5WYWx1ZXMgPSBbLi4udGhpcy5oaWRkZW5WYWx1ZXMsIGl0ZW1dO1xuICAgICAgICB0aGlzLmZpbHRlclZhbHVlcygpO1xuICAgICAgICB0aGlzLnN1Z2dlc3Rpb25DYXJkc0xpc3QubmF0aXZlRWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zdWdnZXN0aW9uQ2FyZHNMaXN0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9ICcnLCAxMCk7XG4gICAgfVxuXG4gICAgZmlsdGVyVmFsdWVzKCkge1xuICAgICAgICBjb25zdCBoaWRkZW5WYWx1ZXMgPSB0aGlzLmhpZGRlblZhbHVlcztcbiAgICAgICAgdGhpcy5fbm9uSGlkZGVuVmFsdWVzID0gXy5maWx0ZXIodGhpcy52YWx1ZXMsIHZhbCA9PiAhaGlkZGVuVmFsdWVzLmluY2x1ZGVzKHZhbCkpO1xuICAgICAgICB0aGlzLmZpbGxWaXNpYmxlVmFsdWVzKCk7XG4gICAgfVxuXG4gICAgZmlsbFZpc2libGVWYWx1ZXMoKSB7XG4gICAgICAgIGNvbnN0IG1heEl0ZW1zQ291bnQgPSB0aGlzLmZ1bGxTY3JlZW4gPyA2IDogNDtcbiAgICAgICAgY29uc3Qgbm9uSGlkZGVuVmFsdWVzID0gXy5jbG9uZSh0aGlzLl9ub25IaWRkZW5WYWx1ZXMpO1xuICAgICAgICB0aGlzLnZpc2libGVWYWx1ZXMubGVuZ3RoID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXhJdGVtc0NvdW50OyBpKyspIHtcbiAgICAgICAgICAgIGlmICghbm9uSGlkZGVuVmFsdWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmFuZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBub25IaWRkZW5WYWx1ZXMubGVuZ3RoKTtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBub25IaWRkZW5WYWx1ZXMuc3BsaWNlKHJhbmRvbUluZGV4LCAxKVswXTtcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZVZhbHVlcy5wdXNoKGl0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xlYXJIaWRkZW4oKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhaUNoYXRTdWdnZXN0aW9ucycsIG51bGwpO1xuICAgICAgICB0aGlzLmZpbHRlclZhbHVlcygpO1xuICAgIH1cbn1cbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtc3VnZ2VzdGlvbnMvY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxHQUNqRCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQVE1QixNQUFNLE9BQU8sMEJBQTBCO0lBeUJuQyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXZCMUMscUJBQWdCLEdBQWEsRUFBRSxDQUFDO1FBQ2hDLGtCQUFhLEdBQWEsRUFBRSxDQUFDO1FBQzdCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUNuQixXQUFNLEdBQWMsRUFBRSxDQUFDO1FBQ3ZCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUVyQzs7OztXQUlHO1FBQ00saUJBQVksR0FBRyxLQUFLLENBQUM7UUFFcEIscUJBQWdCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7SUFVOUUsQ0FBQztJQVJELElBQUksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkUsQ0FBQztJQUNELElBQUksWUFBWSxDQUFDLE1BQU07UUFDbkIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUtELFFBQVE7UUFDSixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZO1FBQ3BCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFlBQVk7UUFDUixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNsRixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGFBQWEsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRTtnQkFDekIsTUFBTTthQUNUO1lBQ0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZFLE1BQU0sSUFBSSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsV0FBVztRQUNQLFlBQVksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxtQkFBbUI7UUFDZixJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDckQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDNUI7SUFDTCxDQUFDOzs7WUEvRUosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLGk3QkFBOEM7Z0JBRTlDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O1lBVkcsaUJBQWlCOzs7cUJBZ0JoQixLQUFLO3lCQUNMLEtBQUs7eUJBQ0wsS0FBSzsyQkFPTCxLQUFLOytCQUVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWNoYXQtc3VnZ2VzdGlvbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEckNoYXRTdWdnZXN0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBfbm9uSGlkZGVuVmFsdWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIHZpc2libGVWYWx1ZXM6IHN0cmluZ1tdID0gW107XG4gICAgaXNTdWdnZXN0ZWRNZW51T3BlbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHZhbHVlczogc3RyaW5nIFtdID0gW107XG4gICAgQElucHV0KCkgZnVsbFNjcmVlbjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGJ1dHRvbk1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFBhcmFtZXRlciB0byBjaGVjayBpcyBzZW5kIG1lc3NhZ2UgZnVuY3Rpb24gYXZhaWxhYmxlXG4gICAgICpcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICBASW5wdXQoKSB3YWl0Rm9yUmVwbHkgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBzdWdnZXN0aW9uU2VsZWN0OiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgZ2V0IGhpZGRlblZhbHVlcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhaUNoYXRTdWdnZXN0aW9ucycpKSB8fCBbXTtcbiAgICB9XG4gICAgc2V0IGhpZGRlblZhbHVlcyh2YWx1ZXMpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2FpQ2hhdFN1Z2dlc3Rpb25zJywgSlNPTi5zdHJpbmdpZnkodmFsdWVzKSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyVmFsdWVzKCk7XG4gICAgfVxuXG4gICAgb25JdGVtQ2xpY2soaXRlbTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLndhaXRGb3JSZXBseSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNTdWdnZXN0ZWRNZW51T3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnN1Z2dlc3Rpb25TZWxlY3QuZW1pdChpdGVtKTtcbiAgICAgICAgdGhpcy5oaWRkZW5WYWx1ZXMgPSBbLi4udGhpcy5oaWRkZW5WYWx1ZXMsIGl0ZW1dO1xuICAgICAgICB0aGlzLmZpbHRlclZhbHVlcygpO1xuICAgIH1cblxuICAgIGZpbHRlclZhbHVlcygpIHtcbiAgICAgICAgY29uc3QgaGlkZGVuVmFsdWVzID0gdGhpcy5oaWRkZW5WYWx1ZXM7XG4gICAgICAgIHRoaXMuX25vbkhpZGRlblZhbHVlcyA9IF8uZmlsdGVyKHRoaXMudmFsdWVzLCB2YWwgPT4gIWhpZGRlblZhbHVlcy5pbmNsdWRlcyh2YWwpKTtcbiAgICAgICAgdGhpcy5maWxsVmlzaWJsZVZhbHVlcygpO1xuICAgIH1cblxuICAgIGZpbGxWaXNpYmxlVmFsdWVzKCkge1xuICAgICAgICBjb25zdCBtYXhJdGVtc0NvdW50ID0gdGhpcy5mdWxsU2NyZWVuID8gNiA6IDQ7XG4gICAgICAgIGNvbnN0IG5vbkhpZGRlblZhbHVlcyA9IF8uY2xvbmUodGhpcy5fbm9uSGlkZGVuVmFsdWVzKTtcbiAgICAgICAgdGhpcy52aXNpYmxlVmFsdWVzLmxlbmd0aCA9IDA7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWF4SXRlbXNDb3VudDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoIW5vbkhpZGRlblZhbHVlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHJhbmRvbUluZGV4ID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbm9uSGlkZGVuVmFsdWVzLmxlbmd0aCk7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gbm9uSGlkZGVuVmFsdWVzLnNwbGljZShyYW5kb21JbmRleCwgMSlbMF07XG4gICAgICAgICAgICB0aGlzLnZpc2libGVWYWx1ZXMucHVzaChpdGVtKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBjbGVhckhpZGRlbigpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2FpQ2hhdFN1Z2dlc3Rpb25zJywgbnVsbCk7XG4gICAgICAgIHRoaXMuZmlsdGVyVmFsdWVzKCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlU3VnZ2VzdGVkTWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1N1Z2dlc3RlZE1lbnVPcGVuID0gIXRoaXMuaXNTdWdnZXN0ZWRNZW51T3BlbjtcbiAgICAgICAgaWYgKHRoaXMuaXNTdWdnZXN0ZWRNZW51T3Blbikge1xuICAgICAgICAgICAgdGhpcy5maWxsVmlzaWJsZVZhbHVlcygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -5661,9 +5661,11 @@ DrChatMessageComponent.propDecorators = {
5661
5661
  };
5662
5662
 
5663
5663
  class DrChatSuggestionsComponent {
5664
- constructor() {
5664
+ constructor(cdr) {
5665
+ this.cdr = cdr;
5665
5666
  this._nonHiddenValues = [];
5666
5667
  this.visibleValues = [];
5668
+ this.isSuggestedMenuOpen = false;
5667
5669
  this.values = [];
5668
5670
  this.fullScreen = false;
5669
5671
  this.buttonMode = false;
@@ -5688,11 +5690,10 @@ class DrChatSuggestionsComponent {
5688
5690
  if (this.waitForReply) {
5689
5691
  return;
5690
5692
  }
5693
+ this.isSuggestedMenuOpen = false;
5691
5694
  this.suggestionSelect.emit(item);
5692
5695
  this.hiddenValues = [...this.hiddenValues, item];
5693
5696
  this.filterValues();
5694
- this.suggestionCardsList.nativeElement.style.visibility = 'hidden';
5695
- setTimeout(() => this.suggestionCardsList.nativeElement.style.visibility = '', 10);
5696
5697
  }
5697
5698
  filterValues() {
5698
5699
  const hiddenValues = this.hiddenValues;
@@ -5711,28 +5712,36 @@ class DrChatSuggestionsComponent {
5711
5712
  const item = nonHiddenValues.splice(randomIndex, 1)[0];
5712
5713
  this.visibleValues.push(item);
5713
5714
  }
5715
+ this.cdr.markForCheck();
5714
5716
  }
5715
5717
  clearHidden() {
5716
5718
  localStorage.setItem('aiChatSuggestions', null);
5717
5719
  this.filterValues();
5718
5720
  }
5721
+ toggleSuggestedMenu() {
5722
+ this.isSuggestedMenuOpen = !this.isSuggestedMenuOpen;
5723
+ if (this.isSuggestedMenuOpen) {
5724
+ this.fillVisibleValues();
5725
+ }
5726
+ }
5719
5727
  }
5720
5728
  DrChatSuggestionsComponent.decorators = [
5721
5729
  { type: Component, args: [{
5722
5730
  selector: 'dr-chat-suggestions',
5723
- template: "<div class=\"chat-suggestions\">\n <ng-container *ngIf=\"buttonMode; else suggestionCards\">\n <div class=\"chat-suggestions__container\" (mouseenter)=\"fillVisibleValues()\">\n <dr-button theme=\"ghost\" class=\"chat-suggestions__container__button\">\n Suggested chats\n </dr-button>\n <ng-container *ngTemplateOutlet=\"suggestionCards\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #suggestionCards>\n <div class=\"chat-suggestions__items\" #suggestionCardsList>\n <div class=\"chat-suggestions__items__background\"></div>\n <div *ngFor=\"let item of visibleValues\"\n class=\"chat-suggestions__items__item\" (click)=\"onItemClick(item)\">\n {{ item }}\n </div>\n </div>\n</ng-template>\n",
5731
+ template: "<div class=\"chat-suggestions\">\n <ng-container *ngIf=\"buttonMode; else suggestionCards\">\n <div class=\"chat-suggestions__container\"\n [class.chat-suggestions__container--opened]=\"isSuggestedMenuOpen\"\n *ngIf=\"visibleValues.length\">\n <dr-button theme=\"ghost\" class=\"chat-suggestions__container__button\" (click)=\"toggleSuggestedMenu()\">\n Suggested chats\n </dr-button>\n <ng-container *ngTemplateOutlet=\"suggestionCards\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #suggestionCards>\n <div class=\"chat-suggestions__items\">\n <div class=\"chat-suggestions__items__background\"></div>\n <div *ngFor=\"let item of visibleValues\"\n class=\"chat-suggestions__items__item\" (click)=\"onItemClick(item)\">\n {{ item }}\n </div>\n </div>\n</ng-template>\n",
5724
5732
  changeDetection: ChangeDetectionStrategy.OnPush,
5725
- styles: [":host{display:flex;align-items:flex-start;justify-content:center}:host .chat-suggestions{display:flex;width:100%;max-width:970px}:host .chat-suggestions__container{display:flex;position:relative;width:auto;margin-top:12px;padding:0 24px}:host .chat-suggestions__container:hover{width:100%}:host .chat-suggestions__container:hover .chat-suggestions__container__button::ng-deep button{color:#4646ce;background:#f2f2fb}:host .chat-suggestions__container:hover .chat-suggestions__items,:host .chat-suggestions__container:hover .chat-suggestions__items__background{display:flex}:host .chat-suggestions__container__button::ng-deep button{background:#F2F2FF!important;border-radius:4px}:host .chat-suggestions__container .chat-suggestions__items{display:none;position:absolute;width:100%;bottom:0;left:0;padding-bottom:32px;z-index:2}:host .chat-suggestions__items{display:flex;flex-wrap:wrap;width:100%;justify-content:space-between;padding:0 24px}:host .chat-suggestions__items__background{display:none;position:absolute;top:-32px;right:0;bottom:32px;left:0;background:white;opacity:.7;z-index:-1}:host .chat-suggestions__items__item{margin:0 0 20px;display:inline-flex;height:76px;width:275px;padding:16px;border-radius:8px;background:#F2F2FF;box-shadow:0 1px 2px #00000026;font-size:14px;line-height:24px;color:#25258c}:host .chat-suggestions__items__item:hover{cursor:pointer;background:#EAEAFF}\n"]
5733
+ styles: [":host{display:flex;align-items:flex-start;justify-content:center}:host .chat-suggestions{display:flex;width:100%;max-width:970px}:host .chat-suggestions__container{display:flex;position:relative;width:auto;margin-top:12px;padding:0 24px}:host .chat-suggestions__container__button{z-index:3}:host .chat-suggestions__container__button::ng-deep button{background:#F2F2FB!important;border-radius:4px;cursor:pointer}:host .chat-suggestions__container .chat-suggestions__items{display:none;position:absolute;width:100%;bottom:0;left:0;padding-bottom:32px;z-index:2}:host .chat-suggestions__container--opened{width:100%}:host .chat-suggestions__container--opened .chat-suggestions__container__button::ng-deep button{color:#4646ce;background:#F2F2FB}:host .chat-suggestions__container--opened .chat-suggestions__items,:host .chat-suggestions__container--opened .chat-suggestions__items__background{display:flex}:host .chat-suggestions__items{display:flex;flex-wrap:wrap;width:100%;justify-content:space-between;padding:0 24px}:host .chat-suggestions__items__background{display:none;position:absolute;top:-32px;right:0;bottom:32px;left:0;background:#FFFFFF;opacity:.7;z-index:-1}:host .chat-suggestions__items__item{margin:0 0 20px;display:inline-flex;height:76px;width:275px;padding:16px;border-radius:8px;background:#F2F2FB;box-shadow:0 1px 2px #00000026;font-size:14px;line-height:24px;color:#25258c}:host .chat-suggestions__items__item:hover{cursor:pointer;background:#EAEAFF}\n"]
5726
5734
  },] }
5727
5735
  ];
5728
- DrChatSuggestionsComponent.ctorParameters = () => [];
5736
+ DrChatSuggestionsComponent.ctorParameters = () => [
5737
+ { type: ChangeDetectorRef }
5738
+ ];
5729
5739
  DrChatSuggestionsComponent.propDecorators = {
5730
5740
  values: [{ type: Input }],
5731
5741
  fullScreen: [{ type: Input }],
5732
5742
  buttonMode: [{ type: Input }],
5733
5743
  waitForReply: [{ type: Input }],
5734
- suggestionSelect: [{ type: Output }],
5735
- suggestionCardsList: [{ type: ViewChild, args: ['suggestionCardsList',] }]
5744
+ suggestionSelect: [{ type: Output }]
5736
5745
  };
5737
5746
 
5738
5747
  class DrChatComponent {