@testgorilla/tgo-ui 3.13.10 → 3.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/components/donut-chart/donut-chart.component.d.ts +2 -2
  2. package/components/field/field.component.d.ts +2 -1
  3. package/components/inline-field/inline-field.component.d.ts +2 -2
  4. package/components/overflow-menu/overflow-menu.component.d.ts +3 -1
  5. package/components/prompt/prompt.component.d.ts +54 -0
  6. package/components/prompt/prompt.model.d.ts +9 -0
  7. package/components/prompt/prompt.module.d.ts +19 -0
  8. package/components/radio-button/radio-button.component.d.ts +7 -1
  9. package/components/skeleton/skeleton.component.d.ts +1 -1
  10. package/esm2022/assets/i18n/en.json +6 -0
  11. package/esm2022/components/breadcrumb/breadcrumb.component.mjs +1 -1
  12. package/esm2022/components/field/field.component.mjs +6 -3
  13. package/esm2022/components/filter-button/filter-button.component.mjs +1 -1
  14. package/esm2022/components/inline-field/inline-field.component.mjs +1 -1
  15. package/esm2022/components/multi-input/multi-input.component.mjs +1 -1
  16. package/esm2022/components/overflow-menu/overflow-menu.component.mjs +7 -3
  17. package/esm2022/components/password-criteria/password.component.mjs +1 -1
  18. package/esm2022/components/prompt/prompt.component.mjs +187 -0
  19. package/esm2022/components/prompt/prompt.model.mjs +2 -0
  20. package/esm2022/components/prompt/prompt.module.mjs +62 -0
  21. package/esm2022/components/radio-button/radio-button.component.mjs +12 -4
  22. package/esm2022/public-api.mjs +5 -1
  23. package/fesm2022/testgorilla-tgo-ui.mjs +1308 -1066
  24. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  25. package/package.json +1 -1
  26. package/projects/tgo-canopy-ui/assets/i18n/en.json +7 -0
  27. package/public-api.d.ts +3 -0
@@ -85,7 +85,7 @@ export class PasswordComponent {
85
85
  useExisting: forwardRef(() => PasswordComponent),
86
86
  multi: true,
87
87
  },
88
- ], viewQueries: [{ propertyName: "requiredCriteria", first: true, predicate: ["requiredCriteria"], descendants: true }], ngImport: i0, template: "<div class=\"password-criteria-container\">\n\n <ui-field [applicationTheme]=\"'dark'\"\n [formControl]=\"formControl\"\n [ariaLabel]=\"requiredCriteria?.nativeElement?.innerText ?? ''\"\n [type]=\"'password'\"\n [placeholder]=\"('PASSWORD.PASSWORD_PLACEHOLDER' | uiTranslate | async) + (required ? ' *' : '')\"\n (keydown.enter)=\"showError = true\"\n (focusout)=\"showError = true\"\n ></ui-field>\n\n <div class=\"criteria-container\" *ngIf=\"showCriteria\" #requiredCriteria>\n\n <div class=\"progress\">\n <ui-progress-bar [progress]=\"progressValue === 1 ? 0 : progressValue\" [applicationTheme]=\"'dark'\"></ui-progress-bar>\n </div>\n\n <span *ngIf=\"allRequirementsMet\" style=\"position: absolute; left: -9999px\" [attr.aria-live]=\"'polite'\">{{ 'FIELD.ALL_PASSWORD_REQ_PASSED' | uiTranslate | async }}</span>\n\n <div\n *ngFor=\"let criterion of criteria\"\n class=\"criterion\"\n [attr.aria-live]=\"!allRequirementsMet ? 'polite' : ''\"\n [ngClass]=\"{ 'passed': criteriaPassed[criterion.key], error: !criteriaPassed[criterion.key] && showError }\"\n >\n <ui-icon [size]=\"'24'\"\n [color]=\"'rebrand-black'\"\n [name]=\"!criteriaPassed[criterion.key] && showError ? 'Info-in-line' : 'Check-round-in-line'\"\n applicationTheme=\"dark\"\n ></ui-icon>\n <span>{{ criterion.translateKey | uiTranslate | async }}</span>\n <span style=\"position: absolute; left: -9999px\">{{ (criteriaPassed[criterion.key] ? ('COMMON.PASSED') : ('COMMON.FAILED')) | uiTranslate | async }}</span>\n </div>\n </div>\n\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.password-criteria-container .criteria-container{margin-top:14px}.password-criteria-container .criteria-container .progress{margin-bottom:16px}.password-criteria-container .criteria-container .criterion{display:flex;flex-direction:row;align-items:center;gap:8px}.password-criteria-container .criteria-container .criterion ui-icon ::ng-deep svg{color:#e9e9e9}.password-criteria-container .criteria-container .criterion span{text-align:center;font-size:14px;line-height:23px;color:#242424}.password-criteria-container .criteria-container .criterion.passed ui-icon ::ng-deep svg{color:#242424}.password-criteria-container .criteria-container .criterion.passed span{color:#666;text-decoration:line-through}.password-criteria-container .criteria-container .criterion.error ui-icon ::ng-deep svg{color:#e02800}.password-criteria-container .criteria-container .criterion.error span{color:#e02800}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FieldComponent, selector: "ui-field", inputs: ["fullWidth", "fullHeight", "label", "labelHtml", "labelIcon", "fieldName", "placeholder", "id", "value", "badgeVariant", "errors", "disabled", "required", "readOnly", "hintMessage", "type", "updateOnBlur", "allowOnlyDigits", "isAutocompleteOff", "allowNegative", "showBottomContent", "applicationTheme", "ariaLabel", "loading", "isValid", "maxCharacters", "trimOnBlur", "trimOnSubmit", "maxRows", "hasTextAreaCounter", "hideBuiltInErrors", "hideLabelInErrors", "max", "min", "textareaHeight", "borderless", "isAIVariant", "ariaLabelledby", "ariaDescribedby", "hasError"], outputs: ["validateEvent", "fieldBlur"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i5.ProgressBarComponent, selector: "ui-progress-bar", inputs: ["companyColor", "progress", "mode", "buffer", "applicationTheme", "ariaLabel", "ariaDescribedBy", "showPercentage"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
88
+ ], viewQueries: [{ propertyName: "requiredCriteria", first: true, predicate: ["requiredCriteria"], descendants: true }], ngImport: i0, template: "<div class=\"password-criteria-container\">\n\n <ui-field [applicationTheme]=\"'dark'\"\n [formControl]=\"formControl\"\n [ariaLabel]=\"requiredCriteria?.nativeElement?.innerText ?? ''\"\n [type]=\"'password'\"\n [placeholder]=\"('PASSWORD.PASSWORD_PLACEHOLDER' | uiTranslate | async) + (required ? ' *' : '')\"\n (keydown.enter)=\"showError = true\"\n (focusout)=\"showError = true\"\n ></ui-field>\n\n <div class=\"criteria-container\" *ngIf=\"showCriteria\" #requiredCriteria>\n\n <div class=\"progress\">\n <ui-progress-bar [progress]=\"progressValue === 1 ? 0 : progressValue\" [applicationTheme]=\"'dark'\"></ui-progress-bar>\n </div>\n\n <span *ngIf=\"allRequirementsMet\" style=\"position: absolute; left: -9999px\" [attr.aria-live]=\"'polite'\">{{ 'FIELD.ALL_PASSWORD_REQ_PASSED' | uiTranslate | async }}</span>\n\n <div\n *ngFor=\"let criterion of criteria\"\n class=\"criterion\"\n [attr.aria-live]=\"!allRequirementsMet ? 'polite' : ''\"\n [ngClass]=\"{ 'passed': criteriaPassed[criterion.key], error: !criteriaPassed[criterion.key] && showError }\"\n >\n <ui-icon [size]=\"'24'\"\n [color]=\"'rebrand-black'\"\n [name]=\"!criteriaPassed[criterion.key] && showError ? 'Info-in-line' : 'Check-round-in-line'\"\n applicationTheme=\"dark\"\n ></ui-icon>\n <span>{{ criterion.translateKey | uiTranslate | async }}</span>\n <span style=\"position: absolute; left: -9999px\">{{ (criteriaPassed[criterion.key] ? ('COMMON.PASSED') : ('COMMON.FAILED')) | uiTranslate | async }}</span>\n </div>\n </div>\n\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.password-criteria-container .criteria-container{margin-top:14px}.password-criteria-container .criteria-container .progress{margin-bottom:16px}.password-criteria-container .criteria-container .criterion{display:flex;flex-direction:row;align-items:center;gap:8px}.password-criteria-container .criteria-container .criterion ui-icon ::ng-deep svg{color:#e9e9e9}.password-criteria-container .criteria-container .criterion span{text-align:center;font-size:14px;line-height:23px;color:#242424}.password-criteria-container .criteria-container .criterion.passed ui-icon ::ng-deep svg{color:#242424}.password-criteria-container .criteria-container .criterion.passed span{color:#666;text-decoration:line-through}.password-criteria-container .criteria-container .criterion.error ui-icon ::ng-deep svg{color:#e02800}.password-criteria-container .criteria-container .criterion.error span{color:#e02800}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FieldComponent, selector: "ui-field", inputs: ["fullWidth", "fullHeight", "label", "labelHtml", "labelIcon", "fieldName", "placeholder", "id", "value", "badgeVariant", "errors", "disabled", "required", "readOnly", "hintMessage", "type", "updateOnBlur", "allowOnlyDigits", "isAutocompleteOff", "allowNegative", "showBottomContent", "applicationTheme", "ariaLabel", "loading", "isValid", "maxCharacters", "trimOnBlur", "trimOnSubmit", "maxRows", "hasTextAreaCounter", "hideBuiltInErrors", "hideLabelInErrors", "max", "min", "textareaHeight", "borderless", "autosizableTextarea", "isAIVariant", "ariaLabelledby", "ariaDescribedby", "hasError"], outputs: ["validateEvent", "fieldBlur"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i5.ProgressBarComponent, selector: "ui-progress-bar", inputs: ["companyColor", "progress", "mode", "buffer", "applicationTheme", "ariaLabel", "ariaDescribedBy", "showPercentage"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
89
89
  }
