@cqa-lib/cqa-ui 1.1.210 → 1.1.212
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/custom-textarea/custom-textarea.component.mjs +53 -5
- package/esm2020/lib/detail-drawer/detail-drawer.component.mjs +3 -3
- package/esm2020/lib/detail-side-panel/detail-side-panel.component.mjs +22 -6
- package/esm2020/lib/dynamic-select/dynamic-select-field.component.mjs +11 -6
- package/esm2020/lib/step-builder/step-builder-ai-agent/step-builder-ai-agent.component.mjs +1 -1
- package/esm2020/lib/step-builder/step-builder-custom-code/step-builder-custom-code.component.mjs +1 -1
- package/esm2020/lib/step-builder/step-builder-database/step-builder-database.component.mjs +1 -1
- package/esm2020/lib/test-case-details/api-edit-step/api-edit-step.component.mjs +1 -1
- package/esm2020/lib/test-case-details/custom-edit-step/custom-edit-step.component.mjs +1 -1
- package/esm2020/lib/test-case-details/step-details-drawer/step-details-drawer.component.mjs +1 -1
- package/esm2020/lib/test-case-details/test-case-details-edit/test-case-details-edit.component.mjs +226 -52
- package/esm2020/lib/test-case-details/test-case-details.component.mjs +34 -11
- package/esm2020/lib/test-case-details/test-case-details.models.mjs +14 -2
- package/esm2020/lib/ui-kit.module.mjs +3 -2
- package/esm2020/public-api.mjs +1 -1
- package/fesm2015/cqa-lib-cqa-ui.mjs +385 -104
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +361 -83
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/lib/custom-textarea/custom-textarea.component.d.ts +13 -3
- package/lib/detail-side-panel/detail-side-panel.component.d.ts +11 -2
- package/lib/test-case-details/test-case-details-edit/test-case-details-edit.component.d.ts +32 -4
- package/lib/test-case-details/test-case-details.component.d.ts +11 -3
- package/lib/test-case-details/test-case-details.models.d.ts +6 -0
- package/package.json +1 -1
- package/styles.css +1 -1
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@angular/forms";
|
|
4
5
|
export class CustomTextareaComponent {
|
|
5
6
|
constructor() {
|
|
6
7
|
this.label = '';
|
|
7
8
|
this.placeholder = '';
|
|
8
9
|
this.value = '';
|
|
10
|
+
/** When true, shows Trix rich text editor (Bold, Italic, etc.). Host app must load Trix JS/CSS. */
|
|
11
|
+
this.enableMarkdown = false;
|
|
9
12
|
this.disabled = false;
|
|
10
13
|
this.errors = [];
|
|
11
14
|
this.required = false;
|
|
@@ -19,18 +22,58 @@ export class CustomTextareaComponent {
|
|
|
19
22
|
this.focused = new EventEmitter();
|
|
20
23
|
this.textareaValue = '';
|
|
21
24
|
this.isFocused = false;
|
|
25
|
+
this.trixEditorId = 'cqa-trix-' + Math.random().toString(36).slice(2, 11);
|
|
26
|
+
}
|
|
27
|
+
ngAfterViewInit() {
|
|
28
|
+
if (this.enableMarkdown) {
|
|
29
|
+
this.syncTrixContent(this.value || this.textareaValue);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
onTrixInitialize(_event) {
|
|
33
|
+
this.syncTrixContent(this.value || this.textareaValue);
|
|
22
34
|
}
|
|
23
35
|
ngOnChanges(changes) {
|
|
24
36
|
if (changes['value'] && changes['value'].currentValue !== undefined) {
|
|
25
37
|
let newValue = changes['value'].currentValue ?? '';
|
|
26
|
-
if (this.maxLength && newValue.length > this.maxLength) {
|
|
38
|
+
if (!this.enableMarkdown && this.maxLength && newValue.length > this.maxLength) {
|
|
27
39
|
newValue = newValue.substring(0, this.maxLength);
|
|
28
40
|
}
|
|
29
41
|
if (newValue !== this.textareaValue) {
|
|
30
42
|
this.textareaValue = newValue;
|
|
43
|
+
if (this.enableMarkdown && this.trixEditor?.nativeElement?.['editor']) {
|
|
44
|
+
this.syncTrixContent(newValue);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
syncTrixContent(html) {
|
|
50
|
+
const el = this.trixEditor?.nativeElement;
|
|
51
|
+
const editor = el?.editor;
|
|
52
|
+
if (editor) {
|
|
53
|
+
try {
|
|
54
|
+
editor.loadHTML(html || '');
|
|
31
55
|
}
|
|
56
|
+
catch { }
|
|
32
57
|
}
|
|
33
58
|
}
|
|
59
|
+
onTrixChange(event) {
|
|
60
|
+
const target = event.target;
|
|
61
|
+
const html = target?.innerHTML ?? '';
|
|
62
|
+
this.textareaValue = html;
|
|
63
|
+
this.valueChange.emit(html);
|
|
64
|
+
}
|
|
65
|
+
onTrixFocus(event) {
|
|
66
|
+
this.isFocused = true;
|
|
67
|
+
this.focused.emit(event);
|
|
68
|
+
}
|
|
69
|
+
onTrixBlur(event) {
|
|
70
|
+
const target = event.target;
|
|
71
|
+
const html = target?.innerHTML ?? '';
|
|
72
|
+
this.textareaValue = html;
|
|
73
|
+
this.valueChange.emit(html);
|
|
74
|
+
this.isFocused = false;
|
|
75
|
+
this.blurred.emit(event);
|
|
76
|
+
}
|
|
34
77
|
get hasError() {
|
|
35
78
|
return this.errors && this.errors.length > 0;
|
|
36
79
|
}
|
|
@@ -100,16 +143,18 @@ export class CustomTextareaComponent {
|
|
|
100
143
|
}
|
|
101
144
|
}
|
|
102
145
|
CustomTextareaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CustomTextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
-
CustomTextareaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CustomTextareaComponent, selector: "cqa-custom-textarea", inputs: { label: "label", placeholder: "placeholder", value: "value", disabled: "disabled", errors: "errors", required: "required", ariaLabel: "ariaLabel", size: "size", fullWidth: "fullWidth", maxLength: "maxLength", showCharCount: "showCharCount", rows: "rows", cols: "cols", resize: "resize", textareaInlineStyle: "textareaInlineStyle", labelInlineStyle: "labelInlineStyle" }, outputs: { valueChange: "valueChange", blurred: "blurred", focused: "focused" }, host: { classAttribute: "cqa-ui-root" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cqa-ui-root\" [style.display]=\"'block'\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <div class=\"cqa-flex cqa-flex-col\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <label \n *ngIf=\"label\"\n class=\"cqa-font-medium cqa-text-[#374151]\"\n [ngClass]=\"labelSizeClasses\"\n [style]=\"labelStyles\">\n {{ label }}\n <span *ngIf=\"required\" class=\"cqa-text-[#EF4444] cqa-ml-0.5\">*</span>\n </label>\n\n <div class=\"cqa-relative\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <textarea\n class=\"cqa-w-full !cqa-border !cqa-border-solid !cqa-border-gray-200 cqa-rounded-md cqa-bg-white cqa-font-['SF_Pro_Text'] cqa-font-normal cqa-leading-normal cqa-tracking-normal cqa-text-[#0A0A0A] placeholder:cqa-text-[#9CA3AF] cqa-transition-all cqa-duration-200 cqa-outline-none\"\n [ngClass]=\"{\n 'cqa-border-[#D1D5DB] focus:cqa-border-[#3B82F6] focus:cqa-ring-1 focus:cqa-ring-[#3B82F6]': !hasError,\n 'cqa-border-[#EF4444] focus:cqa-border-[#EF4444] focus:cqa-ring-1 focus:cqa-ring-[#EF4444]': hasError,\n 'cqa-bg-[#F9FAFB] cqa-cursor-not-allowed cqa-text-[#9CA3AF]': disabled,\n 'cqa-outline-none': true\n }\"\n [ngClass]=\"textareaSizeClasses\"\n [ngClass]=\"resizeClass\"\n [style]=\"textareaStyles\"\n [placeholder]=\"placeholder\"\n [value]=\"textareaValue\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [disabled]=\"disabled\"\n [attr.rows]=\"rows\"\n [attr.cols]=\"cols\"\n [attr.maxlength]=\"maxLength\"\n [attr.aria-label]=\"ariaLabel || label\"\n [attr.aria-invalid]=\"hasError\"\n [attr.aria-required]=\"required\"\n ></textarea>\n </div>\n\n <div *ngIf=\"showCharCount && maxLength\" class=\"cqa-flex cqa-justify-end cqa-mt-1\">\n <span class=\"cqa-text-xs cqa-text-[#6B7280]\">\n {{ textareaValue.length }}/{{ maxLength }}\n </span>\n </div>\n\n <div *ngIf=\"hasError\" class=\"cqa-flex cqa-flex-col cqa-gap-1 cqa-mt-1.5\">\n <div *ngFor=\"let error of errors\" class=\"cqa-flex cqa-items-start cqa-gap-1.5\">\n <svg \n xmlns=\"http://www.w3.org/2000/svg\" \n width=\"14\" \n height=\"14\" \n viewBox=\"0 0 14 14\" \n fill=\"none\"\n class=\"cqa-flex-shrink-0 cqa-mt-0.5\">\n <path d=\"M7 1.75C4.1 1.75 1.75 4.1 1.75 7C1.75 9.9 4.1 12.25 7 12.25C9.9 12.25 12.25 9.9 12.25 7C12.25 4.1 9.9 1.75 7 1.75ZM7 9.625C6.65625 9.625 6.375 9.34375 6.375 9V7C6.375 6.65625 6.65625 6.375 7 6.375C7.34375 6.375 7.625 6.65625 7.625 7V9C7.625 9.34375 7.34375 9.625 7 9.625ZM7.625 5.25H6.375V4H7.625V5.25Z\" fill=\"#EF4444\"/>\n </svg>\n <span class=\"cqa-text-xs cqa-text-[#EF4444] cqa-font-medium cqa-leading-[18px]\">\n {{ error }}\n </span>\n </div>\n </div>\n </div>\n</div>\n\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
146
|
+
CustomTextareaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CustomTextareaComponent, selector: "cqa-custom-textarea", inputs: { label: "label", placeholder: "placeholder", value: "value", enableMarkdown: "enableMarkdown", disabled: "disabled", errors: "errors", required: "required", ariaLabel: "ariaLabel", size: "size", fullWidth: "fullWidth", maxLength: "maxLength", showCharCount: "showCharCount", rows: "rows", cols: "cols", resize: "resize", textareaInlineStyle: "textareaInlineStyle", labelInlineStyle: "labelInlineStyle" }, outputs: { valueChange: "valueChange", blurred: "blurred", focused: "focused" }, host: { classAttribute: "cqa-ui-root" }, viewQueries: [{ propertyName: "trixEditor", first: true, predicate: ["trixEditor"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cqa-ui-root\" [style.display]=\"'block'\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <div class=\"cqa-flex cqa-flex-col\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <label \n *ngIf=\"label\"\n class=\"cqa-font-medium cqa-text-[#374151]\"\n [ngClass]=\"labelSizeClasses\"\n [style]=\"labelStyles\">\n {{ label }}\n <span *ngIf=\"required\" class=\"cqa-text-[#EF4444] cqa-ml-0.5\">*</span>\n </label>\n\n <!-- Markdown/rich text mode: Trix editor (host app must load Trix JS/CSS).\n Use Trix's default toolbar (no toolbar attr) - custom toolbar had association issues. -->\n <ng-container *ngIf=\"enableMarkdown\">\n <form class=\"cqa-border cqa-border-solid cqa-border-gray-200 cqa-rounded-md cqa-bg-white cqa-overflow-hidden\" [style.width]=\"fullWidth ? '100%' : 'auto'\" (submit)=\"$event.preventDefault()\">\n <input type=\"hidden\" [id]=\"trixEditorId\" [value]=\"textareaValue\">\n <trix-editor\n #trixEditor\n [attr.input]=\"trixEditorId\"\n class=\"cqa-w-full cqa-p-3 cqa-min-h-[120px] cqa-text-sm cqa-text-[#0A0A0A] cqa-outline-none cqa-border-0\"\n [attr.placeholder]=\"placeholder\"\n [attr.disabled]=\"disabled || null\"\n (trix-initialize)=\"onTrixInitialize($event)\"\n (trix-change)=\"onTrixChange($event)\"\n (focus)=\"onTrixFocus($event)\"\n (blur)=\"onTrixBlur($event)\">\n </trix-editor>\n </form>\n </ng-container>\n\n <!-- Plain text mode: standard textarea -->\n <div *ngIf=\"!enableMarkdown\" class=\"cqa-relative\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <textarea\n class=\"cqa-w-full !cqa-border !cqa-border-solid !cqa-border-gray-200 cqa-rounded-md cqa-bg-white cqa-font-['SF_Pro_Text'] cqa-font-normal cqa-leading-normal cqa-tracking-normal cqa-text-[#0A0A0A] placeholder:cqa-text-[#9CA3AF] cqa-transition-all cqa-duration-200 cqa-outline-none\"\n [ngClass]=\"{\n 'cqa-border-[#D1D5DB] focus:cqa-border-[#3B82F6] focus:cqa-ring-1 focus:cqa-ring-[#3B82F6]': !hasError,\n 'cqa-border-[#EF4444] focus:cqa-border-[#EF4444] focus:cqa-ring-1 focus:cqa-ring-[#EF4444]': hasError,\n 'cqa-bg-[#F9FAFB] cqa-cursor-not-allowed cqa-text-[#9CA3AF]': disabled,\n 'cqa-outline-none': true\n }\"\n [ngClass]=\"textareaSizeClasses\"\n [ngClass]=\"resizeClass\"\n [style]=\"textareaStyles\"\n [placeholder]=\"placeholder\"\n [value]=\"textareaValue\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [disabled]=\"disabled\"\n [attr.rows]=\"rows\"\n [attr.cols]=\"cols\"\n [attr.maxlength]=\"maxLength\"\n [attr.aria-label]=\"ariaLabel || label\"\n [attr.aria-invalid]=\"hasError\"\n [attr.aria-required]=\"required\"\n ></textarea>\n </div>\n\n <div *ngIf=\"!enableMarkdown && showCharCount && maxLength\" class=\"cqa-flex cqa-justify-end cqa-mt-1\">\n <span class=\"cqa-text-xs cqa-text-[#6B7280]\">\n {{ textareaValue.length }}/{{ maxLength }}\n </span>\n </div>\n\n <div *ngIf=\"hasError\" class=\"cqa-flex cqa-flex-col cqa-gap-1 cqa-mt-1.5\">\n <div *ngFor=\"let error of errors\" class=\"cqa-flex cqa-items-start cqa-gap-1.5\">\n <svg \n xmlns=\"http://www.w3.org/2000/svg\" \n width=\"14\" \n height=\"14\" \n viewBox=\"0 0 14 14\" \n fill=\"none\"\n class=\"cqa-flex-shrink-0 cqa-mt-0.5\">\n <path d=\"M7 1.75C4.1 1.75 1.75 4.1 1.75 7C1.75 9.9 4.1 12.25 7 12.25C9.9 12.25 12.25 9.9 12.25 7C12.25 4.1 9.9 1.75 7 1.75ZM7 9.625C6.65625 9.625 6.375 9.34375 6.375 9V7C6.375 6.65625 6.65625 6.375 7 6.375C7.34375 6.375 7.625 6.65625 7.625 7V9C7.625 9.34375 7.34375 9.625 7 9.625ZM7.625 5.25H6.375V4H7.625V5.25Z\" fill=\"#EF4444\"/>\n </svg>\n <span class=\"cqa-text-xs cqa-text-[#EF4444] cqa-font-medium cqa-leading-[18px]\">\n {{ error }}\n </span>\n </div>\n </div>\n </div>\n</div>\n\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
104
147
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CustomTextareaComponent, decorators: [{
|
|
105
148
|
type: Component,
|
|
106
|
-
args: [{ selector: 'cqa-custom-textarea', host: { class: 'cqa-ui-root' }, template: "<div class=\"cqa-ui-root\" [style.display]=\"'block'\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <div class=\"cqa-flex cqa-flex-col\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <label \n *ngIf=\"label\"\n class=\"cqa-font-medium cqa-text-[#374151]\"\n [ngClass]=\"labelSizeClasses\"\n [style]=\"labelStyles\">\n {{ label }}\n <span *ngIf=\"required\" class=\"cqa-text-[#EF4444] cqa-ml-0.5\">*</span>\n </label>\n\n <div class=\"cqa-relative\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <textarea\n class=\"cqa-w-full !cqa-border !cqa-border-solid !cqa-border-gray-200 cqa-rounded-md cqa-bg-white cqa-font-['SF_Pro_Text'] cqa-font-normal cqa-leading-normal cqa-tracking-normal cqa-text-[#0A0A0A] placeholder:cqa-text-[#9CA3AF] cqa-transition-all cqa-duration-200 cqa-outline-none\"\n [ngClass]=\"{\n 'cqa-border-[#D1D5DB] focus:cqa-border-[#3B82F6] focus:cqa-ring-1 focus:cqa-ring-[#3B82F6]': !hasError,\n 'cqa-border-[#EF4444] focus:cqa-border-[#EF4444] focus:cqa-ring-1 focus:cqa-ring-[#EF4444]': hasError,\n 'cqa-bg-[#F9FAFB] cqa-cursor-not-allowed cqa-text-[#9CA3AF]': disabled,\n 'cqa-outline-none': true\n }\"\n [ngClass]=\"textareaSizeClasses\"\n [ngClass]=\"resizeClass\"\n [style]=\"textareaStyles\"\n [placeholder]=\"placeholder\"\n [value]=\"textareaValue\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [disabled]=\"disabled\"\n [attr.rows]=\"rows\"\n [attr.cols]=\"cols\"\n [attr.maxlength]=\"maxLength\"\n [attr.aria-label]=\"ariaLabel || label\"\n [attr.aria-invalid]=\"hasError\"\n [attr.aria-required]=\"required\"\n ></textarea>\n </div>\n\n <div *ngIf=\"showCharCount && maxLength\" class=\"cqa-flex cqa-justify-end cqa-mt-1\">\n <span class=\"cqa-text-xs cqa-text-[#6B7280]\">\n {{ textareaValue.length }}/{{ maxLength }}\n </span>\n </div>\n\n <div *ngIf=\"hasError\" class=\"cqa-flex cqa-flex-col cqa-gap-1 cqa-mt-1.5\">\n <div *ngFor=\"let error of errors\" class=\"cqa-flex cqa-items-start cqa-gap-1.5\">\n <svg \n xmlns=\"http://www.w3.org/2000/svg\" \n width=\"14\" \n height=\"14\" \n viewBox=\"0 0 14 14\" \n fill=\"none\"\n class=\"cqa-flex-shrink-0 cqa-mt-0.5\">\n <path d=\"M7 1.75C4.1 1.75 1.75 4.1 1.75 7C1.75 9.9 4.1 12.25 7 12.25C9.9 12.25 12.25 9.9 12.25 7C12.25 4.1 9.9 1.75 7 1.75ZM7 9.625C6.65625 9.625 6.375 9.34375 6.375 9V7C6.375 6.65625 6.65625 6.375 7 6.375C7.34375 6.375 7.625 6.65625 7.625 7V9C7.625 9.34375 7.34375 9.625 7 9.625ZM7.625 5.25H6.375V4H7.625V5.25Z\" fill=\"#EF4444\"/>\n </svg>\n <span class=\"cqa-text-xs cqa-text-[#EF4444] cqa-font-medium cqa-leading-[18px]\">\n {{ error }}\n </span>\n </div>\n </div>\n </div>\n</div>\n\n"
|
|
149
|
+
args: [{ selector: 'cqa-custom-textarea', host: { class: 'cqa-ui-root' }, template: "<div class=\"cqa-ui-root\" [style.display]=\"'block'\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <div class=\"cqa-flex cqa-flex-col\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <label \n *ngIf=\"label\"\n class=\"cqa-font-medium cqa-text-[#374151]\"\n [ngClass]=\"labelSizeClasses\"\n [style]=\"labelStyles\">\n {{ label }}\n <span *ngIf=\"required\" class=\"cqa-text-[#EF4444] cqa-ml-0.5\">*</span>\n </label>\n\n <!-- Markdown/rich text mode: Trix editor (host app must load Trix JS/CSS).\n Use Trix's default toolbar (no toolbar attr) - custom toolbar had association issues. -->\n <ng-container *ngIf=\"enableMarkdown\">\n <form class=\"cqa-border cqa-border-solid cqa-border-gray-200 cqa-rounded-md cqa-bg-white cqa-overflow-hidden\" [style.width]=\"fullWidth ? '100%' : 'auto'\" (submit)=\"$event.preventDefault()\">\n <input type=\"hidden\" [id]=\"trixEditorId\" [value]=\"textareaValue\">\n <trix-editor\n #trixEditor\n [attr.input]=\"trixEditorId\"\n class=\"cqa-w-full cqa-p-3 cqa-min-h-[120px] cqa-text-sm cqa-text-[#0A0A0A] cqa-outline-none cqa-border-0\"\n [attr.placeholder]=\"placeholder\"\n [attr.disabled]=\"disabled || null\"\n (trix-initialize)=\"onTrixInitialize($event)\"\n (trix-change)=\"onTrixChange($event)\"\n (focus)=\"onTrixFocus($event)\"\n (blur)=\"onTrixBlur($event)\">\n </trix-editor>\n </form>\n </ng-container>\n\n <!-- Plain text mode: standard textarea -->\n <div *ngIf=\"!enableMarkdown\" class=\"cqa-relative\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <textarea\n class=\"cqa-w-full !cqa-border !cqa-border-solid !cqa-border-gray-200 cqa-rounded-md cqa-bg-white cqa-font-['SF_Pro_Text'] cqa-font-normal cqa-leading-normal cqa-tracking-normal cqa-text-[#0A0A0A] placeholder:cqa-text-[#9CA3AF] cqa-transition-all cqa-duration-200 cqa-outline-none\"\n [ngClass]=\"{\n 'cqa-border-[#D1D5DB] focus:cqa-border-[#3B82F6] focus:cqa-ring-1 focus:cqa-ring-[#3B82F6]': !hasError,\n 'cqa-border-[#EF4444] focus:cqa-border-[#EF4444] focus:cqa-ring-1 focus:cqa-ring-[#EF4444]': hasError,\n 'cqa-bg-[#F9FAFB] cqa-cursor-not-allowed cqa-text-[#9CA3AF]': disabled,\n 'cqa-outline-none': true\n }\"\n [ngClass]=\"textareaSizeClasses\"\n [ngClass]=\"resizeClass\"\n [style]=\"textareaStyles\"\n [placeholder]=\"placeholder\"\n [value]=\"textareaValue\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [disabled]=\"disabled\"\n [attr.rows]=\"rows\"\n [attr.cols]=\"cols\"\n [attr.maxlength]=\"maxLength\"\n [attr.aria-label]=\"ariaLabel || label\"\n [attr.aria-invalid]=\"hasError\"\n [attr.aria-required]=\"required\"\n ></textarea>\n </div>\n\n <div *ngIf=\"!enableMarkdown && showCharCount && maxLength\" class=\"cqa-flex cqa-justify-end cqa-mt-1\">\n <span class=\"cqa-text-xs cqa-text-[#6B7280]\">\n {{ textareaValue.length }}/{{ maxLength }}\n </span>\n </div>\n\n <div *ngIf=\"hasError\" class=\"cqa-flex cqa-flex-col cqa-gap-1 cqa-mt-1.5\">\n <div *ngFor=\"let error of errors\" class=\"cqa-flex cqa-items-start cqa-gap-1.5\">\n <svg \n xmlns=\"http://www.w3.org/2000/svg\" \n width=\"14\" \n height=\"14\" \n viewBox=\"0 0 14 14\" \n fill=\"none\"\n class=\"cqa-flex-shrink-0 cqa-mt-0.5\">\n <path d=\"M7 1.75C4.1 1.75 1.75 4.1 1.75 7C1.75 9.9 4.1 12.25 7 12.25C9.9 12.25 12.25 9.9 12.25 7C12.25 4.1 9.9 1.75 7 1.75ZM7 9.625C6.65625 9.625 6.375 9.34375 6.375 9V7C6.375 6.65625 6.65625 6.375 7 6.375C7.34375 6.375 7.625 6.65625 7.625 7V9C7.625 9.34375 7.34375 9.625 7 9.625ZM7.625 5.25H6.375V4H7.625V5.25Z\" fill=\"#EF4444\"/>\n </svg>\n <span class=\"cqa-text-xs cqa-text-[#EF4444] cqa-font-medium cqa-leading-[18px]\">\n {{ error }}\n </span>\n </div>\n </div>\n </div>\n</div>\n\n" }]
|
|
107
150
|
}], propDecorators: { label: [{
|
|
108
151
|
type: Input
|
|
109
152
|
}], placeholder: [{
|
|
110
153
|
type: Input
|
|
111
154
|
}], value: [{
|
|
112
155
|
type: Input
|
|
156
|
+
}], enableMarkdown: [{
|
|
157
|
+
type: Input
|
|
113
158
|
}], disabled: [{
|
|
114
159
|
type: Input
|
|
115
160
|
}], errors: [{
|
|
@@ -142,5 +187,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
142
187
|
type: Output
|
|
143
188
|
}], focused: [{
|
|
144
189
|
type: Output
|
|
190
|
+
}], trixEditor: [{
|
|
191
|
+
type: ViewChild,
|
|
192
|
+
args: ['trixEditor', { static: false }]
|
|
145
193
|
}] } });
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRleHRhcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY3VzdG9tLXRleHRhcmVhL2N1c3RvbS10ZXh0YXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2N1c3RvbS10ZXh0YXJlYS9jdXN0b20tdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQVVqRyxNQUFNLE9BQU8sdUJBQXVCO0lBTnBDO1FBUVcsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVYLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRWpCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLFdBQU0sR0FBYSxFQUFFLENBQUM7UUFFdEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWYsU0FBSSxHQUFpQixJQUFJLENBQUM7UUFFMUIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUlsQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQU10QixXQUFNLEdBQWdELFVBQVUsQ0FBQztRQU1oRSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFekMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFFekMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFFbkQsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsY0FBUyxHQUFHLEtBQUssQ0FBQztLQTZGbkI7SUEzRkMsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLEtBQUssU0FBUyxF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QixJQUFJLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDO0lBQ3JDLENBQUM7O29IQXJJVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qixza0JDVnBDLDQ3RkErREE7MkZEckRhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSxxQkFBcUIsUUFHekIsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFOzhCQUlyQixLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsT0FBTztzQkFBaEIsTUFBTTtnQkFFRyxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG50eXBlIFRleHRhcmVhU2l6ZSA9ICdzbScgfCAnbWQnIHwgJ2xnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLWN1c3RvbS10ZXh0YXJlYScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdLFxuICBob3N0OiB7IGNsYXNzOiAnY3FhLXVpLXJvb3QnIH1cbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tVGV4dGFyZWFDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG5cbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcblxuICBASW5wdXQoKSB2YWx1ZSA9ICcnO1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgYXJpYUxhYmVsID0gJyc7XG5cbiAgQElucHV0KCkgc2l6ZTogVGV4dGFyZWFTaXplID0gJ21kJztcblxuICBASW5wdXQoKSBmdWxsV2lkdGggPSBmYWxzZTtcblxuICBASW5wdXQoKSBtYXhMZW5ndGg/OiBudW1iZXI7XG5cbiAgQElucHV0KCkgc2hvd0NoYXJDb3VudCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHJvd3M/OiBudW1iZXI7XG5cbiAgQElucHV0KCkgY29scz86IG51bWJlcjtcblxuICBASW5wdXQoKSByZXNpemU6ICdub25lJyB8ICdib3RoJyB8ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcgPSAndmVydGljYWwnO1xuXG4gIEBJbnB1dCgpIHRleHRhcmVhSW5saW5lU3R5bGU/OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgbGFiZWxJbmxpbmVTdHlsZT86IHN0cmluZztcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KCkgYmx1cnJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcblxuICBAT3V0cHV0KCkgZm9jdXNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcblxuICB0ZXh0YXJlYVZhbHVlID0gJyc7XG4gIGlzRm9jdXNlZCA9IGZhbHNlO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sndmFsdWUnXSAmJiBjaGFuZ2VzWyd2YWx1ZSddLmN1cnJlbnRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgbmV3VmFsdWUgPSBjaGFuZ2VzWyd2YWx1ZSddLmN1cnJlbnRWYWx1ZSA/PyAnJztcbiAgICAgIFxuICAgICAgaWYgKHRoaXMubWF4TGVuZ3RoICYmIG5ld1ZhbHVlLmxlbmd0aCA+IHRoaXMubWF4TGVuZ3RoKSB7XG4gICAgICAgIG5ld1ZhbHVlID0gbmV3VmFsdWUuc3Vic3RyaW5nKDAsIHRoaXMubWF4TGVuZ3RoKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgaWYgKG5ld1ZhbHVlICE9PSB0aGlzLnRleHRhcmVhVmFsdWUpIHtcbiAgICAgICAgdGhpcy50ZXh0YXJlYVZhbHVlID0gbmV3VmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGhhc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVycm9ycyAmJiB0aGlzLmVycm9ycy5sZW5ndGggPiAwO1xuICB9XG5cbiAgZ2V0IHRleHRhcmVhU2l6ZUNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMuc2l6ZSkge1xuICAgICAgY2FzZSAnc20nOlxuICAgICAgICByZXR1cm4gJ2NxYS1weC0zIGNxYS1weS0yIGNxYS10ZXh0LXhzJztcbiAgICAgIGNhc2UgJ21kJzpcbiAgICAgICAgcmV0dXJuICdjcWEtcHgtNCBjcWEtcHktMi41IGNxYS10ZXh0LXNtJztcbiAgICAgIGNhc2UgJ2xnJzpcbiAgICAgICAgcmV0dXJuICdjcWEtcHgtNSBjcWEtcHktMyBjcWEtdGV4dC1iYXNlJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnY3FhLXB4LTQgY3FhLXB5LTIuNSBjcWEtdGV4dC1zbSc7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGxhYmVsU2l6ZUNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMuc2l6ZSkge1xuICAgICAgY2FzZSAnc20nOlxuICAgICAgICByZXR1cm4gJ2NxYS10ZXh0LXhzIGNxYS1tYi0xJztcbiAgICAgIGNhc2UgJ21kJzpcbiAgICAgICAgcmV0dXJuICdjcWEtdGV4dC1zbSBjcWEtbWItMS41JztcbiAgICAgIGNhc2UgJ2xnJzpcbiAgICAgICAgcmV0dXJuICdjcWEtdGV4dC1iYXNlIGNxYS1tYi0yJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnY3FhLXRleHQtc20gY3FhLW1iLTEuNSc7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHJlc2l6ZUNsYXNzKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLnJlc2l6ZSkge1xuICAgICAgY2FzZSAnbm9uZSc6XG4gICAgICAgIHJldHVybiAnY3FhLXJlc2l6ZS1ub25lJztcbiAgICAgIGNhc2UgJ2JvdGgnOlxuICAgICAgICByZXR1cm4gJ2NxYS1yZXNpemUnO1xuICAgICAgY2FzZSAnaG9yaXpvbnRhbCc6XG4gICAgICAgIHJldHVybiAnY3FhLXJlc2l6ZS14JztcbiAgICAgIGNhc2UgJ3ZlcnRpY2FsJzpcbiAgICAgICAgcmV0dXJuICdjcWEtcmVzaXplLXknO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdjcWEtcmVzaXplLXknO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBudWxsO1xuICAgIGxldCBuZXh0VmFsdWUgPSB0YXJnZXQ/LnZhbHVlID8/ICcnO1xuICAgIFxuICAgIGlmICh0aGlzLnNob3dDaGFyQ291bnQgJiYgdGhpcy5tYXhMZW5ndGggJiYgbmV4dFZhbHVlLmxlbmd0aCA+IHRoaXMubWF4TGVuZ3RoKSB7XG4gICAgICBuZXh0VmFsdWUgPSBuZXh0VmFsdWUuc3Vic3RyaW5nKDAsIHRoaXMubWF4TGVuZ3RoKTtcbiAgICAgIGlmICh0YXJnZXQpIHtcbiAgICAgICAgdGFyZ2V0LnZhbHVlID0gbmV4dFZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICB0aGlzLnRleHRhcmVhVmFsdWUgPSBuZXh0VmFsdWU7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudGV4dGFyZWFWYWx1ZSk7XG4gIH1cblxuICBvbkZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pc0ZvY3VzZWQgPSB0cnVlO1xuICAgIHRoaXMuZm9jdXNlZC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uQmx1cihldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgdGhpcy5ibHVycmVkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgZ2V0IHRleHRhcmVhU3R5bGVzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGV4dGFyZWFJbmxpbmVTdHlsZSB8fCAnJztcbiAgfVxuXG4gIGdldCBsYWJlbFN0eWxlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxhYmVsSW5saW5lU3R5bGUgfHwgJyc7XG4gIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cImNxYS11aS1yb290XCIgW3N0eWxlLmRpc3BsYXldPVwiJ2Jsb2NrJ1wiIFtzdHlsZS53aWR0aF09XCJmdWxsV2lkdGggPyAnMTAwJScgOiAnYXV0bydcIj5cbiAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbFwiIFtzdHlsZS53aWR0aF09XCJmdWxsV2lkdGggPyAnMTAwJScgOiAnYXV0bydcIj5cbiAgICA8bGFiZWwgXG4gICAgICAqbmdJZj1cImxhYmVsXCJcbiAgICAgIGNsYXNzPVwiY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjMzc0MTUxXVwiXG4gICAgICBbbmdDbGFzc109XCJsYWJlbFNpemVDbGFzc2VzXCJcbiAgICAgIFtzdHlsZV09XCJsYWJlbFN0eWxlc1wiPlxuICAgICAge3sgbGFiZWwgfX1cbiAgICAgIDxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIiBjbGFzcz1cImNxYS10ZXh0LVsjRUY0NDQ0XSBjcWEtbWwtMC41XCI+Kjwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuXG4gICAgPGRpdiBjbGFzcz1cImNxYS1yZWxhdGl2ZVwiIFtzdHlsZS53aWR0aF09XCJmdWxsV2lkdGggPyAnMTAwJScgOiAnYXV0bydcIj5cbiAgICAgIDx0ZXh0YXJlYVxuICAgICAgICBjbGFzcz1cImNxYS13LWZ1bGwgIWNxYS1ib3JkZXIgIWNxYS1ib3JkZXItc29saWQgIWNxYS1ib3JkZXItZ3JheS0yMDAgY3FhLXJvdW5kZWQtbWQgY3FhLWJnLXdoaXRlIGNxYS1mb250LVsnU0ZfUHJvX1RleHQnXSBjcWEtZm9udC1ub3JtYWwgY3FhLWxlYWRpbmctbm9ybWFsIGNxYS10cmFja2luZy1ub3JtYWwgY3FhLXRleHQtWyMwQTBBMEFdIHBsYWNlaG9sZGVyOmNxYS10ZXh0LVsjOUNBM0FGXSBjcWEtdHJhbnNpdGlvbi1hbGwgY3FhLWR1cmF0aW9uLTIwMCBjcWEtb3V0bGluZS1ub25lXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdjcWEtYm9yZGVyLVsjRDFENURCXSBmb2N1czpjcWEtYm9yZGVyLVsjM0I4MkY2XSBmb2N1czpjcWEtcmluZy0xIGZvY3VzOmNxYS1yaW5nLVsjM0I4MkY2XSc6ICFoYXNFcnJvcixcbiAgICAgICAgICAnY3FhLWJvcmRlci1bI0VGNDQ0NF0gZm9jdXM6Y3FhLWJvcmRlci1bI0VGNDQ0NF0gZm9jdXM6Y3FhLXJpbmctMSBmb2N1czpjcWEtcmluZy1bI0VGNDQ0NF0nOiBoYXNFcnJvcixcbiAgICAgICAgICAnY3FhLWJnLVsjRjlGQUZCXSBjcWEtY3Vyc29yLW5vdC1hbGxvd2VkIGNxYS10ZXh0LVsjOUNBM0FGXSc6IGRpc2FibGVkLFxuICAgICAgICAgICdjcWEtb3V0bGluZS1ub25lJzogdHJ1ZVxuICAgICAgICB9XCJcbiAgICAgICAgW25nQ2xhc3NdPVwidGV4dGFyZWFTaXplQ2xhc3Nlc1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cInJlc2l6ZUNsYXNzXCJcbiAgICAgICAgW3N0eWxlXT1cInRleHRhcmVhU3R5bGVzXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgW3ZhbHVlXT1cInRleHRhcmVhVmFsdWVcIlxuICAgICAgICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2F0dHIucm93c109XCJyb3dzXCJcbiAgICAgICAgW2F0dHIuY29sc109XCJjb2xzXCJcbiAgICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heExlbmd0aFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsIHx8IGxhYmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImhhc0Vycm9yXCJcbiAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICA+PC90ZXh0YXJlYT5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJzaG93Q2hhckNvdW50ICYmIG1heExlbmd0aFwiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWp1c3RpZnktZW5kIGNxYS1tdC0xXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LXhzIGNxYS10ZXh0LVsjNkI3MjgwXVwiPlxuICAgICAgICB7eyB0ZXh0YXJlYVZhbHVlLmxlbmd0aCB9fS97eyBtYXhMZW5ndGggfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJoYXNFcnJvclwiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMSBjcWEtbXQtMS41XCI+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlcnJvciBvZiBlcnJvcnNcIiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1zdGFydCBjcWEtZ2FwLTEuNVwiPlxuICAgICAgICA8c3ZnIFxuICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBcbiAgICAgICAgICB3aWR0aD1cIjE0XCIgXG4gICAgICAgICAgaGVpZ2h0PVwiMTRcIiBcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE0IDE0XCIgXG4gICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgIGNsYXNzPVwiY3FhLWZsZXgtc2hyaW5rLTAgY3FhLW10LTAuNVwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNNyAxLjc1QzQuMSAxLjc1IDEuNzUgNC4xIDEuNzUgN0MxLjc1IDkuOSA0LjEgMTIuMjUgNyAxMi4yNUM5LjkgMTIuMjUgMTIuMjUgOS45IDEyLjI1IDdDMTIuMjUgNC4xIDkuOSAxLjc1IDcgMS43NVpNNyA5LjYyNUM2LjY1NjI1IDkuNjI1IDYuMzc1IDkuMzQzNzUgNi4zNzUgOVY3QzYuMzc1IDYuNjU2MjUgNi42NTYyNSA2LjM3NSA3IDYuMzc1QzcuMzQzNzUgNi4zNzUgNy42MjUgNi42NTYyNSA3LjYyNSA3VjlDNy42MjUgOS4zNDM3NSA3LjM0Mzc1IDkuNjI1IDcgOS42MjVaTTcuNjI1IDUuMjVINi4zNzVWNEg3LjYyNVY1LjI1WlwiIGZpbGw9XCIjRUY0NDQ0XCIvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC14cyBjcWEtdGV4dC1bI0VGNDQ0NF0gY3FhLWZvbnQtbWVkaXVtIGNxYS1sZWFkaW5nLVsxOHB4XVwiPlxuICAgICAgICAgIHt7IGVycm9yIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRleHRhcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY3VzdG9tLXRleHRhcmVhL2N1c3RvbS10ZXh0YXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2N1c3RvbS10ZXh0YXJlYS9jdXN0b20tdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsU0FBUyxFQUE2QixNQUFNLGVBQWUsQ0FBQzs7OztBQVN2SSxNQUFNLE9BQU8sdUJBQXVCO0lBTHBDO1FBT1csVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVYLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRWpCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFcEIsbUdBQW1HO1FBQzFGLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRXZCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsV0FBTSxHQUFhLEVBQUUsQ0FBQztRQUV0QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFZixTQUFJLEdBQWlCLElBQUksQ0FBQztRQUUxQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBSWxCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBTXRCLFdBQU0sR0FBZ0QsVUFBVSxDQUFDO1FBTWhFLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV6QyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUV6QyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUluRCxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxR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LEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFFRyxPQUFPO3NCQUFoQixNQUFNO2dCQUVHLE9BQU87c0JBQWhCLE1BQU07Z0JBRXFDLFVBQVU7c0JBQXJELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG50eXBlIFRleHRhcmVhU2l6ZSA9ICdzbScgfCAnbWQnIHwgJ2xnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLWN1c3RvbS10ZXh0YXJlYScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7IGNsYXNzOiAnY3FhLXVpLXJvb3QnIH1cbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tVGV4dGFyZWFDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG5cbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcblxuICBASW5wdXQoKSB2YWx1ZSA9ICcnO1xuXG4gIC8qKiBXaGVuIHRydWUsIHNob3dzIFRyaXggcmljaCB0ZXh0IGVkaXRvciAoQm9sZCwgSXRhbGljLCBldGMuKS4gSG9zdCBhcHAgbXVzdCBsb2FkIFRyaXggSlMvQ1NTLiAqL1xuICBASW5wdXQoKSBlbmFibGVNYXJrZG93biA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgYXJpYUxhYmVsID0gJyc7XG5cbiAgQElucHV0KCkgc2l6ZTogVGV4dGFyZWFTaXplID0gJ21kJztcblxuICBASW5wdXQoKSBmdWxsV2lkdGggPSBmYWxzZTtcblxuICBASW5wdXQoKSBtYXhMZW5ndGg/OiBudW1iZXI7XG5cbiAgQElucHV0KCkgc2hvd0NoYXJDb3VudCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHJvd3M/OiBudW1iZXI7XG5cbiAgQElucHV0KCkgY29scz86IG51bWJlcjtcblxuICBASW5wdXQoKSByZXNpemU6ICdub25lJyB8ICdib3RoJyB8ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcgPSAndmVydGljYWwnO1xuXG4gIEBJbnB1dCgpIHRleHRhcmVhSW5saW5lU3R5bGU/OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgbGFiZWxJbmxpbmVTdHlsZT86IHN0cmluZztcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KCkgYmx1cnJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcblxuICBAT3V0cHV0KCkgZm9jdXNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcblxuICBAVmlld0NoaWxkKCd0cml4RWRpdG9yJywgeyBzdGF0aWM6IGZhbHNlIH0pIHRyaXhFZGl0b3I/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICB0ZXh0YXJlYVZhbHVlID0gJyc7XG4gIGlzRm9jdXNlZCA9IGZhbHNlO1xuICB0cml4RWRpdG9ySWQgPSAnY3FhLXRyaXgtJyArIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIsIDExKTtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZW5hYmxlTWFya2Rvd24pIHtcbiAgICAgIHRoaXMuc3luY1RyaXhDb250ZW50KHRoaXMudmFsdWUgfHwgdGhpcy50ZXh0YXJlYVZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBvblRyaXhJbml0aWFsaXplKF9ldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnN5bmNUcml4Q29udGVudCh0aGlzLnZhbHVlIHx8IHRoaXMudGV4dGFyZWFWYWx1ZSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3ZhbHVlJ10gJiYgY2hhbmdlc1sndmFsdWUnXS5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IG5ld1ZhbHVlID0gY2hhbmdlc1sndmFsdWUnXS5jdXJyZW50VmFsdWUgPz8gJyc7XG4gICAgICBcbiAgICAgIGlmICghdGhpcy5lbmFibGVNYXJrZG93biAmJiB0aGlzLm1heExlbmd0aCAmJiBuZXdWYWx1ZS5sZW5ndGggPiB0aGlzLm1heExlbmd0aCkge1xuICAgICAgICBuZXdWYWx1ZSA9IG5ld1ZhbHVlLnN1YnN0cmluZygwLCB0aGlzLm1heExlbmd0aCk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy50ZXh0YXJlYVZhbHVlKSB7XG4gICAgICAgIHRoaXMudGV4dGFyZWFWYWx1ZSA9IG5ld1ZhbHVlO1xuICAgICAgICBpZiAodGhpcy5lbmFibGVNYXJrZG93biAmJiAodGhpcy50cml4RWRpdG9yPy5uYXRpdmVFbGVtZW50IGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pPy5bJ2VkaXRvciddKSB7XG4gICAgICAgICAgdGhpcy5zeW5jVHJpeENvbnRlbnQobmV3VmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzeW5jVHJpeENvbnRlbnQoaHRtbDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZWwgPSB0aGlzLnRyaXhFZGl0b3I/Lm5hdGl2ZUVsZW1lbnQgYXMgdW5rbm93bjtcbiAgICBjb25zdCBlZGl0b3IgPSAoZWwgYXMgeyBlZGl0b3I/OiB7IGxvYWRIVE1MOiAoaDogc3RyaW5nKSA9PiB2b2lkIH0gfSk/LmVkaXRvcjtcbiAgICBpZiAoZWRpdG9yKSB7XG4gICAgICB0cnkge1xuICAgICAgICBlZGl0b3IubG9hZEhUTUwoaHRtbCB8fCAnJyk7XG4gICAgICB9IGNhdGNoIHt9XG4gICAgfVxuICB9XG5cbiAgb25Ucml4Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgY29uc3QgaHRtbCA9IHRhcmdldD8uaW5uZXJIVE1MID8/ICcnO1xuICAgIHRoaXMudGV4dGFyZWFWYWx1ZSA9IGh0bWw7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGh0bWwpO1xuICB9XG5cbiAgb25Ucml4Rm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XG4gICAgdGhpcy5mb2N1c2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25Ucml4Qmx1cihldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgY29uc3QgaHRtbCA9IHRhcmdldD8uaW5uZXJIVE1MID8/ICcnO1xuICAgIHRoaXMudGV4dGFyZWFWYWx1ZSA9IGh0bWw7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGh0bWwpO1xuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgdGhpcy5ibHVycmVkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgZ2V0IGhhc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVycm9ycyAmJiB0aGlzLmVycm9ycy5sZW5ndGggPiAwO1xuICB9XG5cbiAgZ2V0IHRleHRhcmVhU2l6ZUNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMuc2l6ZSkge1xuICAgICAgY2FzZSAnc20nOlxuICAgICAgICByZXR1cm4gJ2NxYS1weC0zIGNxYS1weS0yIGNxYS10ZXh0LXhzJztcbiAgICAgIGNhc2UgJ21kJzpcbiAgICAgICAgcmV0dXJuICdjcWEtcHgtNCBjcWEtcHktMi41IGNxYS10ZXh0LXNtJztcbiAgICAgIGNhc2UgJ2xnJzpcbiAgICAgICAgcmV0dXJuICdjcWEtcHgtNSBjcWEtcHktMyBjcWEtdGV4dC1iYXNlJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnY3FhLXB4LTQgY3FhLXB5LTIuNSBjcWEtdGV4dC1zbSc7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGxhYmVsU2l6ZUNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMuc2l6ZSkge1xuICAgICAgY2FzZSAnc20nOlxuICAgICAgICByZXR1cm4gJ2NxYS10ZXh0LXhzIGNxYS1tYi0xJztcbiAgICAgIGNhc2UgJ21kJzpcbiAgICAgICAgcmV0dXJuICdjcWEtdGV4dC1zbSBjcWEtbWItMS41JztcbiAgICAgIGNhc2UgJ2xnJzpcbiAgICAgICAgcmV0dXJuICdjcWEtdGV4dC1iYXNlIGNxYS1tYi0yJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnY3FhLXRleHQtc20gY3FhLW1iLTEuNSc7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHJlc2l6ZUNsYXNzKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLnJlc2l6ZSkge1xuICAgICAgY2FzZSAnbm9uZSc6XG4gICAgICAgIHJldHVybiAnY3FhLXJlc2l6ZS1ub25lJztcbiAgICAgIGNhc2UgJ2JvdGgnOlxuICAgICAgICByZXR1cm4gJ2NxYS1yZXNpemUnO1xuICAgICAgY2FzZSAnaG9yaXpvbnRhbCc6XG4gICAgICAgIHJldHVybiAnY3FhLXJlc2l6ZS14JztcbiAgICAgIGNhc2UgJ3ZlcnRpY2FsJzpcbiAgICAgICAgcmV0dXJuICdjcWEtcmVzaXplLXknO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdjcWEtcmVzaXplLXknO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBudWxsO1xuICAgIGxldCBuZXh0VmFsdWUgPSB0YXJnZXQ/LnZhbHVlID8/ICcnO1xuICAgIFxuICAgIGlmICh0aGlzLnNob3dDaGFyQ291bnQgJiYgdGhpcy5tYXhMZW5ndGggJiYgbmV4dFZhbHVlLmxlbmd0aCA+IHRoaXMubWF4TGVuZ3RoKSB7XG4gICAgICBuZXh0VmFsdWUgPSBuZXh0VmFsdWUuc3Vic3RyaW5nKDAsIHRoaXMubWF4TGVuZ3RoKTtcbiAgICAgIGlmICh0YXJnZXQpIHtcbiAgICAgICAgdGFyZ2V0LnZhbHVlID0gbmV4dFZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICB0aGlzLnRleHRhcmVhVmFsdWUgPSBuZXh0VmFsdWU7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudGV4dGFyZWFWYWx1ZSk7XG4gIH1cblxuICBvbkZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pc0ZvY3VzZWQgPSB0cnVlO1xuICAgIHRoaXMuZm9jdXNlZC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uQmx1cihldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgdGhpcy5ibHVycmVkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgZ2V0IHRleHRhcmVhU3R5bGVzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGV4dGFyZWFJbmxpbmVTdHlsZSB8fCAnJztcbiAgfVxuXG4gIGdldCBsYWJlbFN0eWxlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxhYmVsSW5saW5lU3R5bGUgfHwgJyc7XG4gIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cImNxYS11aS1yb290XCIgW3N0eWxlLmRpc3BsYXldPVwiJ2Jsb2NrJ1wiIFtzdHlsZS53aWR0aF09XCJmdWxsV2lkdGggPyAnMTAwJScgOiAnYXV0bydcIj5cbiAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbFwiIFtzdHlsZS53aWR0aF09XCJmdWxsV2lkdGggPyAnMTAwJScgOiAnYXV0bydcIj5cbiAgICA8bGFiZWwgXG4gICAgICAqbmdJZj1cImxhYmVsXCJcbiAgICAgIGNsYXNzPVwiY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjMzc0MTUxXVwiXG4gICAgICBbbmdDbGFzc109XCJsYWJlbFNpemVDbGFzc2VzXCJcbiAgICAgIFtzdHlsZV09XCJsYWJlbFN0eWxlc1wiPlxuICAgICAge3sgbGFiZWwgfX1cbiAgICAgIDxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIiBjbGFzcz1cImNxYS10ZXh0LVsjRUY0NDQ0XSBjcWEtbWwtMC41XCI+Kjwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuXG4gICAgPCEtLSBNYXJrZG93bi9yaWNoIHRleHQgbW9kZTogVHJpeCBlZGl0b3IgKGhvc3QgYXBwIG11c3QgbG9hZCBUcml4IEpTL0NTUykuXG4gICAgICAgICBVc2UgVHJpeCdzIGRlZmF1bHQgdG9vbGJhciAobm8gdG9vbGJhciBhdHRyKSAtIGN1c3RvbSB0b29sYmFyIGhhZCBhc3NvY2lhdGlvbiBpc3N1ZXMuIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbmFibGVNYXJrZG93blwiPlxuICAgICAgPGZvcm0gY2xhc3M9XCJjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1ncmF5LTIwMCBjcWEtcm91bmRlZC1tZCBjcWEtYmctd2hpdGUgY3FhLW92ZXJmbG93LWhpZGRlblwiIFtzdHlsZS53aWR0aF09XCJmdWxsV2lkdGggPyAnMTAwJScgOiAnYXV0bydcIiAoc3VibWl0KT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgW2lkXT1cInRyaXhFZGl0b3JJZFwiIFt2YWx1ZV09XCJ0ZXh0YXJlYVZhbHVlXCI+XG4gICAgICAgIDx0cml4LWVkaXRvclxuICAgICAgICAgICN0cml4RWRpdG9yXG4gICAgICAgICAgW2F0dHIuaW5wdXRdPVwidHJpeEVkaXRvcklkXCJcbiAgICAgICAgICBjbGFzcz1cImNxYS13LWZ1bGwgY3FhLXAtMyBjcWEtbWluLWgtWzEyMHB4XSBjcWEtdGV4dC1zbSBjcWEtdGV4dC1bIzBBMEEwQV0gY3FhLW91dGxpbmUtbm9uZSBjcWEtYm9yZGVyLTBcIlxuICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBudWxsXCJcbiAgICAgICAgICAodHJpeC1pbml0aWFsaXplKT1cIm9uVHJpeEluaXRpYWxpemUoJGV2ZW50KVwiXG4gICAgICAgICAgKHRyaXgtY2hhbmdlKT1cIm9uVHJpeENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAoZm9jdXMpPVwib25Ucml4Rm9jdXMoJGV2ZW50KVwiXG4gICAgICAgICAgKGJsdXIpPVwib25Ucml4Qmx1cigkZXZlbnQpXCI+XG4gICAgICAgIDwvdHJpeC1lZGl0b3I+XG4gICAgICA8L2Zvcm0+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIFBsYWluIHRleHQgbW9kZTogc3RhbmRhcmQgdGV4dGFyZWEgLS0+XG4gICAgPGRpdiAqbmdJZj1cIiFlbmFibGVNYXJrZG93blwiIGNsYXNzPVwiY3FhLXJlbGF0aXZlXCIgW3N0eWxlLndpZHRoXT1cImZ1bGxXaWR0aCA/ICcxMDAlJyA6ICdhdXRvJ1wiPlxuICAgICAgPHRleHRhcmVhXG4gICAgICAgIGNsYXNzPVwiY3FhLXctZnVsbCAhY3FhLWJvcmRlciAhY3FhLWJvcmRlci1zb2xpZCAhY3FhLWJvcmRlci1ncmF5LTIwMCBjcWEtcm91bmRlZC1tZCBjcWEtYmctd2hpdGUgY3FhLWZvbnQtWydTRl9Qcm9fVGV4dCddIGNxYS1mb250LW5vcm1hbCBjcWEtbGVhZGluZy1ub3JtYWwgY3FhLXRyYWNraW5nLW5vcm1hbCBjcWEtdGV4dC1bIzBBMEEwQV0gcGxhY2Vob2xkZXI6Y3FhLXRleHQtWyM5Q0EzQUZdIGNxYS10cmFuc2l0aW9uLWFsbCBjcWEtZHVyYXRpb24tMjAwIGNxYS1vdXRsaW5lLW5vbmVcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ2NxYS1ib3JkZXItWyNEMUQ1REJdIGZvY3VzOmNxYS1ib3JkZXItWyMzQjgyRjZdIGZvY3VzOmNxYS1yaW5nLTEgZm9jdXM6Y3FhLXJpbmctWyMzQjgyRjZdJzogIWhhc0Vycm9yLFxuICAgICAgICAgICdjcWEtYm9yZGVyLVsjRUY0NDQ0XSBmb2N1czpjcWEtYm9yZGVyLVsjRUY0NDQ0XSBmb2N1czpjcWEtcmluZy0xIGZvY3VzOmNxYS1yaW5nLVsjRUY0NDQ0XSc6IGhhc0Vycm9yLFxuICAgICAgICAgICdjcWEtYmctWyNGOUZBRkJdIGNxYS1jdXJzb3Itbm90LWFsbG93ZWQgY3FhLXRleHQtWyM5Q0EzQUZdJzogZGlzYWJsZWQsXG4gICAgICAgICAgJ2NxYS1vdXRsaW5lLW5vbmUnOiB0cnVlXG4gICAgICAgIH1cIlxuICAgICAgICBbbmdDbGFzc109XCJ0ZXh0YXJlYVNpemVDbGFzc2VzXCJcbiAgICAgICAgW25nQ2xhc3NdPVwicmVzaXplQ2xhc3NcIlxuICAgICAgICBbc3R5bGVdPVwidGV4dGFyZWFTdHlsZXNcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICBbdmFsdWVdPVwidGV4dGFyZWFWYWx1ZVwiXG4gICAgICAgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbYXR0ci5yb3dzXT1cInJvd3NcIlxuICAgICAgICBbYXR0ci5jb2xzXT1cImNvbHNcIlxuICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4TGVuZ3RoXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwgfHwgbGFiZWxcIlxuICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaGFzRXJyb3JcIlxuICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgID48L3RleHRhcmVhPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cIiFlbmFibGVNYXJrZG93biAmJiBzaG93Q2hhckNvdW50ICYmIG1heExlbmd0aFwiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWp1c3RpZnktZW5kIGNxYS1tdC0xXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LXhzIGNxYS10ZXh0LVsjNkI3MjgwXVwiPlxuICAgICAgICB7eyB0ZXh0YXJlYVZhbHVlLmxlbmd0aCB9fS97eyBtYXhMZW5ndGggfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJoYXNFcnJvclwiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMSBjcWEtbXQtMS41XCI+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlcnJvciBvZiBlcnJvcnNcIiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1zdGFydCBjcWEtZ2FwLTEuNVwiPlxuICAgICAgICA8c3ZnIFxuICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBcbiAgICAgICAgICB3aWR0aD1cIjE0XCIgXG4gICAgICAgICAgaGVpZ2h0PVwiMTRcIiBcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE0IDE0XCIgXG4gICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgIGNsYXNzPVwiY3FhLWZsZXgtc2hyaW5rLTAgY3FhLW10LTAuNVwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNNyAxLjc1QzQuMSAxLjc1IDEuNzUgNC4xIDEuNzUgN0MxLjc1IDkuOSA0LjEgMTIuMjUgNyAxMi4yNUM5LjkgMTIuMjUgMTIuMjUgOS45IDEyLjI1IDdDMTIuMjUgNC4xIDkuOSAxLjc1IDcgMS43NVpNNyA5LjYyNUM2LjY1NjI1IDkuNjI1IDYuMzc1IDkuMzQzNzUgNi4zNzUgOVY3QzYuMzc1IDYuNjU2MjUgNi42NTYyNSA2LjM3NSA3IDYuMzc1QzcuMzQzNzUgNi4zNzUgNy42MjUgNi42NTYyNSA3LjYyNSA3VjlDNy42MjUgOS4zNDM3NSA3LjM0Mzc1IDkuNjI1IDcgOS42MjVaTTcuNjI1IDUuMjVINi4zNzVWNEg3LjYyNVY1LjI1WlwiIGZpbGw9XCIjRUY0NDQ0XCIvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC14cyBjcWEtdGV4dC1bI0VGNDQ0NF0gY3FhLWZvbnQtbWVkaXVtIGNxYS1sZWFkaW5nLVsxOHB4XVwiPlxuICAgICAgICAgIHt7IGVycm9yIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
|
|
@@ -72,13 +72,13 @@ export class DetailDrawerComponent {
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
DetailDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: DetailDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
75
|
-
DetailDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: DetailDrawerComponent, selector: "cqa-detail-drawer", inputs: { activeTab: "activeTab", showCloseButton: "showCloseButton", expanded: "expanded", expandedWidth: "expandedWidth", minExpandedWidth: "minExpandedWidth", maxExpandedWidth: "maxExpandedWidth", collapsedWidth: "collapsedWidth", expandTooltip: "expandTooltip", collapseTooltip: "collapseTooltip", closeTooltip: "closeTooltip" }, outputs: { activeTabChange: "activeTabChange", expandToggle: "expandToggle", close: "close" }, host: { properties: { "style.width": "this.hostWidth", "style.min-width": "this.hostMinWidth", "style.max-width": "this.hostMaxWidth" }, styleAttribute: "transition: width 0.3s ease-in-out", classAttribute: "cqa-ui-root cqa-flex cqa-flex-col cqa-h-full cqa-bg-white cqa-shadow-[-4px_0_6px_-1px_rgba(0,0,0,0.05)]" }, queries: [{ propertyName: "tabComponents", predicate: DetailDrawerTabComponent }], ngImport: i0, template: "<div class=\"cqa-flex cqa-flex-col cqa-h-full cqa-bg-white\">\n <div\n class=\"cqa-grid cqa-flex-1 cqa-min-h-0 cqa-overflow-hidden\"\n [style.grid-template-columns]=\"expanded ? 'auto 1fr' : 'auto 0fr'\"\n style=\"transition: grid-template-columns 0.3s ease-in-out\">\n <!-- Left vertical icon bar: one button per tab -->\n <div class=\"cqa-flex cqa-flex-col cqa-flex-1 cqa-min-h-0 cqa-items-center cqa-py-4 cqa-px-2 cqa-border-r cqa-border-[#E2E8F0] cqa-bg-[#FAFAFA] cqa-flex-shrink-0\">\n <!-- Expand / Collapse button (always visible) -->\n <button\n type=\"button\"\n [matTooltip]=\"expanded ? collapseTooltip : expandTooltip\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-9 cqa-h-9 cqa-rounded-lg cqa-text-[#64748B] hover:cqa-bg-[#E2E8F0] hover:cqa-text-[#334155] cqa-transition-colors focus:cqa-outline-none focus-visible:cqa-ring-2 focus-visible:cqa-ring-[#3F43EE] focus-visible:cqa-ring-offset-2 cqa-flex-shrink-0\"\n (click)=\"onExpandToggle()\">\n <mat-icon class=\"cqa-text-[20px] cqa-w-5 cqa-h-5\">{{ expanded ? 'unfold_less' : 'unfold_more' }}</mat-icon>\n </button>\n <!-- Close button -->\n <button\n *ngIf=\"showCloseButton\"\n type=\"button\"\n [matTooltip]=\"closeTooltip\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-9 cqa-h-9 cqa-rounded-lg cqa-text-[#64748B] hover:cqa-bg-[#E2E8F0] hover:cqa-text-[#334155] cqa-transition-colors focus:cqa-outline-none focus-visible:cqa-ring-2 focus-visible:cqa-ring-[#3F43EE] focus-visible:cqa-ring-offset-2 cqa-flex-shrink-0\"\n (click)=\"onClose()\">\n <mat-icon class=\"cqa-text-[20px] cqa-w-5 cqa-h-5\">close</mat-icon>\n </button>\n <!-- Tab buttons: equally distributed in remaining space -->\n <div class=\"cqa-flex cqa-flex-1 cqa-flex-col cqa-justify-evenly cqa-items-center cqa-w-full\">\n <button\n *ngFor=\"let tab of tabComponents; trackBy: trackByValue\"\n type=\"button\"\n role=\"tab\"\n [attr.aria-selected]=\"isTabActive(tab)\"\n [matTooltip]=\"tab.label\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-9 cqa-h-9 cqa-rounded-lg cqa-transition-colors focus:cqa-outline-none focus-visible:cqa-ring-2 focus-visible:cqa-ring-[#3F43EE] focus-visible:cqa-ring-offset-2 cqa-flex-shrink-0\"\n [ngClass]=\"{\n 'cqa-bg-[#3F43EE] cqa-text-white': isTabActive(tab),\n 'cqa-text-[#64748B] hover:cqa-bg-[#E2E8F0] hover:cqa-text-[#334155]': !isTabActive(tab)\n }\"\n (click)=\"onTabClick(tab)\">\n <mat-icon class=\"cqa-text-[20px] cqa-w-5 cqa-h-5\">{{ tab.icon }}</mat-icon>\n </button>\n </div>\n </div>\n\n <!-- Content area: show only the active tab's content -->\n <div class=\"cqa-min-w-0 cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-overflow-y-auto cqa-p-4
|
|
75
|
+
DetailDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: DetailDrawerComponent, selector: "cqa-detail-drawer", inputs: { activeTab: "activeTab", showCloseButton: "showCloseButton", expanded: "expanded", expandedWidth: "expandedWidth", minExpandedWidth: "minExpandedWidth", maxExpandedWidth: "maxExpandedWidth", collapsedWidth: "collapsedWidth", expandTooltip: "expandTooltip", collapseTooltip: "collapseTooltip", closeTooltip: "closeTooltip" }, outputs: { activeTabChange: "activeTabChange", expandToggle: "expandToggle", close: "close" }, host: { properties: { "style.width": "this.hostWidth", "style.min-width": "this.hostMinWidth", "style.max-width": "this.hostMaxWidth" }, styleAttribute: "transition: width 0.3s ease-in-out", classAttribute: "cqa-ui-root cqa-flex cqa-flex-col cqa-h-full cqa-bg-white cqa-shadow-[-4px_0_6px_-1px_rgba(0,0,0,0.05)]" }, queries: [{ propertyName: "tabComponents", predicate: DetailDrawerTabComponent }], ngImport: i0, template: "<div class=\"cqa-flex cqa-flex-col cqa-h-full cqa-bg-white\">\n <div\n class=\"cqa-grid cqa-flex-1 cqa-min-h-0 cqa-overflow-hidden\"\n [style.grid-template-columns]=\"expanded ? 'auto 1fr' : 'auto 0fr'\"\n style=\"transition: grid-template-columns 0.3s ease-in-out\">\n <!-- Left vertical icon bar: one button per tab -->\n <div class=\"cqa-flex cqa-flex-col cqa-flex-1 cqa-min-h-0 cqa-items-center cqa-py-4 cqa-px-2 cqa-border-r cqa-border-[#E2E8F0] cqa-bg-[#FAFAFA] cqa-flex-shrink-0\">\n <!-- Expand / Collapse button (always visible) -->\n <button\n type=\"button\"\n [matTooltip]=\"expanded ? collapseTooltip : expandTooltip\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-9 cqa-h-9 cqa-rounded-lg cqa-text-[#64748B] hover:cqa-bg-[#E2E8F0] hover:cqa-text-[#334155] cqa-transition-colors focus:cqa-outline-none focus-visible:cqa-ring-2 focus-visible:cqa-ring-[#3F43EE] focus-visible:cqa-ring-offset-2 cqa-flex-shrink-0\"\n (click)=\"onExpandToggle()\">\n <mat-icon class=\"cqa-text-[20px] cqa-w-5 cqa-h-5\">{{ expanded ? 'unfold_less' : 'unfold_more' }}</mat-icon>\n </button>\n <!-- Close button -->\n <button\n *ngIf=\"showCloseButton\"\n type=\"button\"\n [matTooltip]=\"closeTooltip\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-9 cqa-h-9 cqa-rounded-lg cqa-text-[#64748B] hover:cqa-bg-[#E2E8F0] hover:cqa-text-[#334155] cqa-transition-colors focus:cqa-outline-none focus-visible:cqa-ring-2 focus-visible:cqa-ring-[#3F43EE] focus-visible:cqa-ring-offset-2 cqa-flex-shrink-0\"\n (click)=\"onClose()\">\n <mat-icon class=\"cqa-text-[20px] cqa-w-5 cqa-h-5\">close</mat-icon>\n </button>\n <!-- Tab buttons: equally distributed in remaining space -->\n <div class=\"cqa-flex cqa-flex-1 cqa-flex-col cqa-justify-evenly cqa-items-center cqa-w-full\">\n <button\n *ngFor=\"let tab of tabComponents; trackBy: trackByValue\"\n type=\"button\"\n role=\"tab\"\n [attr.aria-selected]=\"isTabActive(tab)\"\n [matTooltip]=\"tab.label\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-9 cqa-h-9 cqa-rounded-lg cqa-transition-colors focus:cqa-outline-none focus-visible:cqa-ring-2 focus-visible:cqa-ring-[#3F43EE] focus-visible:cqa-ring-offset-2 cqa-flex-shrink-0\"\n [ngClass]=\"{\n 'cqa-bg-[#3F43EE] cqa-text-white': isTabActive(tab),\n 'cqa-text-[#64748B] hover:cqa-bg-[#E2E8F0] hover:cqa-text-[#334155]': !isTabActive(tab)\n }\"\n (click)=\"onTabClick(tab)\">\n <mat-icon class=\"cqa-text-[20px] cqa-w-5 cqa-h-5\">{{ tab.icon }}</mat-icon>\n </button>\n </div>\n </div>\n\n <!-- Content area: show only the active tab's content -->\n <div class=\"cqa-min-w-0 cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-overflow-y-auto cqa-p-4\">\n <ng-container *ngFor=\"let tab of tabComponents\">\n <ng-container *ngIf=\"tab.value === activeTab && tab.contentTemplate\" [ngTemplateOutlet]=\"tab.contentTemplate\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
76
76
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: DetailDrawerComponent, decorators: [{
|
|
77
77
|
type: Component,
|
|
78
78
|
args: [{ selector: 'cqa-detail-drawer', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
79
79
|
class: 'cqa-ui-root cqa-flex cqa-flex-col cqa-h-full cqa-bg-white cqa-shadow-[-4px_0_6px_-1px_rgba(0,0,0,0.05)]',
|
|
80
80
|
style: 'transition: width 0.3s ease-in-out',
|
|
81
|
-
}, template: "<div class=\"cqa-flex cqa-flex-col cqa-h-full cqa-bg-white\">\n <div\n class=\"cqa-grid cqa-flex-1 cqa-min-h-0 cqa-overflow-hidden\"\n [style.grid-template-columns]=\"expanded ? 'auto 1fr' : 'auto 0fr'\"\n style=\"transition: grid-template-columns 0.3s ease-in-out\">\n <!-- Left vertical icon bar: one button per tab -->\n <div class=\"cqa-flex cqa-flex-col cqa-flex-1 cqa-min-h-0 cqa-items-center cqa-py-4 cqa-px-2 cqa-border-r cqa-border-[#E2E8F0] cqa-bg-[#FAFAFA] cqa-flex-shrink-0\">\n <!-- Expand / Collapse button (always visible) -->\n <button\n type=\"button\"\n [matTooltip]=\"expanded ? collapseTooltip : expandTooltip\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-9 cqa-h-9 cqa-rounded-lg cqa-text-[#64748B] hover:cqa-bg-[#E2E8F0] hover:cqa-text-[#334155] cqa-transition-colors focus:cqa-outline-none focus-visible:cqa-ring-2 focus-visible:cqa-ring-[#3F43EE] focus-visible:cqa-ring-offset-2 cqa-flex-shrink-0\"\n (click)=\"onExpandToggle()\">\n <mat-icon class=\"cqa-text-[20px] cqa-w-5 cqa-h-5\">{{ expanded ? 'unfold_less' : 'unfold_more' }}</mat-icon>\n </button>\n <!-- Close button -->\n <button\n *ngIf=\"showCloseButton\"\n type=\"button\"\n [matTooltip]=\"closeTooltip\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-9 cqa-h-9 cqa-rounded-lg cqa-text-[#64748B] hover:cqa-bg-[#E2E8F0] hover:cqa-text-[#334155] cqa-transition-colors focus:cqa-outline-none focus-visible:cqa-ring-2 focus-visible:cqa-ring-[#3F43EE] focus-visible:cqa-ring-offset-2 cqa-flex-shrink-0\"\n (click)=\"onClose()\">\n <mat-icon class=\"cqa-text-[20px] cqa-w-5 cqa-h-5\">close</mat-icon>\n </button>\n <!-- Tab buttons: equally distributed in remaining space -->\n <div class=\"cqa-flex cqa-flex-1 cqa-flex-col cqa-justify-evenly cqa-items-center cqa-w-full\">\n <button\n *ngFor=\"let tab of tabComponents; trackBy: trackByValue\"\n type=\"button\"\n role=\"tab\"\n [attr.aria-selected]=\"isTabActive(tab)\"\n [matTooltip]=\"tab.label\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-9 cqa-h-9 cqa-rounded-lg cqa-transition-colors focus:cqa-outline-none focus-visible:cqa-ring-2 focus-visible:cqa-ring-[#3F43EE] focus-visible:cqa-ring-offset-2 cqa-flex-shrink-0\"\n [ngClass]=\"{\n 'cqa-bg-[#3F43EE] cqa-text-white': isTabActive(tab),\n 'cqa-text-[#64748B] hover:cqa-bg-[#E2E8F0] hover:cqa-text-[#334155]': !isTabActive(tab)\n }\"\n (click)=\"onTabClick(tab)\">\n <mat-icon class=\"cqa-text-[20px] cqa-w-5 cqa-h-5\">{{ tab.icon }}</mat-icon>\n </button>\n </div>\n </div>\n\n <!-- Content area: show only the active tab's content -->\n <div class=\"cqa-min-w-0 cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-overflow-y-auto cqa-p-4
|
|
81
|
+
}, template: "<div class=\"cqa-flex cqa-flex-col cqa-h-full cqa-bg-white\">\n <div\n class=\"cqa-grid cqa-flex-1 cqa-min-h-0 cqa-overflow-hidden\"\n [style.grid-template-columns]=\"expanded ? 'auto 1fr' : 'auto 0fr'\"\n style=\"transition: grid-template-columns 0.3s ease-in-out\">\n <!-- Left vertical icon bar: one button per tab -->\n <div class=\"cqa-flex cqa-flex-col cqa-flex-1 cqa-min-h-0 cqa-items-center cqa-py-4 cqa-px-2 cqa-border-r cqa-border-[#E2E8F0] cqa-bg-[#FAFAFA] cqa-flex-shrink-0\">\n <!-- Expand / Collapse button (always visible) -->\n <button\n type=\"button\"\n [matTooltip]=\"expanded ? collapseTooltip : expandTooltip\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-9 cqa-h-9 cqa-rounded-lg cqa-text-[#64748B] hover:cqa-bg-[#E2E8F0] hover:cqa-text-[#334155] cqa-transition-colors focus:cqa-outline-none focus-visible:cqa-ring-2 focus-visible:cqa-ring-[#3F43EE] focus-visible:cqa-ring-offset-2 cqa-flex-shrink-0\"\n (click)=\"onExpandToggle()\">\n <mat-icon class=\"cqa-text-[20px] cqa-w-5 cqa-h-5\">{{ expanded ? 'unfold_less' : 'unfold_more' }}</mat-icon>\n </button>\n <!-- Close button -->\n <button\n *ngIf=\"showCloseButton\"\n type=\"button\"\n [matTooltip]=\"closeTooltip\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-9 cqa-h-9 cqa-rounded-lg cqa-text-[#64748B] hover:cqa-bg-[#E2E8F0] hover:cqa-text-[#334155] cqa-transition-colors focus:cqa-outline-none focus-visible:cqa-ring-2 focus-visible:cqa-ring-[#3F43EE] focus-visible:cqa-ring-offset-2 cqa-flex-shrink-0\"\n (click)=\"onClose()\">\n <mat-icon class=\"cqa-text-[20px] cqa-w-5 cqa-h-5\">close</mat-icon>\n </button>\n <!-- Tab buttons: equally distributed in remaining space -->\n <div class=\"cqa-flex cqa-flex-1 cqa-flex-col cqa-justify-evenly cqa-items-center cqa-w-full\">\n <button\n *ngFor=\"let tab of tabComponents; trackBy: trackByValue\"\n type=\"button\"\n role=\"tab\"\n [attr.aria-selected]=\"isTabActive(tab)\"\n [matTooltip]=\"tab.label\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-9 cqa-h-9 cqa-rounded-lg cqa-transition-colors focus:cqa-outline-none focus-visible:cqa-ring-2 focus-visible:cqa-ring-[#3F43EE] focus-visible:cqa-ring-offset-2 cqa-flex-shrink-0\"\n [ngClass]=\"{\n 'cqa-bg-[#3F43EE] cqa-text-white': isTabActive(tab),\n 'cqa-text-[#64748B] hover:cqa-bg-[#E2E8F0] hover:cqa-text-[#334155]': !isTabActive(tab)\n }\"\n (click)=\"onTabClick(tab)\">\n <mat-icon class=\"cqa-text-[20px] cqa-w-5 cqa-h-5\">{{ tab.icon }}</mat-icon>\n </button>\n </div>\n </div>\n\n <!-- Content area: show only the active tab's content -->\n <div class=\"cqa-min-w-0 cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-overflow-y-auto cqa-p-4\">\n <ng-container *ngFor=\"let tab of tabComponents\">\n <ng-container *ngIf=\"tab.value === activeTab && tab.contentTemplate\" [ngTemplateOutlet]=\"tab.contentTemplate\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: [] }]
|
|
82
82
|
}], propDecorators: { tabComponents: [{
|
|
83
83
|
type: ContentChildren,
|
|
84
84
|
args: [DetailDrawerTabComponent]
|
|
@@ -118,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
118
118
|
}], close: [{
|
|
119
119
|
type: Output
|
|
120
120
|
}] } });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLWRyYXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RldGFpbC1kcmF3ZXIvZGV0YWlsLWRyYXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RldGFpbC1kcmF3ZXIvZGV0YWlsLWRyYXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLHVCQUF1QixFQUN2QixlQUFlLEVBSWYsV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7OztBQWEzRixNQUFNLE9BQU8scUJBQXFCO0lBWGxDO1FBY0UsaUNBQWlDO1FBQ3hCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFeEIsdUNBQXVDO1FBQzlCLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBRWhDLHFDQUFxQztRQUM1QixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRXpCLGdDQUFnQztRQUN2QixrQkFBYSxHQUFHLE9BQU8sQ0FBQztRQUtqQyxtRkFBbUY7UUFDMUUscUJBQWdCLEdBQUcsTUFBTSxDQUFDO1FBRW5DLGlDQUFpQztRQUN4QixtQkFBYyxHQUFHLE1BQU0sQ0FBQztRQWN4QixrQkFBYSxHQUFHLFFBQVEsQ0FBQztRQUN6QixvQkFBZSxHQUFHLFVBQVUsQ0FBQztRQUM3QixpQkFBWSxHQUFHLE9BQU8sQ0FBQztRQUV0QixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDN0MsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3hDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBNkM1QztJQS9EQyxJQUFnQyxTQUFTO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxD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RyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29udGVudENoaWxkcmVuLFxuICBRdWVyeUxpc3QsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIEhvc3RCaW5kaW5nLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERldGFpbERyYXdlclRhYkNvbXBvbmVudCB9IGZyb20gJy4vZGV0YWlsLWRyYXdlci10YWIvZGV0YWlsLWRyYXdlci10YWIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLWRldGFpbC1kcmF3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGV0YWlsLWRyYXdlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6XG4gICAgICAnY3FhLXVpLXJvb3QgY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1oLWZ1bGwgY3FhLWJnLXdoaXRlIGNxYS1zaGFkb3ctWy00cHhfMF82cHhfLTFweF9yZ2JhKDAsMCwwLDAuMDUpXScsXG4gICAgc3R5bGU6ICd0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2UtaW4tb3V0JyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgRGV0YWlsRHJhd2VyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCB7XG4gIEBDb250ZW50Q2hpbGRyZW4oRGV0YWlsRHJhd2VyVGFiQ29tcG9uZW50KSB0YWJDb21wb25lbnRzITogUXVlcnlMaXN0PERldGFpbERyYXdlclRhYkNvbXBvbmVudD47XG5cbiAgLyoqIEN1cnJlbnRseSBhY3RpdmUgdGFiIHZhbHVlICovXG4gIEBJbnB1dCgpIGFjdGl2ZVRhYiA9ICcnO1xuXG4gIC8qKiBXaGV0aGVyIHRvIHNob3cgdGhlIGNsb3NlIGJ1dHRvbiAqL1xuICBASW5wdXQoKSBzaG93Q2xvc2VCdXR0b24gPSB0cnVlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBkcmF3ZXIgaXMgZXhwYW5kZWQgKi9cbiAgQElucHV0KCkgZXhwYW5kZWQgPSB0cnVlO1xuXG4gIC8qKiBQYW5lbCB3aWR0aCB3aGVuIGV4cGFuZGVkICovXG4gIEBJbnB1dCgpIGV4cGFuZGVkV2lkdGggPSAnMjgwcHgnO1xuXG4gIC8qKiBNaW5pbXVtIHdpZHRoIHdoZW4gZXhwYW5kZWQgKGUuZy4gJzI4MHB4JykgKi9cbiAgQElucHV0KCkgbWluRXhwYW5kZWRXaWR0aD86IHN0cmluZztcblxuICAvKiogTWF4aW11bSB3aWR0aCB3aGVuIGV4cGFuZGVkIChlLmcuICc2MDBweCcsICczMHZ3JykuIERlZmF1bHQ6IDMwJSBvZiB2aWV3cG9ydCAqL1xuICBASW5wdXQoKSBtYXhFeHBhbmRlZFdpZHRoID0gJzMwdncnO1xuXG4gIC8qKiBQYW5lbCB3aWR0aCB3aGVuIGNvbGxhcHNlZCAqL1xuICBASW5wdXQoKSBjb2xsYXBzZWRXaWR0aCA9ICc1NnB4JztcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJykgZ2V0IGhvc3RXaWR0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmV4cGFuZGVkID8gdGhpcy5leHBhbmRlZFdpZHRoIDogdGhpcy5jb2xsYXBzZWRXaWR0aDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoJykgZ2V0IGhvc3RNaW5XaWR0aCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5leHBhbmRlZCAmJiB0aGlzLm1pbkV4cGFuZGVkV2lkdGggPyB0aGlzLm1pbkV4cGFuZGVkV2lkdGggOiBudWxsO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKSBnZXQgaG9zdE1heFdpZHRoKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmV4cGFuZGVkID8gdGhpcy5tYXhFeHBhbmRlZFdpZHRoIDogbnVsbDtcbiAgfVxuXG4gIEBJbnB1dCgpIGV4cGFuZFRvb2x0aXAgPSAnRXhwYW5kJztcbiAgQElucHV0KCkgY29sbGFwc2VUb29sdGlwID0gJ0NvbGxhcHNlJztcbiAgQElucHV0KCkgY2xvc2VUb29sdGlwID0gJ0Nsb3NlJztcblxuICBAT3V0cHV0KCkgYWN0aXZlVGFiQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBleHBhbmRUb2dnbGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5lbnN1cmVBY3RpdmVUYWIoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmVuc3VyZUFjdGl2ZVRhYigpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbnN1cmVBY3RpdmVUYWIoKTogdm9pZCB7XG4gICAgY29uc3QgdGFicyA9IHRoaXMudGFiQ29tcG9uZW50cz8udG9BcnJheSgpID8/IFtdO1xuICAgIGlmICh0YWJzLmxlbmd0aCA+IDAgJiYgIXRoaXMuYWN0aXZlVGFiKSB7XG4gICAgICB0aGlzLmFjdGl2ZVRhYiA9IHRhYnNbMF0udmFsdWU7XG4gICAgICB0aGlzLmFjdGl2ZVRhYkNoYW5nZS5lbWl0KHRoaXMuYWN0aXZlVGFiKTtcbiAgICB9XG4gIH1cblxuICBvblRhYkNsaWNrKHRhYjogRGV0YWlsRHJhd2VyVGFiQ29tcG9uZW50KTogdm9pZCB7XG4gICAgLy8gSWYgZHJhd2VyIGlzIGNvbGxhcHNlZCwgb3BlbiBpdCAoYnV0IG5ldmVyIGNsb3NlIG9uIHRhYiBjbGljaylcbiAgICBpZiAoIXRoaXMuZXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuZXhwYW5kVG9nZ2xlLmVtaXQoKTtcbiAgICB9XG4gICAgLy8gU2VsZWN0IHRoZSB0YWJcbiAgICBpZiAodGFiLnZhbHVlICE9PSB0aGlzLmFjdGl2ZVRhYikge1xuICAgICAgdGhpcy5hY3RpdmVUYWIgPSB0YWIudmFsdWU7XG4gICAgICB0aGlzLmFjdGl2ZVRhYkNoYW5nZS5lbWl0KHRoaXMuYWN0aXZlVGFiKTtcbiAgICB9XG4gIH1cblxuICBvbkV4cGFuZFRvZ2dsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZFRvZ2dsZS5lbWl0KCk7XG4gIH1cblxuICBvbkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICB9XG5cbiAgdHJhY2tCeVZhbHVlKF9pOiBudW1iZXIsIHRhYjogRGV0YWlsRHJhd2VyVGFiQ29tcG9uZW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGFiLnZhbHVlO1xuICB9XG5cbiAgaXNUYWJBY3RpdmUodGFiOiBEZXRhaWxEcmF3ZXJUYWJDb21wb25lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGFiLnZhbHVlID09PSB0aGlzLmFjdGl2ZVRhYjtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtaC1mdWxsIGNxYS1iZy13aGl0ZVwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJjcWEtZ3JpZCBjcWEtZmxleC0xIGNxYS1taW4taC0wIGNxYS1vdmVyZmxvdy1oaWRkZW5cIlxuICAgIFtzdHlsZS5ncmlkLXRlbXBsYXRlLWNvbHVtbnNdPVwiZXhwYW5kZWQgPyAnYXV0byAxZnInIDogJ2F1dG8gMGZyJ1wiXG4gICAgc3R5bGU9XCJ0cmFuc2l0aW9uOiBncmlkLXRlbXBsYXRlLWNvbHVtbnMgMC4zcyBlYXNlLWluLW91dFwiPlxuICAgIDwhLS0gTGVmdCB2ZXJ0aWNhbCBpY29uIGJhcjogb25lIGJ1dHRvbiBwZXIgdGFiIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWZsZXgtMSBjcWEtbWluLWgtMCBjcWEtaXRlbXMtY2VudGVyIGNxYS1weS00IGNxYS1weC0yIGNxYS1ib3JkZXItciBjcWEtYm9yZGVyLVsjRTJFOEYwXSBjcWEtYmctWyNGQUZBRkFdIGNxYS1mbGV4LXNocmluay0wXCI+XG4gICAgICA8IS0tIEV4cGFuZCAvIENvbGxhcHNlIGJ1dHRvbiAoYWx3YXlzIHZpc2libGUpIC0tPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiZXhwYW5kZWQgPyBjb2xsYXBzZVRvb2x0aXAgOiBleHBhbmRUb29sdGlwXCJcbiAgICAgICAgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtdy05IGNxYS1oLTkgY3FhLXJvdW5kZWQtbGcgY3FhLXRleHQtWyM2NDc0OEJdIGhvdmVyOmNxYS1iZy1bI0UyRThGMF0gaG92ZXI6Y3FhLXRleHQtWyMzMzQxNTVdIGNxYS10cmFuc2l0aW9uLWNvbG9ycyBmb2N1czpjcWEtb3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6Y3FhLXJpbmctMiBmb2N1cy12aXNpYmxlOmNxYS1yaW5nLVsjM0Y0M0VFXSBmb2N1cy12aXNpYmxlOmNxYS1yaW5nLW9mZnNldC0yIGNxYS1mbGV4LXNocmluay0wXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uRXhwYW5kVG9nZ2xlKClcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY3FhLXRleHQtWzIwcHhdIGNxYS13LTUgY3FhLWgtNVwiPnt7IGV4cGFuZGVkID8gJ3VuZm9sZF9sZXNzJyA6ICd1bmZvbGRfbW9yZScgfX08L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8IS0tIENsb3NlIGJ1dHRvbiAtLT5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJzaG93Q2xvc2VCdXR0b25cIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiY2xvc2VUb29sdGlwXCJcbiAgICAgICAgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtdy05IGNxYS1oLTkgY3FhLXJvdW5kZWQtbGcgY3FhLXRleHQtWyM2NDc0OEJdIGhvdmVyOmNxYS1iZy1bI0UyRThGMF0gaG92ZXI6Y3FhLXRleHQtWyMzMzQxNTVdIGNxYS10cmFuc2l0aW9uLWNvbG9ycyBmb2N1czpjcWEtb3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6Y3FhLXJpbmctMiBmb2N1cy12aXNpYmxlOmNxYS1yaW5nLVsjM0Y0M0VFXSBmb2N1cy12aXNpYmxlOmNxYS1yaW5nLW9mZnNldC0yIGNxYS1mbGV4LXNocmluay0wXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjcWEtdGV4dC1bMjBweF0gY3FhLXctNSBjcWEtaC01XCI+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8IS0tIFRhYiBidXR0b25zOiBlcXVhbGx5IGRpc3RyaWJ1dGVkIGluIHJlbWFpbmluZyBzcGFjZSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC0xIGNxYS1mbGV4LWNvbCBjcWEtanVzdGlmeS1ldmVubHkgY3FhLWl0ZW1zLWNlbnRlciBjcWEtdy1mdWxsXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYkNvbXBvbmVudHM7IHRyYWNrQnk6IHRyYWNrQnlWYWx1ZVwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgcm9sZT1cInRhYlwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJpc1RhYkFjdGl2ZSh0YWIpXCJcbiAgICAgICAgICBbbWF0VG9vbHRpcF09XCJ0YWIubGFiZWxcIlxuICAgICAgICAgIGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLXctOSBjcWEtaC05IGNxYS1yb3VuZGVkLWxnIGNxYS10cmFuc2l0aW9uLWNvbG9ycyBmb2N1czpjcWEtb3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6Y3FhLXJpbmctMiBmb2N1cy12aXNpYmxlOmNxYS1yaW5nLVsjM0Y0M0VFXSBmb2N1cy12aXNpYmxlOmNxYS1yaW5nLW9mZnNldC0yIGNxYS1mbGV4LXNocmluay0wXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnY3FhLWJnLVsjM0Y0M0VFXSBjcWEtdGV4dC13aGl0ZSc6IGlzVGFiQWN0aXZlKHRhYiksXG4gICAgICAgICAgICAnY3FhLXRleHQtWyM2NDc0OEJdIGhvdmVyOmNxYS1iZy1bI0UyRThGMF0gaG92ZXI6Y3FhLXRleHQtWyMzMzQxNTVdJzogIWlzVGFiQWN0aXZlKHRhYilcbiAgICAgICAgICB9XCJcbiAgICAgICAgICAoY2xpY2spPVwib25UYWJDbGljayh0YWIpXCI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY3FhLXRleHQtWzIwcHhdIGNxYS13LTUgY3FhLWgtNVwiPnt7IHRhYi5pY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gQ29udGVudCBhcmVhOiBzaG93IG9ubHkgdGhlIGFjdGl2ZSB0YWIncyBjb250ZW50IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtbWluLXctMCBjcWEtb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWgtZnVsbCBjcWEtb3ZlcmZsb3cteS1hdXRvIGNxYS1wLTQgY3FhLW1pbi13LVsyODBweF1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYkNvbXBvbmVudHNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGFiLnZhbHVlID09PSBhY3RpdmVUYWIgJiYgdGFiLmNvbnRlbnRUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYi5jb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLWRyYXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RldGFpbC1kcmF3ZXIvZGV0YWlsLWRyYXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RldGFpbC1kcmF3ZXIvZGV0YWlsLWRyYXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLHVCQUF1QixFQUN2QixlQUFlLEVBSWYsV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7OztBQWEzRixNQUFNLE9BQU8scUJBQXFCO0lBWGxDO1FBY0UsaUNBQWlDO1FBQ3hCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFeEIsdUNBQXVDO1FBQzlCLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBRWhDLHFDQUFxQztRQUM1QixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRXpCLGdDQUFnQztRQUN2QixrQkFBYSxHQUFHLE9BQU8sQ0FBQztRQUtqQyxtRkFBbUY7UUFDMUUscUJBQWdCLEdBQUcsTUFBTSxDQUFDO1FBRW5DLGlDQUFpQztRQUN4QixtQkFBYyxHQUFHLE1BQU0sQ0FBQztRQWN4QixrQkFBYSxHQUFHLFFBQVEsQ0FBQztRQUN6QixvQkFBZSxHQUFHLFVBQVUsQ0FBQztRQUM3QixpQkFBWSxHQUFHLE9BQU8sQ0FBQztRQUV0QixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDN0MsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3hDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBNkM1QztJQS9EQyxJQUFnQyxTQUFTO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFBb0MsWUFBWTtRQUM5QyxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMvRSxDQUFDO0lBRUQsSUFBb0MsWUFBWTtRQUM5QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3RELENBQUM7SUFVRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxlQUFlO1FBQ3JCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDM0M7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQTZCO1FBQ3RDLGlFQUFpRTtRQUNqRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzFCO1FBQ0QsaUJBQWlCO1FBQ2pCLElBQUksR0FBRyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDM0M7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxZQUFZLENBQUMsRUFBVSxFQUFFLEdBQTZCO1FBQ3BELE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQTZCO1FBQ3ZDLE9BQU8sR0FBRyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3RDLENBQUM7O2tIQXRGVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixnMEJBQ2Ysd0JBQXdCLDZCQzFCM0MsK3BHQXFEQTsyRkQ1QmEscUJBQXFCO2tCQVhqQyxTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLEtBQUssRUFDSCx5R0FBeUc7d0JBQzNHLEtBQUssRUFBRSxvQ0FBb0M7cUJBQzVDOzhCQUcwQyxhQUFhO3NCQUF2RCxlQUFlO3VCQUFDLHdCQUF3QjtnQkFHaEMsU0FBUztzQkFBakIsS0FBSztnQkFHRyxlQUFlO3NCQUF2QixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRTBCLFNBQVM7c0JBQXhDLFdBQVc7dUJBQUMsYUFBYTtnQkFJVSxZQUFZO3NCQUEvQyxXQUFXO3VCQUFDLGlCQUFpQjtnQkFJTSxZQUFZO3NCQUEvQyxXQUFXO3VCQUFDLGlCQUFpQjtnQkFJckIsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29udGVudENoaWxkcmVuLFxuICBRdWVyeUxpc3QsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIEhvc3RCaW5kaW5nLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERldGFpbERyYXdlclRhYkNvbXBvbmVudCB9IGZyb20gJy4vZGV0YWlsLWRyYXdlci10YWIvZGV0YWlsLWRyYXdlci10YWIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLWRldGFpbC1kcmF3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGV0YWlsLWRyYXdlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6XG4gICAgICAnY3FhLXVpLXJvb3QgY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1oLWZ1bGwgY3FhLWJnLXdoaXRlIGNxYS1zaGFkb3ctWy00cHhfMF82cHhfLTFweF9yZ2JhKDAsMCwwLDAuMDUpXScsXG4gICAgc3R5bGU6ICd0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2UtaW4tb3V0JyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgRGV0YWlsRHJhd2VyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCB7XG4gIEBDb250ZW50Q2hpbGRyZW4oRGV0YWlsRHJhd2VyVGFiQ29tcG9uZW50KSB0YWJDb21wb25lbnRzITogUXVlcnlMaXN0PERldGFpbERyYXdlclRhYkNvbXBvbmVudD47XG5cbiAgLyoqIEN1cnJlbnRseSBhY3RpdmUgdGFiIHZhbHVlICovXG4gIEBJbnB1dCgpIGFjdGl2ZVRhYiA9ICcnO1xuXG4gIC8qKiBXaGV0aGVyIHRvIHNob3cgdGhlIGNsb3NlIGJ1dHRvbiAqL1xuICBASW5wdXQoKSBzaG93Q2xvc2VCdXR0b24gPSB0cnVlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBkcmF3ZXIgaXMgZXhwYW5kZWQgKi9cbiAgQElucHV0KCkgZXhwYW5kZWQgPSB0cnVlO1xuXG4gIC8qKiBQYW5lbCB3aWR0aCB3aGVuIGV4cGFuZGVkICovXG4gIEBJbnB1dCgpIGV4cGFuZGVkV2lkdGggPSAnMjgwcHgnO1xuXG4gIC8qKiBNaW5pbXVtIHdpZHRoIHdoZW4gZXhwYW5kZWQgKGUuZy4gJzI4MHB4JykgKi9cbiAgQElucHV0KCkgbWluRXhwYW5kZWRXaWR0aD86IHN0cmluZztcblxuICAvKiogTWF4aW11bSB3aWR0aCB3aGVuIGV4cGFuZGVkIChlLmcuICc2MDBweCcsICczMHZ3JykuIERlZmF1bHQ6IDMwJSBvZiB2aWV3cG9ydCAqL1xuICBASW5wdXQoKSBtYXhFeHBhbmRlZFdpZHRoID0gJzMwdncnO1xuXG4gIC8qKiBQYW5lbCB3aWR0aCB3aGVuIGNvbGxhcHNlZCAqL1xuICBASW5wdXQoKSBjb2xsYXBzZWRXaWR0aCA9ICc1NnB4JztcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJykgZ2V0IGhvc3RXaWR0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmV4cGFuZGVkID8gdGhpcy5leHBhbmRlZFdpZHRoIDogdGhpcy5jb2xsYXBzZWRXaWR0aDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoJykgZ2V0IGhvc3RNaW5XaWR0aCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5leHBhbmRlZCAmJiB0aGlzLm1pbkV4cGFuZGVkV2lkdGggPyB0aGlzLm1pbkV4cGFuZGVkV2lkdGggOiBudWxsO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKSBnZXQgaG9zdE1heFdpZHRoKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmV4cGFuZGVkID8gdGhpcy5tYXhFeHBhbmRlZFdpZHRoIDogbnVsbDtcbiAgfVxuXG4gIEBJbnB1dCgpIGV4cGFuZFRvb2x0aXAgPSAnRXhwYW5kJztcbiAgQElucHV0KCkgY29sbGFwc2VUb29sdGlwID0gJ0NvbGxhcHNlJztcbiAgQElucHV0KCkgY2xvc2VUb29sdGlwID0gJ0Nsb3NlJztcblxuICBAT3V0cHV0KCkgYWN0aXZlVGFiQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBleHBhbmRUb2dnbGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5lbnN1cmVBY3RpdmVUYWIoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmVuc3VyZUFjdGl2ZVRhYigpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbnN1cmVBY3RpdmVUYWIoKTogdm9pZCB7XG4gICAgY29uc3QgdGFicyA9IHRoaXMudGFiQ29tcG9uZW50cz8udG9BcnJheSgpID8/IFtdO1xuICAgIGlmICh0YWJzLmxlbmd0aCA+IDAgJiYgIXRoaXMuYWN0aXZlVGFiKSB7XG4gICAgICB0aGlzLmFjdGl2ZVRhYiA9IHRhYnNbMF0udmFsdWU7XG4gICAgICB0aGlzLmFjdGl2ZVRhYkNoYW5nZS5lbWl0KHRoaXMuYWN0aXZlVGFiKTtcbiAgICB9XG4gIH1cblxuICBvblRhYkNsaWNrKHRhYjogRGV0YWlsRHJhd2VyVGFiQ29tcG9uZW50KTogdm9pZCB7XG4gICAgLy8gSWYgZHJhd2VyIGlzIGNvbGxhcHNlZCwgb3BlbiBpdCAoYnV0IG5ldmVyIGNsb3NlIG9uIHRhYiBjbGljaylcbiAgICBpZiAoIXRoaXMuZXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuZXhwYW5kVG9nZ2xlLmVtaXQoKTtcbiAgICB9XG4gICAgLy8gU2VsZWN0IHRoZSB0YWJcbiAgICBpZiAodGFiLnZhbHVlICE9PSB0aGlzLmFjdGl2ZVRhYikge1xuICAgICAgdGhpcy5hY3RpdmVUYWIgPSB0YWIudmFsdWU7XG4gICAgICB0aGlzLmFjdGl2ZVRhYkNoYW5nZS5lbWl0KHRoaXMuYWN0aXZlVGFiKTtcbiAgICB9XG4gIH1cblxuICBvbkV4cGFuZFRvZ2dsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZFRvZ2dsZS5lbWl0KCk7XG4gIH1cblxuICBvbkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICB9XG5cbiAgdHJhY2tCeVZhbHVlKF9pOiBudW1iZXIsIHRhYjogRGV0YWlsRHJhd2VyVGFiQ29tcG9uZW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGFiLnZhbHVlO1xuICB9XG5cbiAgaXNUYWJBY3RpdmUodGFiOiBEZXRhaWxEcmF3ZXJUYWJDb21wb25lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGFiLnZhbHVlID09PSB0aGlzLmFjdGl2ZVRhYjtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtaC1mdWxsIGNxYS1iZy13aGl0ZVwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJjcWEtZ3JpZCBjcWEtZmxleC0xIGNxYS1taW4taC0wIGNxYS1vdmVyZmxvdy1oaWRkZW5cIlxuICAgIFtzdHlsZS5ncmlkLXRlbXBsYXRlLWNvbHVtbnNdPVwiZXhwYW5kZWQgPyAnYXV0byAxZnInIDogJ2F1dG8gMGZyJ1wiXG4gICAgc3R5bGU9XCJ0cmFuc2l0aW9uOiBncmlkLXRlbXBsYXRlLWNvbHVtbnMgMC4zcyBlYXNlLWluLW91dFwiPlxuICAgIDwhLS0gTGVmdCB2ZXJ0aWNhbCBpY29uIGJhcjogb25lIGJ1dHRvbiBwZXIgdGFiIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWZsZXgtMSBjcWEtbWluLWgtMCBjcWEtaXRlbXMtY2VudGVyIGNxYS1weS00IGNxYS1weC0yIGNxYS1ib3JkZXItciBjcWEtYm9yZGVyLVsjRTJFOEYwXSBjcWEtYmctWyNGQUZBRkFdIGNxYS1mbGV4LXNocmluay0wXCI+XG4gICAgICA8IS0tIEV4cGFuZCAvIENvbGxhcHNlIGJ1dHRvbiAoYWx3YXlzIHZpc2libGUpIC0tPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiZXhwYW5kZWQgPyBjb2xsYXBzZVRvb2x0aXAgOiBleHBhbmRUb29sdGlwXCJcbiAgICAgICAgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtdy05IGNxYS1oLTkgY3FhLXJvdW5kZWQtbGcgY3FhLXRleHQtWyM2NDc0OEJdIGhvdmVyOmNxYS1iZy1bI0UyRThGMF0gaG92ZXI6Y3FhLXRleHQtWyMzMzQxNTVdIGNxYS10cmFuc2l0aW9uLWNvbG9ycyBmb2N1czpjcWEtb3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6Y3FhLXJpbmctMiBmb2N1cy12aXNpYmxlOmNxYS1yaW5nLVsjM0Y0M0VFXSBmb2N1cy12aXNpYmxlOmNxYS1yaW5nLW9mZnNldC0yIGNxYS1mbGV4LXNocmluay0wXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uRXhwYW5kVG9nZ2xlKClcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY3FhLXRleHQtWzIwcHhdIGNxYS13LTUgY3FhLWgtNVwiPnt7IGV4cGFuZGVkID8gJ3VuZm9sZF9sZXNzJyA6ICd1bmZvbGRfbW9yZScgfX08L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8IS0tIENsb3NlIGJ1dHRvbiAtLT5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJzaG93Q2xvc2VCdXR0b25cIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiY2xvc2VUb29sdGlwXCJcbiAgICAgICAgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtdy05IGNxYS1oLTkgY3FhLXJvdW5kZWQtbGcgY3FhLXRleHQtWyM2NDc0OEJdIGhvdmVyOmNxYS1iZy1bI0UyRThGMF0gaG92ZXI6Y3FhLXRleHQtWyMzMzQxNTVdIGNxYS10cmFuc2l0aW9uLWNvbG9ycyBmb2N1czpjcWEtb3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6Y3FhLXJpbmctMiBmb2N1cy12aXNpYmxlOmNxYS1yaW5nLVsjM0Y0M0VFXSBmb2N1cy12aXNpYmxlOmNxYS1yaW5nLW9mZnNldC0yIGNxYS1mbGV4LXNocmluay0wXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjcWEtdGV4dC1bMjBweF0gY3FhLXctNSBjcWEtaC01XCI+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8IS0tIFRhYiBidXR0b25zOiBlcXVhbGx5IGRpc3RyaWJ1dGVkIGluIHJlbWFpbmluZyBzcGFjZSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC0xIGNxYS1mbGV4LWNvbCBjcWEtanVzdGlmeS1ldmVubHkgY3FhLWl0ZW1zLWNlbnRlciBjcWEtdy1mdWxsXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYkNvbXBvbmVudHM7IHRyYWNrQnk6IHRyYWNrQnlWYWx1ZVwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgcm9sZT1cInRhYlwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJpc1RhYkFjdGl2ZSh0YWIpXCJcbiAgICAgICAgICBbbWF0VG9vbHRpcF09XCJ0YWIubGFiZWxcIlxuICAgICAgICAgIGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLXctOSBjcWEtaC05IGNxYS1yb3VuZGVkLWxnIGNxYS10cmFuc2l0aW9uLWNvbG9ycyBmb2N1czpjcWEtb3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6Y3FhLXJpbmctMiBmb2N1cy12aXNpYmxlOmNxYS1yaW5nLVsjM0Y0M0VFXSBmb2N1cy12aXNpYmxlOmNxYS1yaW5nLW9mZnNldC0yIGNxYS1mbGV4LXNocmluay0wXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnY3FhLWJnLVsjM0Y0M0VFXSBjcWEtdGV4dC13aGl0ZSc6IGlzVGFiQWN0aXZlKHRhYiksXG4gICAgICAgICAgICAnY3FhLXRleHQtWyM2NDc0OEJdIGhvdmVyOmNxYS1iZy1bI0UyRThGMF0gaG92ZXI6Y3FhLXRleHQtWyMzMzQxNTVdJzogIWlzVGFiQWN0aXZlKHRhYilcbiAgICAgICAgICB9XCJcbiAgICAgICAgICAoY2xpY2spPVwib25UYWJDbGljayh0YWIpXCI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY3FhLXRleHQtWzIwcHhdIGNxYS13LTUgY3FhLWgtNVwiPnt7IHRhYi5pY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gQ29udGVudCBhcmVhOiBzaG93IG9ubHkgdGhlIGFjdGl2ZSB0YWIncyBjb250ZW50IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtbWluLXctMCBjcWEtb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWgtZnVsbCBjcWEtb3ZlcmZsb3cteS1hdXRvIGNxYS1wLTRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYkNvbXBvbmVudHNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGFiLnZhbHVlID09PSBhY3RpdmVUYWIgJiYgdGFiLmNvbnRlbnRUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYi5jb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|