90
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PasswordComponent, decorators: [{
91
91
  type: Component,
@@ -0,0 +1,187 @@
1
+ import { ChangeDetectionStrategy, Component, computed, DestroyRef, forwardRef, inject, input, output, signal, viewChild, } from '@angular/core';
2
+ import { debounceTime, filter, firstValueFrom, fromEvent, map, tap } from 'rxjs';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { UiTranslatePipe } from '../../pipes/ui-translate.pipe';
5
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "../field/field.component";
9
+ import * as i3 from "../button/button.component";
10
+ import * as i4 from "../overflow-menu/overflow-menu.component";
11
+ import * as i5 from "../tag/tag.component";
12
+ import * as i6 from "../badge/badge.component";
13
+ import * as i7 from "@angular/cdk/overlay";
14
+ import * as i8 from "@angular/material/tooltip";
15
+ import * as i9 from "../../pipes/ui-translate.pipe";
16
+ export class PromptComponent {
17
+ constructor() {
18
+ this.tags = input([]);
19
+ this.maxCharacters = input(255);
20
+ this.supportedFileTypes = input('');
21
+ this.autoClear = input(true);
22
+ this.showSendButton = input(false);
23
+ this.enableFileUpload = input(false);
24
+ this.promptData = output();
25
+ this.promptFilesList = signal([]);
26
+ this.promptTextValue = signal('');
27
+ this.fileListMenuConfig = signal([]);
28
+ this.tagsVisible = signal([]);
29
+ this.tagsInDropdown = signal([]);
30
+ this.autocompleteSuggestion = signal('');
31
+ this.isDropdownOpened = signal(false);
32
+ this.isFieldHovered = signal(false);
33
+ this.isFieldFocused = signal(false);
34
+ this.isHighlighted = computed(() => this.isFieldHovered() || this.isFieldFocused());
35
+ this.destroyRef = inject(DestroyRef);
36
+ this.translationPipe = inject(UiTranslatePipe);
37
+ this.fileDrop = viewChild('fileDropRef');
38
+ this.tagDropdown = viewChild('tagDropdown');
39
+ this.fieldComponentRef = viewChild.required('textarea');
40
+ this.dropdownPositions = [
41
+ {
42
+ originX: 'start',
43
+ originY: 'bottom',
44
+ overlayX: 'start',
45
+ overlayY: 'top',
46
+ },
47
+ ];
48
+ this.onChange = (v) => { };
49
+ this.onTouch = () => { };
50
+ }
51
+ ngOnInit() {
52
+ this.initTags();
53
+ }
54
+ ngAfterViewInit() {
55
+ setTimeout(() => {
56
+ this.syncInputChange();
57
+ }, 0);
58
+ }
59
+ async uploadFile(event) {
60
+ const files = event.currentTarget.files;
61
+ if (files && files.length) {
62
+ this.promptFilesList.update(list => {
63
+ list.push(files.item(0));
64
+ return list;
65
+ });
66
+ this.emitValue();
67
+ await this.updateFileMenu();
68
+ }
69
+ }
70
+ sendPromptData() {
71
+ this.promptData.emit({ text: this.promptTextValue() || '', files: this.promptFilesList() });
72
+ if (this.autoClear()) {
73
+ this.clearPromptData();
74
+ }
75
+ }
76
+ selectedMenuOption(menuOptionValue) {
77
+ const updatedConfig = this.fileListMenuConfig().filter(menu => menu.value !== menuOptionValue);
78
+ const updatedFileList = this.promptFilesList().filter(file => file.name !== menuOptionValue);
79
+ this.promptFilesList.set(updatedFileList);
80
+ this.fileListMenuConfig.set(updatedConfig);
81
+ }
82
+ selectTag(tag, event) {
83
+ event.stopPropagation();
84
+ event.preventDefault();
85
+ this.isDropdownOpened.set(false);
86
+ this.promptTextValue.set(tag.label);
87
+ this.autocompleteSuggestion.set(`${tag.label} ${tag.autocomplete}`);
88
+ this.fieldComponentRef().field.nativeElement.focus();
89
+ this.onTouch();
90
+ }
91
+ onTextareaTab(event) {
92
+ if (this.autocompleteSuggestion()) {
93
+ event.preventDefault();
94
+ this.promptTextValue.set(this.autocompleteSuggestion());
95
+ this.autocompleteSuggestion.set('');
96
+ }
97
+ }
98
+ dropdownOutsideClick() {
99
+ this.isDropdownOpened.set(false);
100
+ }
101
+ toggleDropdown() {
102
+ this.isDropdownOpened.set(!this.isDropdownOpened());
103
+ }
104
+ focusTagDropdown() {
105
+ setTimeout(() => {
106
+ this.tagDropdown()?.nativeElement.focus();
107
+ }, 300);
108
+ }
109
+ syncInputChange() {
110
+ if (!this.fieldComponentRef()?.field?.nativeElement) {
111
+ return;
112
+ }
113
+ fromEvent(this.fieldComponentRef().field.nativeElement, 'input')
114
+ .pipe(takeUntilDestroyed(this.destroyRef), map((event) => event.target.value), debounceTime(200), filter(value => typeof value === 'string'), tap(value => {
115
+ this.promptTextValue.set(value);
116
+ if (this.autocompleteSuggestion()) {
117
+ this.autocompleteSuggestion.set('');
118
+ }
119
+ this.emitValue();
120
+ }))
121
+ .subscribe();
122
+ }
123
+ initTags() {
124
+ if (!this.tags()?.length) {
125
+ return;
126
+ }
127
+ if (this.tags().length <= 5) {
128
+ this.tagsVisible.set(this.tags());
129
+ return;
130
+ }
131
+ this.tagsVisible.set(this.tags().slice(0, 5));
132
+ this.tagsInDropdown.set(this.tags().slice(5));
133
+ }
134
+ async updateFileMenu() {
135
+ const menuConfig = [];
136
+ const tooltip = await firstValueFrom(this.translationPipe.transform('COMMON.DELETE'));
137
+ this.promptFilesList().forEach(file => {
138
+ menuConfig.push({
139
+ label: file.name,
140
+ value: file.name,
141
+ icon: 'Delete',
142
+ tooltipText: tooltip,
143
+ });
144
+ });
145
+ this.fileListMenuConfig.set(menuConfig);
146
+ }
147
+ clearPromptData() {
148
+ this.promptTextValue.set('');
149
+ this.promptFilesList.set([]);
150
+ this.fileListMenuConfig.set([]);
151
+ }
152
+ writeValue(value) {
153
+ this.promptTextValue.set(value.text || '');
154
+ this.promptFilesList.set(value.files || []);
155
+ }
156
+ registerOnChange(fn) {
157
+ this.onChange = fn;
158
+ }
159
+ registerOnTouched(fn) {
160
+ this.onTouch = fn;
161
+ }
162
+ emitValue() {
163
+ this.onChange({ text: this.promptTextValue() || '', files: this.promptFilesList() });
164
+ this.onTouch();
165
+ }
166
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PromptComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
167
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PromptComponent, selector: "ui-prompt", inputs: { tags: { classPropertyName: "tags", publicName: "tags", isSignal: true, isRequired: false, transformFunction: null }, maxCharacters: { classPropertyName: "maxCharacters", publicName: "maxCharacters", isSignal: true, isRequired: false, transformFunction: null }, supportedFileTypes: { classPropertyName: "supportedFileTypes", publicName: "supportedFileTypes", isSignal: true, isRequired: false, transformFunction: null }, autoClear: { classPropertyName: "autoClear", publicName: "autoClear", isSignal: true, isRequired: false, transformFunction: null }, showSendButton: { classPropertyName: "showSendButton", publicName: "showSendButton", isSignal: true, isRequired: false, transformFunction: null }, enableFileUpload: { classPropertyName: "enableFileUpload", publicName: "enableFileUpload", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { promptData: "promptData" }, providers: [
168
+ UiTranslatePipe,
169
+ {
170
+ provide: NG_VALUE_ACCESSOR,
171
+ useExisting: forwardRef(() => PromptComponent),
172
+ multi: true,
173
+ },
174
+ ], viewQueries: [{ propertyName: "fileDrop", first: true, predicate: ["fileDropRef"], descendants: true, isSignal: true }, { propertyName: "tagDropdown", first: true, predicate: ["tagDropdown"], descendants: true, isSignal: true }, { propertyName: "fieldComponentRef", first: true, predicate: ["textarea"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-container>\n <div\n class=\"prompt-container\"\n cdkOverlayOrigin\n #promptOrigin=\"cdkOverlayOrigin\"\n #promptContainerRef\n [ngClass]=\"{ 'prompt-container-focused': isHighlighted() }\"\n >\n <div class=\"prompt-autocomplete\">\n <textarea tabindex=\"-1\" class=\"ghost\" id=\"autocomplete\" [value]=\"autocompleteSuggestion()\" readonly></textarea>\n\n <ui-field\n #textarea\n class=\"prompt-text\"\n role=\"input\"\n [showBottomContent]=\"false\"\n [borderless]=\"true\"\n [type]=\"'multi-line'\"\n [autosizableTextarea]=\"true\"\n [maxCharacters]=\"maxCharacters()\"\n [placeholder]=\"('PROMPT.ASK_ANYTHING' | uiTranslate | async)!\"\n [value]=\"promptTextValue() || ''\"\n [hasTextAreaCounter]=\"false\"\n (mouseenter)=\"isFieldHovered.set(true)\"\n (mouseleave)=\"isFieldHovered.set(false)\"\n (focusin)=\"isFieldFocused.set(true)\"\n (fieldBlur)=\"isFieldFocused.set(false)\"\n (keydown.tab)=\"onTextareaTab($event)\"\n ></ui-field>\n </div>\n <div class=\"prompt-footer flex-container\">\n <div class=\"flex-container\">\n @if (enableFileUpload()) {\n <ui-button\n [variant]=\"'icon-button'\"\n [tooltip]=\"('PROMPT.ADD_FILES' | uiTranslate | async)!\"\n [tooltipPosition]=\"'above'\"\n [ariaLabel]=\"('PROMPT.ADD_FILES' | uiTranslate | async)!\"\n [iconName]=\"'Plus'\"\n (click)=\"fileDrop()?.nativeElement?.click()\"\n ></ui-button>\n <input\n [tabIndex]=\"-1\"\n class=\"form-control\"\n #fileDropRef\n type=\"file\"\n id=\"file-upload\"\n [accept]=\"supportedFileTypes()\"\n (change)=\"uploadFile($event)\"\n />\n\n @if (promptFilesList().length) {\n <div class=\"menu\">\n <ui-badge\n [notificationsAmount]=\"promptFilesList().length\"\n [variant]=\"'notification'\"\n class=\"menu-badge\"\n ></ui-badge>\n <ui-overflow-menu\n [matTooltip]=\"('PROMPT.FILES' | uiTranslate | async)!\"\n [matTooltipPosition]=\"'above'\"\n [buttonSize]=\"'medium'\"\n [iconTrigger]=\"'Document'\"\n [buttonVariant]=\"'ghost'\"\n [buttons]=\"fileListMenuConfig()\"\n [isDynamicMenu]=\"true\"\n [withRemovableOption]=\"true\"\n (selectItem)=\"selectedMenuOption($event)\"\n ></ui-overflow-menu>\n </div>\n }\n }\n </div>\n\n @if (tags()?.length && !promptTextValue()) {\n <div class=\"flex-container carousel\">\n <div class=\"tag-container flex-container\" role=\"list\" #tagsScrollContainer>\n @for (tag of tagsVisible(); track tag) {\n <ui-tag\n [label]=\"tag.label\"\n role=\"listitem\"\n [ariaLabel]=\"tag.label\"\n (click)=\"selectTag(tag, $event)\"\n (keyup.enter)=\"selectTag(tag, $event)\"\n (keyup.space)=\"selectTag(tag, $event)\"\n ></ui-tag>\n }\n\n @if (tagsInDropdown().length) {\n <ui-button\n class=\"view-more\"\n variant=\"text-inline\"\n [label]=\"('PROMPT.VIEW_MORE' | uiTranslate | async)!\"\n [ariaLabel]=\"('PROMPT.VIEW_MORE' | uiTranslate | async)!\"\n [size]=\"'medium'\"\n (click)=\"toggleDropdown()\"\n (keydown.enter)=\"focusTagDropdown()\"\n cdkOverlayOrigin\n #dropdownTrigger=\"cdkOverlayOrigin\"\n ></ui-button>\n }\n </div>\n\n <div class=\"flex-container\">\n <ui-button\n [variant]=\"'icon-button'\"\n [size]=\"'small'\"\n [ariaLabel]=\"'Scroll left button'\"\n [iconName]=\"'Arrow-chevron-left-in-line'\"\n [disabled]=\"tagsScrollContainer.scrollLeft === 0\"\n (click)=\"tagsScrollContainer.scrollBy({ left: -100, behavior: 'smooth' })\"\n ></ui-button>\n <ui-button\n [variant]=\"'icon-button'\"\n [size]=\"'small'\"\n [iconName]=\"'Arrow-chevron-right-in-line'\"\n [ariaLabel]=\"'Scroll right button'\"\n [disabled]=\"\n tagsScrollContainer.scrollLeft + tagsScrollContainer.clientWidth >= tagsScrollContainer.scrollWidth\n \"\n (click)=\"tagsScrollContainer.scrollBy({ left: 100, behavior: 'smooth' })\"\n ></ui-button>\n </div>\n </div>\n }\n\n @if (showSendButton()) {\n <ui-button\n class=\"send-button\"\n [variant]=\"'secondary'\"\n [iconName]=\"'Arrow-up-in-line'\"\n [tooltip]=\"('COMMON.SEND' | uiTranslate | async)!\"\n [ariaLabel]=\"('COMMON.SEND' | uiTranslate | async)!\"\n [tooltipPosition]=\"'above'\"\n [size]=\"'medium'\"\n [disabled]=\"!promptTextValue() && !promptFilesList().length\"\n (click)=\"sendPromptData()\"\n ></ui-button>\n }\n </div>\n </div>\n\n <!-- Dropdown for hidden tags -->\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"promptOrigin\"\n [cdkConnectedOverlayOpen]=\"isDropdownOpened()\"\n [cdkConnectedOverlayPositions]=\"dropdownPositions\"\n [cdkConnectedOverlayWidth]=\"promptContainerRef?.offsetWidth || 0\"\n (overlayOutsideClick)=\"dropdownOutsideClick()\"\n >\n <div class=\"dropdown-container\" role=\"list\" #tagDropdown tabindex=\"0\">\n @for (tag of tagsInDropdown(); track tag) {\n <div\n class=\"dropdown-tag\"\n tabindex=\"0\"\n [attr.aria-label]=\"tag.label\"\n role=\"listitem\"\n (click)=\"selectTag(tag, $event)\"\n (keyup.enter)=\"selectTag(tag, $event)\"\n (keyup.space)=\"selectTag(tag, $event)\"\n >\n {{ tag.label }}\n </div>\n }\n </div>\n </ng-template>\n</ng-container>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host ::ng-deep ui-field.prompt-text .mat-mdc-text-field-wrapper{border-radius:10px!important}:host ::ng-deep ui-field.prompt-text .mat-mdc-form-field.keyboard-focused .mat-mdc-text-field-wrapper:after{outline:2px solid black}:host ::ng-deep .ui-field .mat-mdc-form-field.multi-line-textarea.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper{background:transparent}:host ::ng-deep .ui-field .mat-mdc-form-field.multi-line-textarea.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix{padding-bottom:0!important}:host ::ng-deep .ui-field .mat-mdc-form-field.multi-line-textarea.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper textarea{max-height:220px!important}:host ::ng-deep .ui-field .mat-mdc-form-field.multi-line-textarea.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper textarea:focus{border:2px solid black}:host ::ng-deep ui-button.send-button .rounded-icon .mdc-button{width:48px!important;height:48px!important}:host ::ng-deep ui-overflow-menu button.mat-mdc-unelevated-button.ghost.light-theme.only-icon{border:none}.prompt-container{border:2px solid transparent;border-radius:10px;background:linear-gradient(to left,#fff,#fff),linear-gradient(to right,#d410aa 25%,#0165fc);background-clip:padding-box,border-box;background-origin:padding-box,border-box}.prompt-container-focused{border:2px solid black}.dropdown-container{width:100%}.dropdown-tag{padding:16px;background-color:#fff}.dropdown-tag:hover,.dropdown-tag:focus{background-color:#fff2fc;cursor:pointer}.carousel{flex-grow:1;min-width:0}.tag-container{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;margin:0 8px}.tag-container::-webkit-scrollbar{display:none}#file-upload{display:none}.prompt-footer,.flex-container{display:flex;flex-flow:row nowrap;align-items:center}.prompt-footer{justify-content:space-between;padding:8px 16px}@media (max-width: 600px){.prompt-footer{padding:8px}}@media (max-width: 320px){.prompt-footer{padding:8px}}.menu{display:flex;flex-flow:column nowrap;position:relative}.menu .menu-badge{position:absolute;right:0;z-index:1000}.view-more{margin-left:4px;white-space:nowrap}.view-more ::ng-deep button.mat-mdc-unelevated-button .label{white-space:nowrap}.prompt-container{position:relative}.ghost{position:absolute;top:0;left:0;bottom:16px;color:#888;border:none;pointer-events:none;background:transparent;width:100%;padding:12px 16px;font-size:inherit;line-height:22px;letter-spacing:inherit;font-weight:inherit;font-family:ModernGothic,sans-serif;resize:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.FieldComponent, selector: "ui-field", inputs: ["fullWidth", "fullHeight", "label", "labelHtml", "labelIcon", "fieldName", "placeholder", "id", "value", "badgeVariant", "errors", "disabled", "required", "readOnly", "hintMessage", "type", "updateOnBlur", "allowOnlyDigits", "isAutocompleteOff", "allowNegative", "showBottomContent", "applicationTheme", "ariaLabel", "loading", "isValid", "maxCharacters", "trimOnBlur", "trimOnSubmit", "maxRows", "hasTextAreaCounter", "hideBuiltInErrors", "hideLabelInErrors", "max", "min", "textareaHeight", "borderless", "autosizableTextarea", "isAIVariant", "ariaLabelledby", "ariaDescribedby", "hasError"], outputs: ["validateEvent", "fieldBlur"] }, { kind: "component", type: i3.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "hasBackground", "tooltipPosition", "role", "iconFilled"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: i4.OverflowMenuComponent, selector: "ui-overflow-menu", inputs: ["buttons", "iconTrigger", "menuLabel", "applicationTheme", "ariaLabel", "ariaRequired", "describedby", "contentTemplateRef", "buttonVariant", "buttonSize", "menuConfig", "isDynamicMenu", "withRemovableOption"], outputs: ["selectItem", "menuOpened", "menuClosed"] }, { kind: "component", type: i5.TagComponent, selector: "ui-tag", inputs: ["label", "icon", "allowClose", "readOnly", "isSelected", "showIconWhenSelected", "isDisabled", "applicationTheme", "ariaLabel", "ariaRequired"], outputs: ["close", "press"] }, { kind: "component", type: i6.BadgeComponent, selector: "ui-badge", inputs: ["label", "icon", "color", "variant", "notificationsAmount", "applicationTheme", "rebrandColor", "truncateLabel", "enableAnimation"] }, { kind: "directive", type: i7.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: i7.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
175
+ }
176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PromptComponent, decorators: [{
177
+ type: Component,
178
+ args: [{ selector: 'ui-prompt', providers: [
179
+ UiTranslatePipe,
180
+ {
181
+ provide: NG_VALUE_ACCESSOR,
182
+ useExisting: forwardRef(() => PromptComponent),
183
+ multi: true,
184
+ },
185
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <div\n class=\"prompt-container\"\n cdkOverlayOrigin\n #promptOrigin=\"cdkOverlayOrigin\"\n #promptContainerRef\n [ngClass]=\"{ 'prompt-container-focused': isHighlighted() }\"\n >\n <div class=\"prompt-autocomplete\">\n <textarea tabindex=\"-1\" class=\"ghost\" id=\"autocomplete\" [value]=\"autocompleteSuggestion()\" readonly></textarea>\n\n <ui-field\n #textarea\n class=\"prompt-text\"\n role=\"input\"\n [showBottomContent]=\"false\"\n [borderless]=\"true\"\n [type]=\"'multi-line'\"\n [autosizableTextarea]=\"true\"\n [maxCharacters]=\"maxCharacters()\"\n [placeholder]=\"('PROMPT.ASK_ANYTHING' | uiTranslate | async)!\"\n [value]=\"promptTextValue() || ''\"\n [hasTextAreaCounter]=\"false\"\n (mouseenter)=\"isFieldHovered.set(true)\"\n (mouseleave)=\"isFieldHovered.set(false)\"\n (focusin)=\"isFieldFocused.set(true)\"\n (fieldBlur)=\"isFieldFocused.set(false)\"\n (keydown.tab)=\"onTextareaTab($event)\"\n ></ui-field>\n </div>\n <div class=\"prompt-footer flex-container\">\n <div class=\"flex-container\">\n @if (enableFileUpload()) {\n <ui-button\n [variant]=\"'icon-button'\"\n [tooltip]=\"('PROMPT.ADD_FILES' | uiTranslate | async)!\"\n [tooltipPosition]=\"'above'\"\n [ariaLabel]=\"('PROMPT.ADD_FILES' | uiTranslate | async)!\"\n [iconName]=\"'Plus'\"\n (click)=\"fileDrop()?.nativeElement?.click()\"\n ></ui-button>\n <input\n [tabIndex]=\"-1\"\n class=\"form-control\"\n #fileDropRef\n type=\"file\"\n id=\"file-upload\"\n [accept]=\"supportedFileTypes()\"\n (change)=\"uploadFile($event)\"\n />\n\n @if (promptFilesList().length) {\n <div class=\"menu\">\n <ui-badge\n [notificationsAmount]=\"promptFilesList().length\"\n [variant]=\"'notification'\"\n class=\"menu-badge\"\n ></ui-badge>\n <ui-overflow-menu\n [matTooltip]=\"('PROMPT.FILES' | uiTranslate | async)!\"\n [matTooltipPosition]=\"'above'\"\n [buttonSize]=\"'medium'\"\n [iconTrigger]=\"'Document'\"\n [buttonVariant]=\"'ghost'\"\n [buttons]=\"fileListMenuConfig()\"\n [isDynamicMenu]=\"true\"\n [withRemovableOption]=\"true\"\n (selectItem)=\"selectedMenuOption($event)\"\n ></ui-overflow-menu>\n </div>\n }\n }\n </div>\n\n @if (tags()?.length && !promptTextValue()) {\n <div class=\"flex-container carousel\">\n <div class=\"tag-container flex-container\" role=\"list\" #tagsScrollContainer>\n @for (tag of tagsVisible(); track tag) {\n <ui-tag\n [label]=\"tag.label\"\n role=\"listitem\"\n [ariaLabel]=\"tag.label\"\n (click)=\"selectTag(tag, $event)\"\n (keyup.enter)=\"selectTag(tag, $event)\"\n (keyup.space)=\"selectTag(tag, $event)\"\n ></ui-tag>\n }\n\n @if (tagsInDropdown().length) {\n <ui-button\n class=\"view-more\"\n variant=\"text-inline\"\n [label]=\"('PROMPT.VIEW_MORE' | uiTranslate | async)!\"\n [ariaLabel]=\"('PROMPT.VIEW_MORE' | uiTranslate | async)!\"\n [size]=\"'medium'\"\n (click)=\"toggleDropdown()\"\n (keydown.enter)=\"focusTagDropdown()\"\n cdkOverlayOrigin\n #dropdownTrigger=\"cdkOverlayOrigin\"\n ></ui-button>\n }\n </div>\n\n <div class=\"flex-container\">\n <ui-button\n [variant]=\"'icon-button'\"\n [size]=\"'small'\"\n [ariaLabel]=\"'Scroll left button'\"\n [iconName]=\"'Arrow-chevron-left-in-line'\"\n [disabled]=\"tagsScrollContainer.scrollLeft === 0\"\n (click)=\"tagsScrollContainer.scrollBy({ left: -100, behavior: 'smooth' })\"\n ></ui-button>\n <ui-button\n [variant]=\"'icon-button'\"\n [size]=\"'small'\"\n [iconName]=\"'Arrow-chevron-right-in-line'\"\n [ariaLabel]=\"'Scroll right button'\"\n [disabled]=\"\n tagsScrollContainer.scrollLeft + tagsScrollContainer.clientWidth >= tagsScrollContainer.scrollWidth\n \"\n (click)=\"tagsScrollContainer.scrollBy({ left: 100, behavior: 'smooth' })\"\n ></ui-button>\n </div>\n </div>\n }\n\n @if (showSendButton()) {\n <ui-button\n class=\"send-button\"\n [variant]=\"'secondary'\"\n [iconName]=\"'Arrow-up-in-line'\"\n [tooltip]=\"('COMMON.SEND' | uiTranslate | async)!\"\n [ariaLabel]=\"('COMMON.SEND' | uiTranslate | async)!\"\n [tooltipPosition]=\"'above'\"\n [size]=\"'medium'\"\n [disabled]=\"!promptTextValue() && !promptFilesList().length\"\n (click)=\"sendPromptData()\"\n ></ui-button>\n }\n </div>\n </div>\n\n <!-- Dropdown for hidden tags -->\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"promptOrigin\"\n [cdkConnectedOverlayOpen]=\"isDropdownOpened()\"\n [cdkConnectedOverlayPositions]=\"dropdownPositions\"\n [cdkConnectedOverlayWidth]=\"promptContainerRef?.offsetWidth || 0\"\n (overlayOutsideClick)=\"dropdownOutsideClick()\"\n >\n <div class=\"dropdown-container\" role=\"list\" #tagDropdown tabindex=\"0\">\n @for (tag of tagsInDropdown(); track tag) {\n <div\n class=\"dropdown-tag\"\n tabindex=\"0\"\n [attr.aria-label]=\"tag.label\"\n role=\"listitem\"\n (click)=\"selectTag(tag, $event)\"\n (keyup.enter)=\"selectTag(tag, $event)\"\n (keyup.space)=\"selectTag(tag, $event)\"\n >\n {{ tag.label }}\n </div>\n }\n </div>\n </ng-template>\n</ng-container>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host ::ng-deep ui-field.prompt-text .mat-mdc-text-field-wrapper{border-radius:10px!important}:host ::ng-deep ui-field.prompt-text .mat-mdc-form-field.keyboard-focused .mat-mdc-text-field-wrapper:after{outline:2px solid black}:host ::ng-deep .ui-field .mat-mdc-form-field.multi-line-textarea.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper{background:transparent}:host ::ng-deep .ui-field .mat-mdc-form-field.multi-line-textarea.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix{padding-bottom:0!important}:host ::ng-deep .ui-field .mat-mdc-form-field.multi-line-textarea.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper textarea{max-height:220px!important}:host ::ng-deep .ui-field .mat-mdc-form-field.multi-line-textarea.mat-mdc-form-field-type-mat-input.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper textarea:focus{border:2px solid black}:host ::ng-deep ui-button.send-button .rounded-icon .mdc-button{width:48px!important;height:48px!important}:host ::ng-deep ui-overflow-menu button.mat-mdc-unelevated-button.ghost.light-theme.only-icon{border:none}.prompt-container{border:2px solid transparent;border-radius:10px;background:linear-gradient(to left,#fff,#fff),linear-gradient(to right,#d410aa 25%,#0165fc);background-clip:padding-box,border-box;background-origin:padding-box,border-box}.prompt-container-focused{border:2px solid black}.dropdown-container{width:100%}.dropdown-tag{padding:16px;background-color:#fff}.dropdown-tag:hover,.dropdown-tag:focus{background-color:#fff2fc;cursor:pointer}.carousel{flex-grow:1;min-width:0}.tag-container{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;margin:0 8px}.tag-container::-webkit-scrollbar{display:none}#file-upload{display:none}.prompt-footer,.flex-container{display:flex;flex-flow:row nowrap;align-items:center}.prompt-footer{justify-content:space-between;padding:8px 16px}@media (max-width: 600px){.prompt-footer{padding:8px}}@media (max-width: 320px){.prompt-footer{padding:8px}}.menu{display:flex;flex-flow:column nowrap;position:relative}.menu .menu-badge{position:absolute;right:0;z-index:1000}.view-more{margin-left:4px;white-space:nowrap}.view-more ::ng-deep button.mat-mdc-unelevated-button .label{white-space:nowrap}.prompt-container{position:relative}.ghost{position:absolute;top:0;left:0;bottom:16px;color:#888;border:none;pointer-events:none;background:transparent;width:100%;padding:12px 16px;font-size:inherit;line-height:22px;letter-spacing:inherit;font-weight:inherit;font-family:ModernGothic,sans-serif;resize:none}\n"] }]
186
+ }] });
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9wcm9tcHQvcHJvbXB0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9wcm9tcHQvcHJvbXB0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBRVYsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBZ0J6RSxNQUFNLE9BQU8sZUFBZTtJQWQ1QjtRQWVFLFNBQUksR0FBRyxLQUFLLENBQWMsRUFBRSxDQUFDLENBQUM7UUFDOUIsa0JBQWEsR0FBRyxLQUFLLENBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkMsdUJBQWtCLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLGNBQVMsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDakMsbUJBQWMsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDdkMscUJBQWdCLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FB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V0FBVyxhQUdWO3dCQUNULGVBQWU7d0JBQ2Y7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIERlc3Ryb3lSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIE9uSW5pdCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IE92ZXJmbG93TWVudUJ1dHRvbnNUeXBlIH0gZnJvbSAnLi4vb3ZlcmZsb3ctbWVudS9vdmVyZmxvdy1tZW51Lm1vZGVsJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCBmaXJzdFZhbHVlRnJvbSwgZnJvbUV2ZW50LCBtYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi9maWVsZC9maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvbXB0RGF0YSwgUHJvbXB0VGFnIH0gZnJvbSAnLi9wcm9tcHQubW9kZWwnO1xuaW1wb3J0IHsgVWlUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvdWktdHJhbnNsYXRlLnBpcGUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1wcm9tcHQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvbXB0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb21wdC5jb21wb25lbnQuc2NzcycsXG4gIHByb3ZpZGVyczogW1xuICAgIFVpVHJhbnNsYXRlUGlwZSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFByb21wdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUHJvbXB0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHRhZ3MgPSBpbnB1dDxQcm9tcHRUYWdbXT4oW10pO1xuICBtYXhDaGFyYWN0ZXJzID0gaW5wdXQ8bnVtYmVyPigyNTUpO1xuICBzdXBwb3J0ZWRGaWxlVHlwZXMgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgYXV0b0NsZWFyID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG4gIHNob3dTZW5kQnV0dG9uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBlbmFibGVGaWxlVXBsb2FkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHByb21wdERhdGEgPSBvdXRwdXQ8UHJvbXB0RGF0YT4oKTtcblxuICBwcm9tcHRGaWxlc0xpc3QgPSBzaWduYWw8RmlsZVtdPihbXSk7XG4gIHByb21wdFRleHRWYWx1ZSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgZmlsZUxpc3RNZW51Q29uZmlnID0gc2lnbmFsPE92ZXJmbG93TWVudUJ1dHRvbnNUeXBlW10+KFtdKTtcblxuICB0YWdzVmlzaWJsZSA9IHNpZ25hbDxQcm9tcHRUYWdbXT4oW10pO1xuICB0YWdzSW5Ecm9wZG93biA9IHNpZ25hbDxQcm9tcHRUYWdbXT4oW10pO1xuICBhdXRvY29tcGxldGVTdWdnZXN0aW9uID0gc2lnbmFsPHN0cmluZz4oJycpO1xuXG4gIGlzRHJvcGRvd25PcGVuZWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBpc0ZpZWxkSG92ZXJlZCA9IHNpZ25hbChmYWxzZSk7XG4gIGlzRmllbGRGb2N1c2VkID0gc2lnbmFsKGZhbHNlKTtcbiAgaXNIaWdobGlnaHRlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaXNGaWVsZEhvdmVyZWQoKSB8fCB0aGlzLmlzRmllbGRGb2N1c2VkKCkpO1xuXG4gIHByaXZhdGUgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvblBpcGUgPSBpbmplY3QoVWlUcmFuc2xhdGVQaXBlKTtcblxuICBmaWxlRHJvcCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PignZmlsZURyb3BSZWYnKTtcbiAgdGFnRHJvcGRvd24gPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50Pj4oJ3RhZ0Ryb3Bkb3duJyk7XG4gIGZpZWxkQ29tcG9uZW50UmVmID0gdmlld0NoaWxkLnJlcXVpcmVkPEZpZWxkQ29tcG9uZW50PigndGV4dGFyZWEnKTtcblxuICByZWFkb25seSBkcm9wZG93blBvc2l0aW9uczogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFtcbiAgICB7XG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICB9LFxuICBdO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdFRhZ3MoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc3luY0lucHV0Q2hhbmdlKCk7XG4gICAgfSwgMCk7XG4gIH1cblxuICBhc3luYyB1cGxvYWRGaWxlKGV2ZW50OiBFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZpbGVzID0gKGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuZmlsZXM7XG4gICAgaWYgKGZpbGVzICYmIGZpbGVzLmxlbmd0aCkge1xuICAgICAgdGhpcy5wcm9tcHRGaWxlc0xpc3QudXBkYXRlKGxpc3QgPT4ge1xuICAgICAgICBsaXN0LnB1c2goZmlsZXMuaXRlbSgwKSBhcyBGaWxlKTtcbiAgICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuZW1pdFZhbHVlKCk7XG4gICAgICBhd2FpdCB0aGlzLnVwZGF0ZUZpbGVNZW51KCk7XG4gICAgfVxuICB9XG5cbiAgc2VuZFByb21wdERhdGEoKTogdm9pZCB7XG4gICAgdGhpcy5wcm9tcHREYXRhLmVtaXQoeyB0ZXh0OiB0aGlzLnByb21wdFRleHRWYWx1ZSgpIHx8ICcnLCBmaWxlczogdGhpcy5wcm9tcHRGaWxlc0xpc3QoKSB9KTtcblxuICAgIGlmICh0aGlzLmF1dG9DbGVhcigpKSB7XG4gICAgICB0aGlzLmNsZWFyUHJvbXB0RGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdGVkTWVudU9wdGlvbihtZW51T3B0aW9uVmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHVwZGF0ZWRDb25maWcgPSB0aGlzLmZpbGVMaXN0TWVudUNvbmZpZygpLmZpbHRlcihtZW51ID0+IG1lbnUudmFsdWUgIT09IG1lbnVPcHRpb25WYWx1ZSk7XG4gICAgY29uc3QgdXBkYXRlZEZpbGVMaXN0ID0gdGhpcy5wcm9tcHRGaWxlc0xpc3QoKS5maWx0ZXIoZmlsZSA9PiBmaWxlLm5hbWUgIT09IG1lbnVPcHRpb25WYWx1ZSk7XG4gICAgdGhpcy5wcm9tcHRGaWxlc0xpc3Quc2V0KHVwZGF0ZWRGaWxlTGlzdCk7XG4gICAgdGhpcy5maWxlTGlzdE1lbnVDb25maWcuc2V0KHVwZGF0ZWRDb25maWcpO1xuICB9XG5cbiAgc2VsZWN0VGFnKHRhZzogUHJvbXB0VGFnLCBldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgdGhpcy5pc0Ryb3Bkb3duT3BlbmVkLnNldChmYWxzZSk7XG4gICAgdGhpcy5wcm9tcHRUZXh0VmFsdWUuc2V0KHRhZy5sYWJlbCk7XG4gICAgdGhpcy5hdXRvY29tcGxldGVTdWdnZXN0aW9uLnNldChgJHt0YWcubGFiZWx9ICR7dGFnLmF1dG9jb21wbGV0ZX1gKTtcbiAgICB0aGlzLmZpZWxkQ29tcG9uZW50UmVmKCkuZmllbGQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIHRoaXMub25Ub3VjaCgpO1xuICB9XG5cbiAgb25UZXh0YXJlYVRhYihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hdXRvY29tcGxldGVTdWdnZXN0aW9uKCkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnByb21wdFRleHRWYWx1ZS5zZXQodGhpcy5hdXRvY29tcGxldGVTdWdnZXN0aW9uKCkpO1xuICAgICAgdGhpcy5hdXRvY29tcGxldGVTdWdnZXN0aW9uLnNldCgnJyk7XG4gICAgfVxuICB9XG5cbiAgZHJvcGRvd25PdXRzaWRlQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5pc0Ryb3Bkb3duT3BlbmVkLnNldChmYWxzZSk7XG4gIH1cblxuICB0b2dnbGVEcm9wZG93bigpOiB2b2lkIHtcbiAgICB0aGlzLmlzRHJvcGRvd25PcGVuZWQuc2V0KCF0aGlzLmlzRHJvcGRvd25PcGVuZWQoKSk7XG4gIH1cblxuICBmb2N1c1RhZ0Ryb3Bkb3duKCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy50YWdEcm9wZG93bigpPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfSwgMzAwKTtcbiAgfVxuXG4gIHByaXZhdGUgc3luY0lucHV0Q2hhbmdlKCkge1xuICAgIGlmICghdGhpcy5maWVsZENvbXBvbmVudFJlZigpPy5maWVsZD8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZyb21FdmVudCh0aGlzLmZpZWxkQ29tcG9uZW50UmVmKCkuZmllbGQubmF0aXZlRWxlbWVudCwgJ2lucHV0JylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgICAgbWFwKChldmVudDogRXZlbnQpID0+IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMjAwKSxcbiAgICAgICAgZmlsdGVyKHZhbHVlID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpLFxuICAgICAgICB0YXAodmFsdWUgPT4ge1xuICAgICAgICAgIHRoaXMucHJvbXB0VGV4dFZhbHVlLnNldCh2YWx1ZSk7XG4gICAgICAgICAgaWYgKHRoaXMuYXV0b2NvbXBsZXRlU3VnZ2VzdGlvbigpKSB7XG4gICAgICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZVN1Z2dlc3Rpb24uc2V0KCcnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFRhZ3MoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRhZ3MoKT8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLnRhZ3MoKS5sZW5ndGggPD0gNSkge1xuICAgICAgdGhpcy50YWdzVmlzaWJsZS5zZXQodGhpcy50YWdzKCkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudGFnc1Zpc2libGUuc2V0KHRoaXMudGFncygpLnNsaWNlKDAsIDUpKTtcbiAgICB0aGlzLnRhZ3NJbkRyb3Bkb3duLnNldCh0aGlzLnRhZ3MoKS5zbGljZSg1KSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVwZGF0ZUZpbGVNZW51KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG1lbnVDb25maWc6IE92ZXJmbG93TWVudUJ1dHRvbnNUeXBlW10gPSBbXTtcbiAgICBjb25zdCB0b29sdGlwID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy50cmFuc2xhdGlvblBpcGUudHJhbnNmb3JtKCdDT01NT04uREVMRVRFJykpO1xuICAgIHRoaXMucHJvbXB0RmlsZXNMaXN0KCkuZm9yRWFjaChmaWxlID0+IHtcbiAgICAgIG1lbnVDb25maWcucHVzaCh7XG4gICAgICAgIGxhYmVsOiBmaWxlLm5hbWUsXG4gICAgICAgIHZhbHVlOiBmaWxlLm5hbWUsXG4gICAgICAgIGljb246ICdEZWxldGUnLFxuICAgICAgICB0b29sdGlwVGV4dDogdG9vbHRpcCxcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuZmlsZUxpc3RNZW51Q29uZmlnLnNldChtZW51Q29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJQcm9tcHREYXRhKCk6IHZvaWQge1xuICAgIHRoaXMucHJvbXB0VGV4dFZhbHVlLnNldCgnJyk7XG4gICAgdGhpcy5wcm9tcHRGaWxlc0xpc3Quc2V0KFtdKTtcbiAgICB0aGlzLmZpbGVMaXN0TWVudUNvbmZpZy5zZXQoW10pO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogUHJvbXB0RGF0YSk6IHZvaWQge1xuICAgIHRoaXMucHJvbXB0VGV4dFZhbHVlLnNldCh2YWx1ZS50ZXh0IHx8ICcnKTtcbiAgICB0aGlzLnByb21wdEZpbGVzTGlzdC5zZXQodmFsdWUuZmlsZXMgfHwgW10pO1xuICB9XG4gIHByaXZhdGUgb25DaGFuZ2UgPSAodjogYW55KSA9PiB7fTtcbiAgcHJpdmF0ZSBvblRvdWNoID0gKCkgPT4ge307XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0VmFsdWUoKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSh7IHRleHQ6IHRoaXMucHJvbXB0VGV4dFZhbHVlKCkgfHwgJycsIGZpbGVzOiB0aGlzLnByb21wdEZpbGVzTGlzdCgpIH0pO1xuICAgIHRoaXMub25Ub3VjaCgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJwcm9tcHQtY29udGFpbmVyXCJcbiAgICBjZGtPdmVybGF5T3JpZ2luXG4gICAgI3Byb21wdE9yaWdpbj1cImNka092ZXJsYXlPcmlnaW5cIlxuICAgICNwcm9tcHRDb250YWluZXJSZWZcbiAgICBbbmdDbGFzc109XCJ7ICdwcm9tcHQtY29udGFpbmVyLWZvY3VzZWQnOiBpc0hpZ2hsaWdodGVkKCkgfVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwicHJvbXB0LWF1dG9jb21wbGV0ZVwiPlxuICAgICAgPHRleHRhcmVhIHRhYmluZGV4PVwiLTFcIiBjbGFzcz1cImdob3N0XCIgaWQ9XCJhdXRvY29tcGxldGVcIiBbdmFsdWVdPVwiYXV0b2NvbXBsZXRlU3VnZ2VzdGlvbigpXCIgcmVhZG9ubHk+PC90ZXh0YXJlYT5cblxuICAgICAgPHVpLWZpZWxkXG4gICAgICAgICN0ZXh0YXJlYVxuICAgICAgICBjbGFzcz1cInByb21wdC10ZXh0XCJcbiAgICAgICAgcm9sZT1cImlucHV0XCJcbiAgICAgICAgW3Nob3dCb3R0b21Db250ZW50XT1cImZhbHNlXCJcbiAgICAgICAgW2JvcmRlcmxlc3NdPVwidHJ1ZVwiXG4gICAgICAgIFt0eXBlXT1cIidtdWx0aS1saW5lJ1wiXG4gICAgICAgIFthdXRvc2l6YWJsZVRleHRhcmVhXT1cInRydWVcIlxuICAgICAgICBbbWF4Q2hhcmFjdGVyc109XCJtYXhDaGFyYWN0ZXJzKClcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiKCdQUk9NUFQuQVNLX0FOWVRISU5HJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpIVwiXG4gICAgICAgIFt2YWx1ZV09XCJwcm9tcHRUZXh0VmFsdWUoKSB8fCAnJ1wiXG4gICAgICAgIFtoYXNUZXh0QXJlYUNvdW50ZXJdPVwiZmFsc2VcIlxuICAgICAgICAobW91c2VlbnRlcik9XCJpc0ZpZWxkSG92ZXJlZC5zZXQodHJ1ZSlcIlxuICAgICAgICAobW91c2VsZWF2ZSk9XCJpc0ZpZWxkSG92ZXJlZC5zZXQoZmFsc2UpXCJcbiAgICAgICAgKGZvY3VzaW4pPVwiaXNGaWVsZEZvY3VzZWQuc2V0KHRydWUpXCJcbiAgICAgICAgKGZpZWxkQmx1cik9XCJpc0ZpZWxkRm9jdXNlZC5zZXQoZmFsc2UpXCJcbiAgICAgICAgKGtleWRvd24udGFiKT1cIm9uVGV4dGFyZWFUYWIoJGV2ZW50KVwiXG4gICAgICA+PC91aS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicHJvbXB0LWZvb3RlciBmbGV4LWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXgtY29udGFpbmVyXCI+XG4gICAgICAgIEBpZiAoZW5hYmxlRmlsZVVwbG9hZCgpKSB7XG4gICAgICAgICAgPHVpLWJ1dHRvblxuICAgICAgICAgICAgW3ZhcmlhbnRdPVwiJ2ljb24tYnV0dG9uJ1wiXG4gICAgICAgICAgICBbdG9vbHRpcF09XCIoJ1BST01QVC5BRERfRklMRVMnIHwgdWlUcmFuc2xhdGUgfCBhc3luYykhXCJcbiAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2Fib3ZlJ1wiXG4gICAgICAgICAgICBbYXJpYUxhYmVsXT1cIignUFJPTVBULkFERF9GSUxFUycgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jKSFcIlxuICAgICAgICAgICAgW2ljb25OYW1lXT1cIidQbHVzJ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiZmlsZURyb3AoKT8ubmF0aXZlRWxlbWVudD8uY2xpY2soKVwiXG4gICAgICAgICAgPjwvdWktYnV0dG9uPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgW3RhYkluZGV4XT1cIi0xXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICNmaWxlRHJvcFJlZlxuICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAgICAgaWQ9XCJmaWxlLXVwbG9hZFwiXG4gICAgICAgICAgICBbYWNjZXB0XT1cInN1cHBvcnRlZEZpbGVUeXBlcygpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidXBsb2FkRmlsZSgkZXZlbnQpXCJcbiAgICAgICAgICAvPlxuXG4gICAgICAgICAgQGlmIChwcm9tcHRGaWxlc0xpc3QoKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51XCI+XG4gICAgICAgICAgICAgIDx1aS1iYWRnZVxuICAgICAgICAgICAgICAgIFtub3RpZmljYXRpb25zQW1vdW50XT1cInByb21wdEZpbGVzTGlzdCgpLmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgW3ZhcmlhbnRdPVwiJ25vdGlmaWNhdGlvbidcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWVudS1iYWRnZVwiXG4gICAgICAgICAgICAgID48L3VpLWJhZGdlPlxuICAgICAgICAgICAgICA8dWktb3ZlcmZsb3ctbWVudVxuICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIignUFJPTVBULkZJTEVTJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpIVwiXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBQb3NpdGlvbl09XCInYWJvdmUnXCJcbiAgICAgICAgICAgICAgICBbYnV0dG9uU2l6ZV09XCInbWVkaXVtJ1wiXG4gICAgICAgICAgICAgICAgW2ljb25UcmlnZ2VyXT1cIidEb2N1bWVudCdcIlxuICAgICAgICAgICAgICAgIFtidXR0b25WYXJpYW50XT1cIidnaG9zdCdcIlxuICAgICAgICAgICAgICAgIFtidXR0b25zXT1cImZpbGVMaXN0TWVudUNvbmZpZygpXCJcbiAgICAgICAgICAgICAgICBbaXNEeW5hbWljTWVudV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbd2l0aFJlbW92YWJsZU9wdGlvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAoc2VsZWN0SXRlbSk9XCJzZWxlY3RlZE1lbnVPcHRpb24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgID48L3VpLW92ZXJmbG93LW1lbnU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKHRhZ3MoKT8ubGVuZ3RoICYmICFwcm9tcHRUZXh0VmFsdWUoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1jb250YWluZXIgY2Fyb3VzZWxcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFnLWNvbnRhaW5lciBmbGV4LWNvbnRhaW5lclwiIHJvbGU9XCJsaXN0XCIgI3RhZ3NTY3JvbGxDb250YWluZXI+XG4gICAgICAgICAgICBAZm9yICh0YWcgb2YgdGFnc1Zpc2libGUoKTsgdHJhY2sgdGFnKSB7XG4gICAgICAgICAgICAgIDx1aS10YWdcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwidGFnLmxhYmVsXCJcbiAgICAgICAgICAgICAgICByb2xlPVwibGlzdGl0ZW1cIlxuICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwidGFnLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0VGFnKHRhZywgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cInNlbGVjdFRhZyh0YWcsICRldmVudClcIlxuICAgICAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJzZWxlY3RUYWcodGFnLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPjwvdWktdGFnPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKHRhZ3NJbkRyb3Bkb3duKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIDx1aS1idXR0b25cbiAgICAgICAgICAgICAgICBjbGFzcz1cInZpZXctbW9yZVwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cInRleHQtaW5saW5lXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiKCdQUk9NUFQuVklFV19NT1JFJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpIVwiXG4gICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCIoJ1BST01QVC5WSUVXX01PUkUnIHwgdWlUcmFuc2xhdGUgfCBhc3luYykhXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKClcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImZvY3VzVGFnRHJvcGRvd24oKVwiXG4gICAgICAgICAgICAgICAgY2RrT3ZlcmxheU9yaWdpblxuICAgICAgICAgICAgICAgICNkcm9wZG93blRyaWdnZXI9XCJjZGtPdmVybGF5T3JpZ2luXCJcbiAgICAgICAgICAgICAgPjwvdWktYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8dWktYnV0dG9uXG4gICAgICAgICAgICAgIFt2YXJpYW50XT1cIidpY29uLWJ1dHRvbidcIlxuICAgICAgICAgICAgICBbc2l6ZV09XCInc21hbGwnXCJcbiAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCInU2Nyb2xsIGxlZnQgYnV0dG9uJ1wiXG4gICAgICAgICAgICAgIFtpY29uTmFtZV09XCInQXJyb3ctY2hldnJvbi1sZWZ0LWluLWxpbmUnXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInRhZ3NTY3JvbGxDb250YWluZXIuc2Nyb2xsTGVmdCA9PT0gMFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJ0YWdzU2Nyb2xsQ29udGFpbmVyLnNjcm9sbEJ5KHsgbGVmdDogLTEwMCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pXCJcbiAgICAgICAgICAgID48L3VpLWJ1dHRvbj5cbiAgICAgICAgICAgIDx1aS1idXR0b25cbiAgICAgICAgICAgICAgW3ZhcmlhbnRdPVwiJ2ljb24tYnV0dG9uJ1wiXG4gICAgICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgICAgICBbaWNvbk5hbWVdPVwiJ0Fycm93LWNoZXZyb24tcmlnaHQtaW4tbGluZSdcIlxuICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cIidTY3JvbGwgcmlnaHQgYnV0dG9uJ1wiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgICAgICAgICB0YWdzU2Nyb2xsQ29udGFpbmVyLnNjcm9sbExlZnQgKyB0YWdzU2Nyb2xsQ29udGFpbmVyLmNsaWVudFdpZHRoID49IHRhZ3NTY3JvbGxDb250YWluZXIuc2Nyb2xsV2lkdGhcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRhZ3NTY3JvbGxDb250YWluZXIuc2Nyb2xsQnkoeyBsZWZ0OiAxMDAsIGJlaGF2aW9yOiAnc21vb3RoJyB9KVwiXG4gICAgICAgICAgICA+PC91aS1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICBAaWYgKHNob3dTZW5kQnV0dG9uKCkpIHtcbiAgICAgICAgPHVpLWJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwic2VuZC1idXR0b25cIlxuICAgICAgICAgIFt2YXJpYW50XT1cIidzZWNvbmRhcnknXCJcbiAgICAgICAgICBbaWNvbk5hbWVdPVwiJ0Fycm93LXVwLWluLWxpbmUnXCJcbiAgICAgICAgICBbdG9vbHRpcF09XCIoJ0NPTU1PTi5TRU5EJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpIVwiXG4gICAgICAgICAgW2FyaWFMYWJlbF09XCIoJ0NPTU1PTi5TRU5EJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpIVwiXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInYWJvdmUnXCJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFwcm9tcHRUZXh0VmFsdWUoKSAmJiAhcHJvbXB0RmlsZXNMaXN0KCkubGVuZ3RoXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VuZFByb21wdERhdGEoKVwiXG4gICAgICAgID48L3VpLWJ1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSAgRHJvcGRvd24gZm9yIGhpZGRlbiB0YWdzIC0tPlxuICA8bmctdGVtcGxhdGVcbiAgICBjZGtDb25uZWN0ZWRPdmVybGF5XG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwicHJvbXB0T3JpZ2luXCJcbiAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwiaXNEcm9wZG93bk9wZW5lZCgpXCJcbiAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJkcm9wZG93blBvc2l0aW9uc1wiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlXaWR0aF09XCJwcm9tcHRDb250YWluZXJSZWY/Lm9mZnNldFdpZHRoIHx8IDBcIlxuICAgIChvdmVybGF5T3V0c2lkZUNsaWNrKT1cImRyb3Bkb3duT3V0c2lkZUNsaWNrKClcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWNvbnRhaW5lclwiIHJvbGU9XCJsaXN0XCIgI3RhZ0Ryb3Bkb3duIHRhYmluZGV4PVwiMFwiPlxuICAgICAgQGZvciAodGFnIG9mIHRhZ3NJbkRyb3Bkb3duKCk7IHRyYWNrIHRhZykge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi10YWdcIlxuICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0YWcubGFiZWxcIlxuICAgICAgICAgIHJvbGU9XCJsaXN0aXRlbVwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFRhZyh0YWcsICRldmVudClcIlxuICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJzZWxlY3RUYWcodGFnLCAkZXZlbnQpXCJcbiAgICAgICAgICAoa2V5dXAuc3BhY2UpPVwic2VsZWN0VGFnKHRhZywgJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyB0YWcubGFiZWwgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3Byb21wdC9wcm9tcHQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUHJvbXB0VGFnIHtcbiAgaWQ6IG51bWJlcjtcbiAgbGFiZWw6IHN0cmluZztcbiAgYXV0b2NvbXBsZXRlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvbXB0RGF0YSB7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIGZpbGVzPzogRmlsZVtdO1xufVxuIl19
@@ -0,0 +1,62 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { PromptComponent } from './prompt.component';
3
+ import { FieldComponentModule } from '../field/field.component.module';
4
+ import { CommonModule } from '@angular/common';
5
+ import { ButtonComponentModule } from '../button/button.component.module';
6
+ import { OverflowMenuComponentModule } from '../overflow-menu/overflow-menu.component.module';
7
+ import { TagComponentModule } from '../tag/tag.component.module';
8
+ import { BadgeComponentModule } from '../badge/badge.component.module';
9
+ import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
10
+ import { CardComponentModule } from '../card/card.component.module';
11
+ import { CdkTextareaAutosize } from '@angular/cdk/text-field';
12
+ import { TooltipComponentModule } from '../tooltip/tooltip.component.module';
13
+ import { MatTooltip } from '@angular/material/tooltip';
14
+ import { UiTranslatePipe } from '../../pipes/ui-translate.pipe';
15
+ import * as i0 from "@angular/core";
16
+ export class PromptModule {
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PromptModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: PromptModule, declarations: [PromptComponent], imports: [CommonModule,
19
+ FieldComponentModule,
20
+ ButtonComponentModule,
21
+ OverflowMenuComponentModule,
22
+ TagComponentModule,
23
+ BadgeComponentModule,
24
+ CdkOverlayOrigin,
25
+ CdkConnectedOverlay,
26
+ CardComponentModule,
27
+ CdkTextareaAutosize,
28
+ TooltipComponentModule,
29
+ MatTooltip,
30
+ UiTranslatePipe], exports: [PromptComponent] }); }
31
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PromptModule, imports: [CommonModule,
32
+ FieldComponentModule,
33
+ ButtonComponentModule,
34
+ OverflowMenuComponentModule,
35
+ TagComponentModule,
36
+ BadgeComponentModule,
37
+ CardComponentModule,
38
+ TooltipComponentModule] }); }
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PromptModule, decorators: [{
41
+ type: NgModule,
42
+ args: [{
43
+ declarations: [PromptComponent],
44
+ imports: [
45
+ CommonModule,
46
+ FieldComponentModule,
47
+ ButtonComponentModule,
48
+ OverflowMenuComponentModule,
49
+ TagComponentModule,
50
+ BadgeComponentModule,
51
+ CdkOverlayOrigin,
52
+ CdkConnectedOverlay,
53
+ CardComponentModule,
54
+ CdkTextareaAutosize,
55
+ TooltipComponentModule,
56
+ MatTooltip,
57
+ UiTranslatePipe,
58
+ ],
59
+ exports: [PromptComponent],
60
+ }]
61
+ }] });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9wcm9tcHQvcHJvbXB0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDOUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFzQmhFLE1BQU0sT0FBTyxZQUFZOytHQUFaLFlBQVk7Z0hBQVosWUFBWSxpQkFsQlIsZUFBZSxhQUU1QixZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLHFCQUFxQjtZQUNyQiwyQkFBMkI7WUFDM0Isa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQixnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsc0JBQXNCO1lBQ3RCLFVBQVU7WUFDVixlQUFlLGFBRVAsZUFBZTtnSEFFZCxZQUFZLFlBaEJyQixZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLHFCQUFxQjtZQUNyQiwyQkFBMkI7WUFDM0Isa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUdwQixtQkFBbUI7WUFFbkIsc0JBQXNCOzs0RkFNYixZQUFZO2tCQW5CeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQy9CLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIscUJBQXFCO3dCQUNyQiwyQkFBMkI7d0JBQzNCLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsVUFBVTt3QkFDVixlQUFlO3FCQUNoQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb21wdENvbXBvbmVudCB9IGZyb20gJy4vcHJvbXB0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZENvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2ZpZWxkL2ZpZWxkLmNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBPdmVyZmxvd01lbnVDb21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9vdmVyZmxvdy1tZW51L292ZXJmbG93LW1lbnUuY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBUYWdDb21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi90YWcvdGFnLmNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHsgQmFkZ2VDb21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9iYWRnZS9iYWRnZS5jb21wb25lbnQubW9kdWxlJztcbmltcG9ydCB7IENka0Nvbm5lY3RlZE92ZXJsYXksIENka092ZXJsYXlPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vY2FyZC9jYXJkLmNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHsgQ2RrVGV4dGFyZWFBdXRvc2l6ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXh0LWZpZWxkJztcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBVaVRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy91aS10cmFuc2xhdGUucGlwZSc7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbUHJvbXB0Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGaWVsZENvbXBvbmVudE1vZHVsZSxcbiAgICBCdXR0b25Db21wb25lbnRNb2R1bGUsXG4gICAgT3ZlcmZsb3dNZW51Q29tcG9uZW50TW9kdWxlLFxuICAgIFRhZ0NvbXBvbmVudE1vZHVsZSxcbiAgICBCYWRnZUNvbXBvbmVudE1vZHVsZSxcbiAgICBDZGtPdmVybGF5T3JpZ2luLFxuICAgIENka0Nvbm5lY3RlZE92ZXJsYXksXG4gICAgQ2FyZENvbXBvbmVudE1vZHVsZSxcbiAgICBDZGtUZXh0YXJlYUF1dG9zaXplLFxuICAgIFRvb2x0aXBDb21wb25lbnRNb2R1bGUsXG4gICAgTWF0VG9vbHRpcCxcbiAgICBVaVRyYW5zbGF0ZVBpcGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtQcm9tcHRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9tcHRNb2R1bGUge31cbiJdfQ==