@seniorsistemas/angular-components 19.9.3 → 19.9.5
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/autocomplete/README.md +4 -0
- package/autocomplete/lib/autocomplete/autocomplete.component.d.ts +7 -1
- package/autocomplete/lib/autocomplete/components/autocomplete-chip/autocomplete-chip.component.d.ts +3 -1
- package/checkbox/lib/checkbox/checkbox.component.d.ts +1 -6
- package/checkbox-list/lib/checkbox-list/checkbox-list.component.d.ts +8 -0
- package/content-generator/lib/content-generator/content-generator.component.d.ts +2 -2
- package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +2 -0
- package/drawer/README.md +9 -2
- package/drawer/lib/drawer/drawer.component.d.ts +12 -1
- package/editor/lib/editor/editor.component.d.ts +1 -1
- package/esm2022/autocomplete/lib/autocomplete/autocomplete.component.mjs +10 -4
- package/esm2022/autocomplete/lib/autocomplete/components/autocomplete-chip/autocomplete-chip.component.mjs +5 -3
- package/esm2022/button/lib/button/button.component.mjs +3 -3
- package/esm2022/checkbox/lib/checkbox/checkbox.component.mjs +3 -9
- package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.component.mjs +17 -5
- package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +9 -8
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +18 -3
- package/esm2022/drawer/lib/drawer/drawer.component.mjs +33 -11
- package/esm2022/drawer/lib/drawer/drawer.module.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/checkbox/checkbox-field.component.mjs +4 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/select/select-field.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +3 -3
- package/esm2022/editor/lib/editor/editor.component.mjs +8 -8
- package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +4 -4
- package/esm2022/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.mjs +4 -4
- package/esm2022/global-search/lib/global-search/global-search.module.mjs +2 -2
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +3 -3
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.mjs +2 -3
- package/esm2022/insights/lib/insights/components/insights-card/insights-card.component.mjs +21 -3
- package/esm2022/insights/lib/insights/components/insights-sidebar/insights-sidebar.component.mjs +14 -3
- package/esm2022/insights/lib/insights/insights.component.mjs +15 -4
- package/esm2022/paginator/lib/models/paginator.models.mjs +1 -1
- package/esm2022/paginator/lib/paginator/paginator.component.mjs +19 -13
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +19 -8
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.mjs +3 -4
- package/esm2022/rating-scale/lib/rating-scale/models/rating-scale-node.mjs +1 -1
- package/esm2022/rating-scale/lib/rating-scale/rating-scale.component.mjs +23 -3
- package/esm2022/select/lib/select/components/select-option/select-option.component.mjs +5 -3
- package/esm2022/select/lib/select/select.component.mjs +6 -4
- package/esm2022/side-sheet/lib/side-sheet/side-sheet.component.mjs +6 -5
- package/esm2022/slider/lib/slider/slider.component.mjs +3 -3
- package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.mjs +58 -8
- package/esm2022/split-button/lib/split-button/split-button.component.mjs +11 -3
- package/esm2022/star-rating/star-rating/star-rating.component.mjs +3 -3
- package/esm2022/table/lib/table/table-column/table-columns.component.mjs +1 -1
- package/esm2022/table-header/lib/table-header/table-header-checkbox.component.mjs +14 -21
- package/esm2022/text-area/lib/text-area/text-area.component.mjs +3 -3
- package/esm2022/token-list/lib/token-list/token-list.component.mjs +7 -3
- package/esm2022/tooltip/lib/tooltip/tooltip.directive.mjs +3 -2
- package/esm2022/utils/lib/utils/utils.mjs +49 -3
- package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs +13 -5
- package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-button.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +16 -4
- package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +2 -8
- package/fesm2022/seniorsistemas-angular-components-checkbox.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +8 -6
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +17 -2
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-drawer.mjs +32 -9
- package/fesm2022/seniorsistemas-angular-components-drawer.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +17 -17
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-editor.mjs +7 -7
- package/fesm2022/seniorsistemas-angular-components-editor.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +3 -3
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs +3 -3
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +3 -4
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-insights.mjs +47 -7
- package/fesm2022/seniorsistemas-angular-components-insights.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-paginator.mjs +18 -12
- package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +20 -9
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs +22 -2
- package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select.mjs +9 -5
- package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-side-sheet.mjs +5 -4
- package/fesm2022/seniorsistemas-angular-components-side-sheet.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-slider.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-slider.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +57 -7
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs +10 -2
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-star-rating.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-star-rating.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs +13 -20
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-token-list.mjs +6 -2
- package/fesm2022/seniorsistemas-angular-components-token-list.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tooltip.mjs +2 -1
- package/fesm2022/seniorsistemas-angular-components-tooltip.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-utils.mjs +49 -3
- package/fesm2022/seniorsistemas-angular-components-utils.mjs.map +1 -1
- package/global-search/lib/global-search/global-search.module.d.ts +1 -1
- package/insights/README.md +12 -0
- package/insights/lib/insights/components/insights-card/insights-card.component.d.ts +22 -1
- package/insights/lib/insights/components/insights-sidebar/insights-sidebar.component.d.ts +9 -1
- package/insights/lib/insights/insights.component.d.ts +9 -1
- package/package.json +1 -3
- package/paginator/lib/models/paginator.models.d.ts +1 -0
- package/paginator/lib/paginator/paginator.component.d.ts +3 -1
- package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.d.ts +3 -1
- package/rating-scale/README.md +38 -13
- package/rating-scale/lib/rating-scale/models/rating-scale-node.d.ts +8 -0
- package/rating-scale/lib/rating-scale/rating-scale.component.d.ts +4 -1
- package/select/README.md +2 -0
- package/select/lib/select/components/select-option/select-option.component.d.ts +3 -1
- package/select/lib/select/select.component.d.ts +3 -1
- package/side-sheet/README.md +4 -4
- package/side-sheet/lib/side-sheet/side-sheet.component.d.ts +1 -0
- package/speech-recognition/README.md +1 -0
- package/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.d.ts +4 -1
- package/split-button/README.md +2 -0
- package/split-button/lib/split-button/split-button.component.d.ts +5 -1
- package/table-header/lib/table-header/table-header-checkbox.component.d.ts +1 -4
- package/token-list/lib/token-list/token-list.component.d.ts +3 -1
- package/utils/lib/utils/utils.d.ts +21 -0
|
@@ -1,10 +1,31 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, EventEmitter, Input, Output, inject, input } from '@angular/core';
|
|
2
3
|
import { TranslateService, TranslatePipe } from '@ngx-translate/core';
|
|
3
4
|
import { Subject } from 'rxjs';
|
|
4
5
|
import { takeUntil } from 'rxjs/operators';
|
|
5
6
|
import { SpeechRecognitionService } from '../speech-recognition.service';
|
|
6
7
|
import { TextToSpeechService } from '../text-to-speech.service';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
9
|
+
function SkipIf(...propNames) {
|
|
10
|
+
return function (_target, _propertyKey, descriptor) {
|
|
11
|
+
const original = descriptor.value;
|
|
12
|
+
if (original) {
|
|
13
|
+
descriptor.value = function (...args) {
|
|
14
|
+
const shouldSkip = propNames.some((propName) => {
|
|
15
|
+
const targetProp = this[propName];
|
|
16
|
+
return typeof targetProp === 'function'
|
|
17
|
+
? Boolean(targetProp())
|
|
18
|
+
: Boolean(targetProp);
|
|
19
|
+
});
|
|
20
|
+
if (shouldSkip) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
return original.apply(this, args);
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
return descriptor;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
8
29
|
/**
|
|
9
30
|
* @description Componente de reconhecimento de voz que integra a Web Speech API para
|
|
10
31
|
* transcrever a fala do usuário em texto, inserída diretamente em um `<textarea>` fornecido.
|
|
@@ -30,6 +51,8 @@ export class SpeechRecognitionComponent {
|
|
|
30
51
|
keepContext = false;
|
|
31
52
|
/** @description Placeholder exibido no textarea durante o reconhecimento de voz. @default '' */
|
|
32
53
|
speechRecognitionPlaceholder = '';
|
|
54
|
+
/** @description Classe do ícone do botão de mais opções. @default 'far fa-ellipsis-h' */
|
|
55
|
+
moreOptionsIconClass = 'far fa-ellipsis-h';
|
|
33
56
|
_recognizedText = '';
|
|
34
57
|
originalTextAreaElementText = '';
|
|
35
58
|
isDoneTextToSpeech = false;
|
|
@@ -40,6 +63,7 @@ export class SpeechRecognitionComponent {
|
|
|
40
63
|
event.preventDefault();
|
|
41
64
|
}
|
|
42
65
|
};
|
|
66
|
+
disabledSpeechRecognition = input(false);
|
|
43
67
|
disabled = false;
|
|
44
68
|
isListeningUserVoice = false;
|
|
45
69
|
voiceSpeed = 1;
|
|
@@ -71,9 +95,6 @@ export class SpeechRecognitionComponent {
|
|
|
71
95
|
});
|
|
72
96
|
}
|
|
73
97
|
onListen() {
|
|
74
|
-
if (this.isDisabledMicrophone || this.isListening) {
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
98
|
this.disabled = true;
|
|
78
99
|
this.canRenderMicrophone = false;
|
|
79
100
|
this.canRenderListeningText = true;
|
|
@@ -215,11 +236,38 @@ export class SpeechRecognitionComponent {
|
|
|
215
236
|
return this.textAreaElement.value;
|
|
216
237
|
}
|
|
217
238
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpeechRecognitionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
218
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SpeechRecognitionComponent, isStandalone: true, selector: "s-speech-recognition", inputs: { textAreaElement: "textAreaElement", keepContext: "keepContext", speechRecognitionPlaceholder: "speechRecognitionPlaceholder" }, outputs: { recognizedText: "recognizedText" }, ngImport: i0, template: "@if(hasSpeechRecognitionBrowserApi) {\n <section class=\"speech-recognition\">\n <div class=\"speech-recognition-text\">\n @if(canRenderMicrophone) {\n {{ 'platform.angular_components.text_area_before_speech' | translate }}\n }\n\n @if(isListeningUserVoice) {\n {{ 'platform.angular_components.text_area_while_speech' | translate }}\n }\n\n @if(canRenderAprove && canRenderDiscard) {\n {{ 'platform.angular_components.text_area_end_speech' | translate }}\n }\n </div>\n <div class=\"speech-recognition-buttons\">\n @if(canRenderListeningText) {\n <span\n (click)=\"stopListening()\"\n class=\"speech-recognition-item speech-recognition-item-regular\">\n <i class=\"
|
|
239
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SpeechRecognitionComponent, isStandalone: true, selector: "s-speech-recognition", inputs: { textAreaElement: { classPropertyName: "textAreaElement", publicName: "textAreaElement", isSignal: false, isRequired: true, transformFunction: null }, keepContext: { classPropertyName: "keepContext", publicName: "keepContext", isSignal: false, isRequired: false, transformFunction: null }, speechRecognitionPlaceholder: { classPropertyName: "speechRecognitionPlaceholder", publicName: "speechRecognitionPlaceholder", isSignal: false, isRequired: false, transformFunction: null }, moreOptionsIconClass: { classPropertyName: "moreOptionsIconClass", publicName: "moreOptionsIconClass", isSignal: false, isRequired: false, transformFunction: null }, disabledSpeechRecognition: { classPropertyName: "disabledSpeechRecognition", publicName: "disabledSpeechRecognition", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { recognizedText: "recognizedText" }, ngImport: i0, template: "@if(hasSpeechRecognitionBrowserApi) {\n <section class=\"speech-recognition\">\n <div class=\"speech-recognition-text\">\n @if(canRenderMicrophone) {\n {{ 'platform.angular_components.text_area_before_speech' | translate }}\n }\n\n @if(isListeningUserVoice) {\n {{ 'platform.angular_components.text_area_while_speech' | translate }}\n }\n\n @if(canRenderAprove && canRenderDiscard) {\n {{ 'platform.angular_components.text_area_end_speech' | translate }}\n }\n </div>\n <div class=\"speech-recognition-buttons\">\n @if(canRenderListeningText) {\n <span\n (click)=\"stopListening()\"\n class=\"speech-recognition-item speech-recognition-item-regular\"\n [class.speech-recognition-item-disabled]=\"disabledSpeechRecognition()\">\n <i [class]=\"moreOptionsIconClass\"></i>\n </span>\n }\n\n @if(canRenderMicrophone) {\n <span\n (click)=\"onListen()\"\n class=\"speech-recognition-item speech-recognition-item-microphone\"\n [class.speech-recognition-item-disabled]=\"isDisabledMicrophone || isListening || disabled || disabledSpeechRecognition()\">\n <i class=\"fas fa-microphone\"></i>\n </span>\n }\n\n\n @if(canRenderAprove) {\n <span\n (click)=\"onAprove()\"\n class=\"speech-recognition-item speech-recognition-item-aprove\">\n <i class=\"fas fa-check\"></i>\n </span>\n }\n\n @if(canRenderDiscard) {\n <span\n (click)=\"onDiscard()\"\n class=\"speech-recognition-item speech-recognition-item-discard\">\n <i class=\"fas fa-times\"></i>\n </span>\n }\n\n @if(canRenderTextToSpeech) {\n <span\n (click)=\"onOpenToolbar()\"\n class=\"speech-recognition-item speech-recognition-item-regular\"\n [class.speech-recognition-item-disabled]=\"isDisabledTextToSpeech\">\n <i class=\"fas fa-volume-down\"></i>\n </span>\n }\n\n @if(canRenderTextToSpeechToolbar) {\n <span\n class=\"speech-recognition-item-toolbar\">\n <i class=\"fas\" [class.fa-pause]=\"isPlayingTextToSpeech\" [class.fa-play]=\"!isPlayingTextToSpeech\"\n (click)=\"toggleTextToSpeech()\"></i>\n <i class=\"fas fa-backward\" (click)=\"restartTextToSpeech()\"></i>\n <span (click)=\"updateVoiceSpeed()\">\n {{ voiceSpeed }}x\n </span>\n <i class=\"fas fa-times\" (click)=\"onCloseToolbar()\"></i>\n </span>\n }\n </div>\n </section>\n}\n", styles: [".speech-recognition{display:flex;gap:10px;justify-content:space-between;width:100%}.speech-recognition-buttons{display:flex;gap:10px;position:relative;bottom:15px;margin-right:16px}.speech-recognition-item{display:inline-flex;height:25px;padding:4px 12px;justify-content:center;align-items:center;gap:8px;border-radius:15px;cursor:pointer;transition:background .1s ease-in}.speech-recognition-item i,.speech-recognition-item span{color:#fff}.speech-recognition-item-disabled{cursor:default!important}.speech-recognition-item-disabled *{opacity:.5}.speech-recognition-item-microphone{background:#428bca}.speech-recognition-item-microphone:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-regular{background:#7892a1}.speech-recognition-item-regular:not(.speech-recognition-item-disabled):hover{background:#697882}.speech-recognition-item-aprove{background:#0c9348}.speech-recognition-item-aprove:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-discard{background:#c13018}.speech-recognition-item-discard:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-toolbar{background:#7892a1;display:flex;border-radius:15px;align-items:center;color:#fff;height:25px}.speech-recognition-item-toolbar i,.speech-recognition-item-toolbar span{cursor:pointer}.speech-recognition-item-toolbar i:not(:first-child),.speech-recognition-item-toolbar i:not(:last-child){padding:6px}.speech-recognition-item-toolbar i:first-child{padding-left:10px}.speech-recognition-item-toolbar i:last-child{padding-right:10px}.speech-recognition-text{color:#212533;font-size:12px;font-style:normal;font-weight:400;word-break:break-word}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
219
240
|
}
|
|
241
|
+
__decorate([
|
|
242
|
+
SkipIf('disabledSpeechRecognition', 'isDisabledMicrophone', 'isListening')
|
|
243
|
+
], SpeechRecognitionComponent.prototype, "onListen", null);
|
|
244
|
+
__decorate([
|
|
245
|
+
SkipIf('disabledSpeechRecognition')
|
|
246
|
+
], SpeechRecognitionComponent.prototype, "onOpenToolbar", null);
|
|
247
|
+
__decorate([
|
|
248
|
+
SkipIf('disabledSpeechRecognition')
|
|
249
|
+
], SpeechRecognitionComponent.prototype, "onCloseToolbar", null);
|
|
250
|
+
__decorate([
|
|
251
|
+
SkipIf('disabledSpeechRecognition')
|
|
252
|
+
], SpeechRecognitionComponent.prototype, "onDiscard", null);
|
|
253
|
+
__decorate([
|
|
254
|
+
SkipIf('disabledSpeechRecognition')
|
|
255
|
+
], SpeechRecognitionComponent.prototype, "onAprove", null);
|
|
256
|
+
__decorate([
|
|
257
|
+
SkipIf('disabledSpeechRecognition')
|
|
258
|
+
], SpeechRecognitionComponent.prototype, "toggleTextToSpeech", null);
|
|
259
|
+
__decorate([
|
|
260
|
+
SkipIf('disabledSpeechRecognition')
|
|
261
|
+
], SpeechRecognitionComponent.prototype, "restartTextToSpeech", null);
|
|
262
|
+
__decorate([
|
|
263
|
+
SkipIf('disabledSpeechRecognition')
|
|
264
|
+
], SpeechRecognitionComponent.prototype, "updateVoiceSpeed", null);
|
|
265
|
+
__decorate([
|
|
266
|
+
SkipIf('disabledSpeechRecognition')
|
|
267
|
+
], SpeechRecognitionComponent.prototype, "stopListening", null);
|
|
220
268
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpeechRecognitionComponent, decorators: [{
|
|
221
269
|
type: Component,
|
|
222
|
-
args: [{ selector: 's-speech-recognition', standalone: true, imports: [TranslatePipe], template: "@if(hasSpeechRecognitionBrowserApi) {\n <section class=\"speech-recognition\">\n <div class=\"speech-recognition-text\">\n @if(canRenderMicrophone) {\n {{ 'platform.angular_components.text_area_before_speech' | translate }}\n }\n\n @if(isListeningUserVoice) {\n {{ 'platform.angular_components.text_area_while_speech' | translate }}\n }\n\n @if(canRenderAprove && canRenderDiscard) {\n {{ 'platform.angular_components.text_area_end_speech' | translate }}\n }\n </div>\n <div class=\"speech-recognition-buttons\">\n @if(canRenderListeningText) {\n <span\n (click)=\"stopListening()\"\n class=\"speech-recognition-item speech-recognition-item-regular\">\n <i class=\"
|
|
270
|
+
args: [{ selector: 's-speech-recognition', standalone: true, imports: [TranslatePipe], template: "@if(hasSpeechRecognitionBrowserApi) {\n <section class=\"speech-recognition\">\n <div class=\"speech-recognition-text\">\n @if(canRenderMicrophone) {\n {{ 'platform.angular_components.text_area_before_speech' | translate }}\n }\n\n @if(isListeningUserVoice) {\n {{ 'platform.angular_components.text_area_while_speech' | translate }}\n }\n\n @if(canRenderAprove && canRenderDiscard) {\n {{ 'platform.angular_components.text_area_end_speech' | translate }}\n }\n </div>\n <div class=\"speech-recognition-buttons\">\n @if(canRenderListeningText) {\n <span\n (click)=\"stopListening()\"\n class=\"speech-recognition-item speech-recognition-item-regular\"\n [class.speech-recognition-item-disabled]=\"disabledSpeechRecognition()\">\n <i [class]=\"moreOptionsIconClass\"></i>\n </span>\n }\n\n @if(canRenderMicrophone) {\n <span\n (click)=\"onListen()\"\n class=\"speech-recognition-item speech-recognition-item-microphone\"\n [class.speech-recognition-item-disabled]=\"isDisabledMicrophone || isListening || disabled || disabledSpeechRecognition()\">\n <i class=\"fas fa-microphone\"></i>\n </span>\n }\n\n\n @if(canRenderAprove) {\n <span\n (click)=\"onAprove()\"\n class=\"speech-recognition-item speech-recognition-item-aprove\">\n <i class=\"fas fa-check\"></i>\n </span>\n }\n\n @if(canRenderDiscard) {\n <span\n (click)=\"onDiscard()\"\n class=\"speech-recognition-item speech-recognition-item-discard\">\n <i class=\"fas fa-times\"></i>\n </span>\n }\n\n @if(canRenderTextToSpeech) {\n <span\n (click)=\"onOpenToolbar()\"\n class=\"speech-recognition-item speech-recognition-item-regular\"\n [class.speech-recognition-item-disabled]=\"isDisabledTextToSpeech\">\n <i class=\"fas fa-volume-down\"></i>\n </span>\n }\n\n @if(canRenderTextToSpeechToolbar) {\n <span\n class=\"speech-recognition-item-toolbar\">\n <i class=\"fas\" [class.fa-pause]=\"isPlayingTextToSpeech\" [class.fa-play]=\"!isPlayingTextToSpeech\"\n (click)=\"toggleTextToSpeech()\"></i>\n <i class=\"fas fa-backward\" (click)=\"restartTextToSpeech()\"></i>\n <span (click)=\"updateVoiceSpeed()\">\n {{ voiceSpeed }}x\n </span>\n <i class=\"fas fa-times\" (click)=\"onCloseToolbar()\"></i>\n </span>\n }\n </div>\n </section>\n}\n", styles: [".speech-recognition{display:flex;gap:10px;justify-content:space-between;width:100%}.speech-recognition-buttons{display:flex;gap:10px;position:relative;bottom:15px;margin-right:16px}.speech-recognition-item{display:inline-flex;height:25px;padding:4px 12px;justify-content:center;align-items:center;gap:8px;border-radius:15px;cursor:pointer;transition:background .1s ease-in}.speech-recognition-item i,.speech-recognition-item span{color:#fff}.speech-recognition-item-disabled{cursor:default!important}.speech-recognition-item-disabled *{opacity:.5}.speech-recognition-item-microphone{background:#428bca}.speech-recognition-item-microphone:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-regular{background:#7892a1}.speech-recognition-item-regular:not(.speech-recognition-item-disabled):hover{background:#697882}.speech-recognition-item-aprove{background:#0c9348}.speech-recognition-item-aprove:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-discard{background:#c13018}.speech-recognition-item-discard:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-toolbar{background:#7892a1;display:flex;border-radius:15px;align-items:center;color:#fff;height:25px}.speech-recognition-item-toolbar i,.speech-recognition-item-toolbar span{cursor:pointer}.speech-recognition-item-toolbar i:not(:first-child),.speech-recognition-item-toolbar i:not(:last-child){padding:6px}.speech-recognition-item-toolbar i:first-child{padding-left:10px}.speech-recognition-item-toolbar i:last-child{padding-right:10px}.speech-recognition-text{color:#212533;font-size:12px;font-style:normal;font-weight:400;word-break:break-word}\n"] }]
|
|
223
271
|
}], propDecorators: { textAreaElement: [{
|
|
224
272
|
type: Input,
|
|
225
273
|
args: [{ required: true }]
|
|
@@ -227,7 +275,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
227
275
|
type: Input
|
|
228
276
|
}], speechRecognitionPlaceholder: [{
|
|
229
277
|
type: Input
|
|
278
|
+
}], moreOptionsIconClass: [{
|
|
279
|
+
type: Input
|
|
230
280
|
}], recognizedText: [{
|
|
231
281
|
type: Output
|
|
232
|
-
}] } });
|
|
233
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNoLXJlY29nbml0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcGVlY2gtcmVjb2duaXRpb24vc3JjL2xpYi9zcGVlY2gtcmVjb2duaXRpb24vc3BlZWNoLXJlY29nbml0aW9uL3NwZWVjaC1yZWNvZ25pdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3BlZWNoLXJlY29nbml0aW9uL3NyYy9saWIvc3BlZWNoLXJlY29nbml0aW9uL3NwZWVjaC1yZWNvZ25pdGlvbi9zcGVlY2gtcmVjb2duaXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFaEU7Ozs7Ozs7Ozs7Ozs7R0FhRztBQVFILE1BQU0sT0FBTywwQkFBMEI7SUFDbEIsd0JBQXdCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDNUQsbUJBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDbEQsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFckQsTUFBTSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdEMsa0hBQWtIO0lBQ3ZGLGVBQWUsQ0FBdUI7SUFDakUsbUhBQW1IO0lBQzFHLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDN0IsZ0dBQWdHO0lBQ3ZGLDRCQUE0QixHQUFHLEVBQUUsQ0FBQztJQUNuQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLDJCQUEyQixHQUFHLEVBQUUsQ0FBQztJQUNqQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDbEIsVUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDakMsWUFBWSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEMsb0JBQW9CLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7UUFDN0QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUM3QixVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQ2Ysb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0lBRTdCLG1CQUFtQixHQUFHLElBQUksQ0FBQztJQUMzQixxQkFBcUIsR0FBRyxJQUFJLENBQUM7SUFDN0Isc0JBQXNCLEdBQUcsS0FBSyxDQUFDO0lBQy9CLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUN6QixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLDRCQUE0QixHQUFHLEtBQUssQ0FBQztJQUVyQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7SUFFOUIsK0ZBQStGO0lBQ3JGLGNBQWMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXRELFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUM7WUFDdkMsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLDRCQUE0QjtZQUNoRSxDQUFDLENBQUMsSUFBSSxDQUFDLDRCQUE0QjtZQUNuQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxzRUFBc0UsQ0FBQyxDQUFDO1FBQzVHLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2xHLElBQUksTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDMUIsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDaEQsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUM7UUFDbkMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDO1FBQzlELElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyx3QkFBd0I7YUFDeEIsTUFBTSxFQUFFO2FBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDaEMsU0FBUyxDQUNOLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUNsQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztZQUM1QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDNUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDVixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztnQkFDN0IsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztnQkFDcEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztZQUN0QyxDQUFDO1FBQ0wsQ0FBQyxFQUNELEdBQUcsRUFBRTtZQUNELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7WUFDbEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztZQUNoQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7WUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDMUIsQ0FBQyxDQUNKLENBQUM7SUFDVixDQUFDO0lBRU8sb0JBQW9CO1FBQ3hCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQztRQUN2RSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDOUIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDbkMsMEJBQTBCLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUNqRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLENBQUMsNEJBQTRCLEdBQUcsS0FBSyxDQUFDO1FBQzFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDcEIsMEJBQTBCLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN0RCxDQUFDO0lBQ0QsU0FBUztRQUNMLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztRQUNoQyxJQUFJLENBQUMsNEJBQTRCLEdBQUcsS0FBSyxDQUFDO1FBQzFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLDBCQUEwQixDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdEQsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7UUFDaEMsSUFBSSxDQUFDLDRCQUE0QixHQUFHLEtBQUssQ0FBQztRQUMxQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMxRSxJQUFJLENBQUMsMkJBQTJCLElBQUksR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzlFLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDNUQsQ0FBQztRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3JHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQywwQkFBMEIsQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3RELENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNqQixDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3RDLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDO0lBQzdELENBQUM7SUFFRCxtQkFBbUI7UUFDZixJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkUsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFdBQVcsQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBSSw4QkFBOEI7UUFDOUIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsMkJBQTJCLENBQUM7SUFDckUsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3RCLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztRQUMvRCxPQUFPLENBQ0gsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSwwQkFBMEIsQ0FBQyxjQUFjLENBQy9HLENBQUM7SUFDTixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBYTtRQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQ25DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRU8sS0FBSztRQUNULElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDekUsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztZQUNuQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQVksWUFBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDO0lBQ3RDLENBQUM7d0dBM05RLDBCQUEwQjs0RkFBMUIsMEJBQTBCLHlRQzVCdkMscStGQTBFQSw2dUREaERjLGFBQWE7OzRGQUVkLDBCQUEwQjtrQkFQdEMsU0FBUzsrQkFDSSxzQkFBc0IsY0FHcEIsSUFBSSxXQUNQLENBQUMsYUFBYSxDQUFDOzhCQVNHLGVBQWU7c0JBQXpDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUVoQixXQUFXO3NCQUFuQixLQUFLO2dCQUVHLDRCQUE0QjtzQkFBcEMsS0FBSztnQkEyQkksY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UsIFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFNwZWVjaFJlY29nbml0aW9uU2VydmljZSB9IGZyb20gJy4uL3NwZWVjaC1yZWNvZ25pdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGV4dFRvU3BlZWNoU2VydmljZSB9IGZyb20gJy4uL3RleHQtdG8tc3BlZWNoLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvbiBDb21wb25lbnRlIGRlIHJlY29uaGVjaW1lbnRvIGRlIHZveiBxdWUgaW50ZWdyYSBhIFdlYiBTcGVlY2ggQVBJIHBhcmFcclxuICogdHJhbnNjcmV2ZXIgYSBmYWxhIGRvIHVzdcOhcmlvIGVtIHRleHRvLCBpbnNlcsOtZGEgZGlyZXRhbWVudGUgZW0gdW0gYDx0ZXh0YXJlYT5gIGZvcm5lY2lkby5cclxuICogU3Vwb3J0YSB0YW1iw6ltIHRleHQtdG8tc3BlZWNoIHBhcmEgbGVpdHVyYSBlbSB2b3ogYWx0YSBkbyBjb250ZcO6ZG8gZG8gY2FtcG8uXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYGh0bWxcclxuICogPHMtc3BlZWNoLXJlY29nbml0aW9uXHJcbiAqICAgW3RleHRBcmVhRWxlbWVudF09XCJ0ZXh0QXJlYVJlZi5uYXRpdmVFbGVtZW50XCJcclxuICogICAocmVjb2duaXplZFRleHQpPVwib25UZXh0b1JlY29uaGVjaWRvKCRldmVudClcIiAvPlxyXG4gKiBgYGBcclxuICpcclxuICogQGNhdGVnb3J5IElucHV0c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Mtc3BlZWNoLXJlY29nbml0aW9uJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zcGVlY2gtcmVjb2duaXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vc3BlZWNoLXJlY29nbml0aW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW1RyYW5zbGF0ZVBpcGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BlZWNoUmVjb2duaXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNwZWVjaFJlY29nbml0aW9uU2VydmljZSA9IGluamVjdChTcGVlY2hSZWNvZ25pdGlvblNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0VG9TcGVlY2hTZXJ2aWNlID0gaW5qZWN0KFRleHRUb1NwZWVjaFNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIFRPT0xCQVJfQUNUSVZFID0gZmFsc2U7XHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIFJlZmVyw6puY2lhIGFvIGVsZW1lbnRvIGA8dGV4dGFyZWE+YCBuYXRpdm8gcXVlIHJlY2ViZXLDoSBvIHRleHRvIHRyYW5zY3JpdG8uIENhbXBvIG9icmlnYXTDs3Jpby4gKi9cclxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHRleHRBcmVhRWxlbWVudCE6IEhUTUxUZXh0QXJlYUVsZW1lbnQ7XHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIFF1YW5kbyBgdHJ1ZWAsIG1hbnTDqW0gbyB0ZXh0byBleGlzdGVudGUgbm8gY2FtcG8gYW8gaW5pY2lhciBub3ZvIHJlY29uaGVjaW1lbnRvLiBAZGVmYXVsdCBmYWxzZSAqL1xyXG4gICAgQElucHV0KCkga2VlcENvbnRleHQgPSBmYWxzZTtcclxuICAgIC8qKiBAZGVzY3JpcHRpb24gUGxhY2Vob2xkZXIgZXhpYmlkbyBubyB0ZXh0YXJlYSBkdXJhbnRlIG8gcmVjb25oZWNpbWVudG8gZGUgdm96LiBAZGVmYXVsdCAnJyAqL1xyXG4gICAgQElucHV0KCkgc3BlZWNoUmVjb2duaXRpb25QbGFjZWhvbGRlciA9ICcnO1xyXG4gICAgcHJpdmF0ZSBfcmVjb2duaXplZFRleHQgPSAnJztcclxuICAgIHByaXZhdGUgb3JpZ2luYWxUZXh0QXJlYUVsZW1lbnRUZXh0ID0gJyc7XHJcbiAgICBwcml2YXRlIGlzRG9uZVRleHRUb1NwZWVjaCA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBvbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgVk9JQ0VfU1BFRURTID0gWzAuNSwgMSwgMS41LCAyXTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkga2V5ZG93bkV2ZW50TGlzdGVuZXIgPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIGlzTGlzdGVuaW5nVXNlclZvaWNlID0gZmFsc2U7XHJcbiAgICB2b2ljZVNwZWVkID0gMTtcclxuICAgIGlzRGlzYWJsZWRNaWNyb3Bob25lID0gZmFsc2U7XHJcblxyXG4gICAgY2FuUmVuZGVyTWljcm9waG9uZSA9IHRydWU7XHJcbiAgICBjYW5SZW5kZXJUZXh0VG9TcGVlY2ggPSB0cnVlO1xyXG4gICAgY2FuUmVuZGVyTGlzdGVuaW5nVGV4dCA9IGZhbHNlO1xyXG4gICAgY2FuUmVuZGVyRGlzY2FyZCA9IGZhbHNlO1xyXG4gICAgY2FuUmVuZGVyQXByb3ZlID0gZmFsc2U7XHJcbiAgICBjYW5SZW5kZXJUZXh0VG9TcGVlY2hUb29sYmFyID0gZmFsc2U7XHJcblxyXG4gICAgaXNQbGF5aW5nVGV4dFRvU3BlZWNoID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIHF1YW5kbyBvIHJlY29uaGVjaW1lbnRvIGRlIHZveiDDqSBjb25jbHXDrWRvLCBjb20gbyB0ZXh0byB0cmFuc2NyaXRvLiAqL1xyXG4gICAgQE91dHB1dCgpIHJlY29nbml6ZWRUZXh0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmhhc1NwZWVjaFJlY29nbml0aW9uQnJvd3NlckFwaSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghdGhpcy50ZXh0QXJlYUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd0ZXh0QXJlYUVsZW1lbnQgaXMgcmVxdWlyZWQnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy50ZXh0QXJlYUVsZW1lbnQucGxhY2Vob2xkZXIgPSB0aGlzLnNwZWVjaFJlY29nbml0aW9uUGxhY2Vob2xkZXJcclxuICAgICAgICAgICAgPyB0aGlzLnNwZWVjaFJlY29nbml0aW9uUGxhY2Vob2xkZXJcclxuICAgICAgICAgICAgOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnRleHRfYXJlYV9zcGVlY2hfcmVjb2duaXRpb25fcGxhY2Vob2xkZXInKTtcclxuICAgICAgICB0aGlzLnRleHRBcmVhRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5rZXlkb3duRXZlbnRMaXN0ZW5lcik7XHJcbiAgICAgICAgdGhpcy5zcGVlY2hSZWNvZ25pdGlvblNlcnZpY2UubWljcm9waG9uZVN0YXR1cyQucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChzdGF0dXMpID0+IHtcclxuICAgICAgICAgICAgaWYgKHN0YXR1cyA9PT0gJ2FjdGl2ZScpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub25DbG9zZVRvb2xiYXIoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uTGlzdGVuKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmlzRGlzYWJsZWRNaWNyb3Bob25lIHx8IHRoaXMuaXNMaXN0ZW5pbmcpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNhblJlbmRlck1pY3JvcGhvbmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNhblJlbmRlckxpc3RlbmluZ1RleHQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMub3JpZ2luYWxUZXh0QXJlYUVsZW1lbnRUZXh0ID0gdGhpcy50ZXh0QXJlYUVsZW1lbnQudmFsdWU7XHJcbiAgICAgICAgdGhpcy50ZXh0QXJlYUVsZW1lbnQudmFsdWUgPSAnJztcclxuICAgICAgICB0aGlzLmlzTGlzdGVuaW5nVXNlclZvaWNlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNwZWVjaFJlY29nbml0aW9uU2VydmljZVxyXG4gICAgICAgICAgICAubGlzdGVuKClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAoeyB0ZXh0LCBpc0ZpbmFsIH0pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZWNvZ25pemVkVGV4dCA9IHRleHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRUZXh0QXJlYVZhbHVlKHRleHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVGV4dEFyZWFCb3R0b20oKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNGaW5hbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNhblJlbmRlckFwcm92ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2FuUmVuZGVyRGlzY2FyZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2FuUmVuZGVyTGlzdGVuaW5nVGV4dCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTGlzdGVuaW5nVXNlclZvaWNlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTGlzdGVuaW5nVXNlclZvaWNlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYW5SZW5kZXJNaWNyb3Bob25lID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWRNaWNyb3Bob25lID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYW5SZW5kZXJMaXN0ZW5pbmdUZXh0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNjcm9sbFRleHRBcmVhQm90dG9tKCkge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnRleHRBcmVhRWxlbWVudC5zY3JvbGxUb3AgPSB0aGlzLnRleHRBcmVhRWxlbWVudC5zY3JvbGxIZWlnaHQ7XHJcbiAgICAgICAgfSwgMTIwKTtcclxuICAgIH1cclxuXHJcbiAgICBvbk9wZW5Ub29sYmFyKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmlzRGlzYWJsZWRUZXh0VG9TcGVlY2gpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNhblJlbmRlclRleHRUb1NwZWVjaFRvb2xiYXIgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuY2FuUmVuZGVyVGV4dFRvU3BlZWNoID0gZmFsc2U7XHJcbiAgICAgICAgU3BlZWNoUmVjb2duaXRpb25Db21wb25lbnQuVE9PTEJBUl9BQ1RJVkUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc3BlYWsoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNsb3NlVG9vbGJhcigpIHtcclxuICAgICAgICB0aGlzLmNhblJlbmRlclRleHRUb1NwZWVjaFRvb2xiYXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNhblJlbmRlclRleHRUb1NwZWVjaCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zdG9wVGV4dFRvU3BlZWNoKCk7XHJcbiAgICAgICAgdGhpcy52b2ljZVNwZWVkID0gMTtcclxuICAgICAgICBTcGVlY2hSZWNvZ25pdGlvbkNvbXBvbmVudC5UT09MQkFSX0FDVElWRSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgb25EaXNjYXJkKCkge1xyXG4gICAgICAgIHRoaXMuY2FuUmVuZGVyQXByb3ZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jYW5SZW5kZXJEaXNjYXJkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jYW5SZW5kZXJNaWNyb3Bob25lID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNhblJlbmRlclRleHRUb1NwZWVjaFRvb2xiYXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNhblJlbmRlclRleHRUb1NwZWVjaCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5fcmVjb2duaXplZFRleHQgPSAnJztcclxuICAgICAgICB0aGlzLnNldFRleHRBcmVhVmFsdWUodGhpcy5vcmlnaW5hbFRleHRBcmVhRWxlbWVudFRleHQpO1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnN0b3BUZXh0VG9TcGVlY2goKTtcclxuICAgICAgICBTcGVlY2hSZWNvZ25pdGlvbkNvbXBvbmVudC5UT09MQkFSX0FDVElWRSA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQXByb3ZlKCkge1xyXG4gICAgICAgIHRoaXMuY2FuUmVuZGVyQXByb3ZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jYW5SZW5kZXJEaXNjYXJkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jYW5SZW5kZXJNaWNyb3Bob25lID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNhblJlbmRlclRleHRUb1NwZWVjaFRvb2xiYXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNhblJlbmRlclRleHRUb1NwZWVjaCA9IHRydWU7XHJcbiAgICAgICAgaWYgKHRoaXMua2VlcENvbnRleHQpIHtcclxuICAgICAgICAgICAgY29uc3QgYnJlYWtMaW5lID0gdGhpcy5vcmlnaW5hbFRleHRBcmVhRWxlbWVudFRleHQubGVuZ3RoID4gMCA/ICdcXG4nIDogJyc7XHJcbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxUZXh0QXJlYUVsZW1lbnRUZXh0ICs9IGAke2JyZWFrTGluZX0ke3RoaXMuX3JlY29nbml6ZWRUZXh0fWA7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5vcmlnaW5hbFRleHRBcmVhRWxlbWVudFRleHQgPSB0aGlzLl9yZWNvZ25pemVkVGV4dDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yZWNvZ25pemVkVGV4dC5lbWl0KHRoaXMua2VlcENvbnRleHQgPyB0aGlzLm9yaWdpbmFsVGV4dEFyZWFFbGVtZW50VGV4dCA6IHRoaXMuX3JlY29nbml6ZWRUZXh0KTtcclxuICAgICAgICB0aGlzLnNjcm9sbFRleHRBcmVhQm90dG9tKCk7XHJcbiAgICAgICAgdGhpcy5fcmVjb2duaXplZFRleHQgPSAnJztcclxuICAgICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50ZXh0VG9TcGVlY2hTZXJ2aWNlLmNhbmNlbCgpO1xyXG4gICAgICAgIFNwZWVjaFJlY29nbml0aW9uQ29tcG9uZW50LlRPT0xCQVJfQUNUSVZFID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQoKTtcclxuICAgICAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICB0b2dnbGVUZXh0VG9TcGVlY2goKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNQbGF5aW5nVGV4dFRvU3BlZWNoKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGV4dFRvU3BlZWNoU2VydmljZS5wYXVzZSgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRG9uZVRleHRUb1NwZWVjaCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zcGVhaygpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50ZXh0VG9TcGVlY2hTZXJ2aWNlLnJlc3VtZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXNQbGF5aW5nVGV4dFRvU3BlZWNoID0gIXRoaXMuaXNQbGF5aW5nVGV4dFRvU3BlZWNoO1xyXG4gICAgfVxyXG5cclxuICAgIHJlc3RhcnRUZXh0VG9TcGVlY2goKSB7XHJcbiAgICAgICAgdGhpcy50ZXh0VG9TcGVlY2hTZXJ2aWNlLmNhbmNlbCgpO1xyXG4gICAgICAgIHRoaXMuc3BlYWsoKTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVWb2ljZVNwZWVkKCkge1xyXG4gICAgICAgIGNvbnN0IHZvaWNlU3BlZWRJbmRleCA9IHRoaXMuVk9JQ0VfU1BFRURTLmluZGV4T2YodGhpcy52b2ljZVNwZWVkKTtcclxuICAgICAgICBjb25zdCBuZXh0Vm9pY2VTcGVlZEluZGV4ID0gdGhpcy5WT0lDRV9TUEVFRFNbdm9pY2VTcGVlZEluZGV4ICsgMV0gPyB2b2ljZVNwZWVkSW5kZXggKyAxIDogMDtcclxuICAgICAgICB0aGlzLnZvaWNlU3BlZWQgPSB0aGlzLlZPSUNFX1NQRUVEU1tuZXh0Vm9pY2VTcGVlZEluZGV4XTtcclxuICAgICAgICB0aGlzLnRleHRUb1NwZWVjaFNlcnZpY2UuY2FuY2VsKCk7XHJcbiAgICAgICAgdGhpcy5zcGVhaygpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0b3BMaXN0ZW5pbmcoKSB7XHJcbiAgICAgICAgdGhpcy5zcGVlY2hSZWNvZ25pdGlvblNlcnZpY2Uuc3RvcCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpc0xpc3RlbmluZygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zcGVlY2hSZWNvZ25pdGlvblNlcnZpY2UuaXNMaXN0ZW5pbmc7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGhhc1NwZWVjaFJlY29nbml0aW9uQnJvd3NlckFwaSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zcGVlY2hSZWNvZ25pdGlvblNlcnZpY2UuaGFzU3VwcG9ydFNwZWVjaFJlY29nbml0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpc0Rpc2FibGVkVGV4dFRvU3BlZWNoKCkge1xyXG4gICAgICAgIGNvbnN0IGhhc1RleHRUb1NwZWVjaFZvaWNlID0gdGhpcy50ZXh0VG9TcGVlY2hTZXJ2aWNlLmhhc1ZvaWNlO1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICF0aGlzLnRleHRUb1NwZWVjaCB8fCAhaGFzVGV4dFRvU3BlZWNoVm9pY2UgfHwgdGhpcy5pc0xpc3RlbmluZyB8fCBTcGVlY2hSZWNvZ25pdGlvbkNvbXBvbmVudC5UT09MQkFSX0FDVElWRVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRUZXh0QXJlYVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLnRleHRBcmVhRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RvcFRleHRUb1NwZWVjaCgpIHtcclxuICAgICAgICB0aGlzLmlzUGxheWluZ1RleHRUb1NwZWVjaCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudGV4dFRvU3BlZWNoU2VydmljZS5jYW5jZWwoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNwZWFrKCkge1xyXG4gICAgICAgIHRoaXMuaXNEb25lVGV4dFRvU3BlZWNoID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc1BsYXlpbmdUZXh0VG9TcGVlY2ggPSB0cnVlO1xyXG4gICAgICAgIHRoaXMudGV4dFRvU3BlZWNoU2VydmljZS5zcGVhayh0aGlzLnRleHRUb1NwZWVjaCwgdGhpcy52b2ljZVNwZWVkKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc1BsYXlpbmdUZXh0VG9TcGVlY2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5pc0RvbmVUZXh0VG9TcGVlY2ggPSB0cnVlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0IHRleHRUb1NwZWVjaCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50ZXh0QXJlYUVsZW1lbnQudmFsdWU7XHJcbiAgICB9XHJcbn1cclxuIiwiQGlmKGhhc1NwZWVjaFJlY29nbml0aW9uQnJvd3NlckFwaSkge1xuICAgIDxzZWN0aW9uIGNsYXNzPVwic3BlZWNoLXJlY29nbml0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzcGVlY2gtcmVjb2duaXRpb24tdGV4dFwiPlxuICAgICAgICAgICAgQGlmKGNhblJlbmRlck1pY3JvcGhvbmUpIHtcbiAgICAgICAgICAgICAgICB7eyAncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnRleHRfYXJlYV9iZWZvcmVfc3BlZWNoJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYoaXNMaXN0ZW5pbmdVc2VyVm9pY2UpIHtcbiAgICAgICAgICAgICAgICB7eyAncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnRleHRfYXJlYV93aGlsZV9zcGVlY2gnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZihjYW5SZW5kZXJBcHJvdmUgJiYgY2FuUmVuZGVyRGlzY2FyZCkge1xuICAgICAgICAgICAgICAgIHt7ICdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMudGV4dF9hcmVhX2VuZF9zcGVlY2gnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3BlZWNoLXJlY29nbml0aW9uLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgIEBpZihjYW5SZW5kZXJMaXN0ZW5pbmdUZXh0KSB7XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN0b3BMaXN0ZW5pbmcoKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3BlZWNoLXJlY29nbml0aW9uLWl0ZW0gc3BlZWNoLXJlY29nbml0aW9uLWl0ZW0tcmVndWxhclwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1lbGxpcHNpcy1oXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmKGNhblJlbmRlck1pY3JvcGhvbmUpIHtcbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaXN0ZW4oKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3BlZWNoLXJlY29nbml0aW9uLWl0ZW0gc3BlZWNoLXJlY29nbml0aW9uLWl0ZW0tbWljcm9waG9uZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zcGVlY2gtcmVjb2duaXRpb24taXRlbS1kaXNhYmxlZF09XCJpc0Rpc2FibGVkTWljcm9waG9uZSB8fCBpc0xpc3RlbmluZyB8fCBkaXNhYmxlZFwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1taWNyb3Bob25lXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICBAaWYoY2FuUmVuZGVyQXByb3ZlKSB7XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQXByb3ZlKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNwZWVjaC1yZWNvZ25pdGlvbi1pdGVtIHNwZWVjaC1yZWNvZ25pdGlvbi1pdGVtLWFwcm92ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1jaGVja1wiPjwvaT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZihjYW5SZW5kZXJEaXNjYXJkKSB7XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGlzY2FyZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzcGVlY2gtcmVjb2duaXRpb24taXRlbSBzcGVlY2gtcmVjb2duaXRpb24taXRlbS1kaXNjYXJkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXRpbWVzXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmKGNhblJlbmRlclRleHRUb1NwZWVjaCkge1xuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk9wZW5Ub29sYmFyKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNwZWVjaC1yZWNvZ25pdGlvbi1pdGVtIHNwZWVjaC1yZWNvZ25pdGlvbi1pdGVtLXJlZ3VsYXJcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc3BlZWNoLXJlY29nbml0aW9uLWl0ZW0tZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFRleHRUb1NwZWVjaFwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS12b2x1bWUtZG93blwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZihjYW5SZW5kZXJUZXh0VG9TcGVlY2hUb29sYmFyKSB7XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzcGVlY2gtcmVjb2duaXRpb24taXRlbS10b29sYmFyXCI+XG4gICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhc1wiIFtjbGFzcy5mYS1wYXVzZV09XCJpc1BsYXlpbmdUZXh0VG9TcGVlY2hcIiBbY2xhc3MuZmEtcGxheV09XCIhaXNQbGF5aW5nVGV4dFRvU3BlZWNoXCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVUZXh0VG9TcGVlY2goKVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWJhY2t3YXJkXCIgKGNsaWNrKT1cInJlc3RhcnRUZXh0VG9TcGVlY2goKVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIChjbGljayk9XCJ1cGRhdGVWb2ljZVNwZWVkKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB2b2ljZVNwZWVkIH19eFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtdGltZXNcIiAoY2xpY2spPVwib25DbG9zZVRvb2xiYXIoKVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cbn1cbiJdfQ==
|
|
282
|
+
}], onListen: [], onOpenToolbar: [], onCloseToolbar: [], onDiscard: [], onAprove: [], toggleTextToSpeech: [], restartTextToSpeech: [], updateVoiceSpeed: [], stopListening: [] } });
|
|
283
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNoLXJlY29nbml0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcGVlY2gtcmVjb2duaXRpb24vc3JjL2xpYi9zcGVlY2gtcmVjb2duaXRpb24vc3BlZWNoLXJlY29nbml0aW9uL3NwZWVjaC1yZWNvZ25pdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3BlZWNoLXJlY29nbml0aW9uL3NyYy9saWIvc3BlZWNoLXJlY29nbml0aW9uL3NwZWVjaC1yZWNvZ25pdGlvbi9zcGVlY2gtcmVjb2duaXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUVoRSxTQUFTLE1BQU0sQ0FBQyxHQUFHLFNBQWtEO0lBQ25FLE9BQU8sVUFDTCxPQUFnQixFQUNoQixZQUFvQixFQUNwQixVQUE0RDtRQUU1RCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBRWxDLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixVQUFVLENBQUMsS0FBSyxHQUFHLFVBQXFDLEdBQUcs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QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFFaEIsV0FBVztzQkFBbkIsS0FBSztnQkFFRyw0QkFBNEI7c0JBQXBDLEtBQUs7Z0JBRUcsb0JBQW9CO3NCQUE1QixLQUFLO2dCQThCSSxjQUFjO3NCQUF2QixNQUFNO2dCQXFCUCxRQUFRLE1BdUNSLGFBQWEsTUFXYixjQUFjLE1BU2QsU0FBUyxNQWNULFFBQVEsTUEwQlIsa0JBQWtCLE1BY2xCLG1CQUFtQixNQU1uQixnQkFBZ0IsTUFTaEIsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgaW5qZWN0LCBpbnB1dCwgaXNTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSwgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU3BlZWNoUmVjb2duaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc3BlZWNoLXJlY29nbml0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUZXh0VG9TcGVlY2hTZXJ2aWNlIH0gZnJvbSAnLi4vdGV4dC10by1zcGVlY2guc2VydmljZSc7XHJcblxyXG5mdW5jdGlvbiBTa2lwSWYoLi4ucHJvcE5hbWVzOiBBcnJheTxrZXlvZiBTcGVlY2hSZWNvZ25pdGlvbkNvbXBvbmVudD4pIHtcclxuICByZXR1cm4gZnVuY3Rpb24gKFxyXG4gICAgX3RhcmdldDogdW5rbm93bixcclxuICAgIF9wcm9wZXJ0eUtleTogc3RyaW5nLFxyXG4gICAgZGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8KC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk+XHJcbiAgKSB7XHJcbiAgICBjb25zdCBvcmlnaW5hbCA9IGRlc2NyaXB0b3IudmFsdWU7XHJcblxyXG4gICAgaWYgKG9yaWdpbmFsKSB7XHJcbiAgICAgIGRlc2NyaXB0b3IudmFsdWUgPSBmdW5jdGlvbiAodGhpczogUmVjb3JkPHN0cmluZywgYW55PiwgLi4uYXJnczogYW55W10pIHtcclxuXHJcbiAgICAgICAgY29uc3Qgc2hvdWxkU2tpcCA9IHByb3BOYW1lcy5zb21lKChwcm9wTmFtZSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0UHJvcCA9IHRoaXNbcHJvcE5hbWVdO1xyXG5cclxuXHJcbiAgICAgICAgICByZXR1cm4gdHlwZW9mIHRhcmdldFByb3AgPT09ICdmdW5jdGlvbidcclxuICAgICAgICAgICAgPyBCb29sZWFuKHRhcmdldFByb3AoKSlcclxuICAgICAgICAgICAgOiBCb29sZWFuKHRhcmdldFByb3ApO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAoc2hvdWxkU2tpcCkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsLmFwcGx5KHRoaXMsIGFyZ3MpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkZXNjcmlwdG9yO1xyXG4gIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb24gQ29tcG9uZW50ZSBkZSByZWNvbmhlY2ltZW50byBkZSB2b3ogcXVlIGludGVncmEgYSBXZWIgU3BlZWNoIEFQSSBwYXJhXHJcbiAqIHRyYW5zY3JldmVyIGEgZmFsYSBkbyB1c3XDoXJpbyBlbSB0ZXh0bywgaW5zZXLDrWRhIGRpcmV0YW1lbnRlIGVtIHVtIGA8dGV4dGFyZWE+YCBmb3JuZWNpZG8uXHJcbiAqIFN1cG9ydGEgdGFtYsOpbSB0ZXh0LXRvLXNwZWVjaCBwYXJhIGxlaXR1cmEgZW0gdm96IGFsdGEgZG8gY29udGXDumRvIGRvIGNhbXBvLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBodG1sXHJcbiAqIDxzLXNwZWVjaC1yZWNvZ25pdGlvblxyXG4gKiAgIFt0ZXh0QXJlYUVsZW1lbnRdPVwidGV4dEFyZWFSZWYubmF0aXZlRWxlbWVudFwiXHJcbiAqICAgKHJlY29nbml6ZWRUZXh0KT1cIm9uVGV4dG9SZWNvbmhlY2lkbygkZXZlbnQpXCIgLz5cclxuICogYGBgXHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBJbnB1dHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzLXNwZWVjaC1yZWNvZ25pdGlvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3BlZWNoLXJlY29nbml0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3NwZWVjaC1yZWNvZ25pdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtUcmFuc2xhdGVQaXBlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNwZWVjaFJlY29nbml0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzcGVlY2hSZWNvZ25pdGlvblNlcnZpY2UgPSBpbmplY3QoU3BlZWNoUmVjb2duaXRpb25TZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dFRvU3BlZWNoU2VydmljZSA9IGluamVjdChUZXh0VG9TcGVlY2hTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBUT09MQkFSX0FDVElWRSA9IGZhbHNlO1xyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBSZWZlcsOqbmNpYSBhbyBlbGVtZW50byBgPHRleHRhcmVhPmAgbmF0aXZvIHF1ZSByZWNlYmVyw6EgbyB0ZXh0byB0cmFuc2NyaXRvLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXHJcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB0ZXh0QXJlYUVsZW1lbnQhOiBIVE1MVGV4dEFyZWFFbGVtZW50O1xyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBRdWFuZG8gYHRydWVgLCBtYW50w6ltIG8gdGV4dG8gZXhpc3RlbnRlIG5vIGNhbXBvIGFvIGluaWNpYXIgbm92byByZWNvbmhlY2ltZW50by4gQGRlZmF1bHQgZmFsc2UgKi9cclxuICAgIEBJbnB1dCgpIGtlZXBDb250ZXh0ID0gZmFsc2U7XHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIFBsYWNlaG9sZGVyIGV4aWJpZG8gbm8gdGV4dGFyZWEgZHVyYW50ZSBvIHJlY29uaGVjaW1lbnRvIGRlIHZvei4gQGRlZmF1bHQgJycgKi9cclxuICAgIEBJbnB1dCgpIHNwZWVjaFJlY29nbml0aW9uUGxhY2Vob2xkZXIgPSAnJztcclxuICAgIC8qKiBAZGVzY3JpcHRpb24gQ2xhc3NlIGRvIMOtY29uZSBkbyBib3TDo28gZGUgbWFpcyBvcMOnw7Vlcy4gQGRlZmF1bHQgJ2ZhciBmYS1lbGxpcHNpcy1oJyAqL1xyXG4gICAgQElucHV0KCkgbW9yZU9wdGlvbnNJY29uQ2xhc3MgPSAnZmFyIGZhLWVsbGlwc2lzLWgnO1xyXG4gICAgXHJcbiAgICBwcml2YXRlIF9yZWNvZ25pemVkVGV4dCA9ICcnO1xyXG4gICAgcHJpdmF0ZSBvcmlnaW5hbFRleHRBcmVhRWxlbWVudFRleHQgPSAnJztcclxuICAgIHByaXZhdGUgaXNEb25lVGV4dFRvU3BlZWNoID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBWT0lDRV9TUEVFRFMgPSBbMC41LCAxLCAxLjUsIDJdO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBrZXlkb3duRXZlbnRMaXN0ZW5lciA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBkaXNhYmxlZFNwZWVjaFJlY29nbml0aW9uID0gaW5wdXQoZmFsc2UpO1xyXG5cclxuICAgIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgICBpc0xpc3RlbmluZ1VzZXJWb2ljZSA9IGZhbHNlO1xyXG4gICAgdm9pY2VTcGVlZCA9IDE7XHJcbiAgICBpc0Rpc2FibGVkTWljcm9waG9uZSA9IGZhbHNlO1xyXG5cclxuICAgIGNhblJlbmRlck1pY3JvcGhvbmUgPSB0cnVlO1xyXG4gICAgY2FuUmVuZGVyVGV4dFRvU3BlZWNoID0gdHJ1ZTtcclxuICAgIGNhblJlbmRlckxpc3RlbmluZ1RleHQgPSBmYWxzZTtcclxuICAgIGNhblJlbmRlckRpc2NhcmQgPSBmYWxzZTtcclxuICAgIGNhblJlbmRlckFwcm92ZSA9IGZhbHNlO1xyXG4gICAgY2FuUmVuZGVyVGV4dFRvU3BlZWNoVG9vbGJhciA9IGZhbHNlO1xyXG5cclxuICAgIGlzUGxheWluZ1RleHRUb1NwZWVjaCA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyByZWNvbmhlY2ltZW50byBkZSB2b3ogw6kgY29uY2x1w61kbywgY29tIG8gdGV4dG8gdHJhbnNjcml0by4gKi9cclxuICAgIEBPdXRwdXQoKSByZWNvZ25pemVkVGV4dCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5oYXNTcGVlY2hSZWNvZ25pdGlvbkJyb3dzZXJBcGkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXRoaXMudGV4dEFyZWFFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigndGV4dEFyZWFFbGVtZW50IGlzIHJlcXVpcmVkJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudGV4dEFyZWFFbGVtZW50LnBsYWNlaG9sZGVyID0gdGhpcy5zcGVlY2hSZWNvZ25pdGlvblBsYWNlaG9sZGVyXHJcbiAgICAgICAgICAgID8gdGhpcy5zcGVlY2hSZWNvZ25pdGlvblBsYWNlaG9sZGVyXHJcbiAgICAgICAgICAgIDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy50ZXh0X2FyZWFfc3BlZWNoX3JlY29nbml0aW9uX3BsYWNlaG9sZGVyJyk7XHJcbiAgICAgICAgdGhpcy50ZXh0QXJlYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMua2V5ZG93bkV2ZW50TGlzdGVuZXIpO1xyXG4gICAgICAgIHRoaXMuc3BlZWNoUmVjb2duaXRpb25TZXJ2aWNlLm1pY3JvcGhvbmVTdGF0dXMkLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpLnN1YnNjcmliZSgoc3RhdHVzKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChzdGF0dXMgPT09ICdhY3RpdmUnKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2xvc2VUb29sYmFyKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgQFNraXBJZignZGlzYWJsZWRTcGVlY2hSZWNvZ25pdGlvbicsICdpc0Rpc2FibGVkTWljcm9waG9uZScsICdpc0xpc3RlbmluZycpXHJcbiAgICBvbkxpc3RlbigpIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNhblJlbmRlck1pY3JvcGhvbmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNhblJlbmRlckxpc3RlbmluZ1RleHQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMub3JpZ2luYWxUZXh0QXJlYUVsZW1lbnRUZXh0ID0gdGhpcy50ZXh0QXJlYUVsZW1lbnQudmFsdWU7XHJcbiAgICAgICAgdGhpcy50ZXh0QXJlYUVsZW1lbnQudmFsdWUgPSAnJztcclxuICAgICAgICB0aGlzLmlzTGlzdGVuaW5nVXNlclZvaWNlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNwZWVjaFJlY29nbml0aW9uU2VydmljZVxyXG4gICAgICAgICAgICAubGlzdGVuKClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAoeyB0ZXh0LCBpc0ZpbmFsIH0pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZWNvZ25pemVkVGV4dCA9IHRleHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRUZXh0QXJlYVZhbHVlKHRleHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVGV4dEFyZWFCb3R0b20oKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNGaW5hbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNhblJlbmRlckFwcm92ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2FuUmVuZGVyRGlzY2FyZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2FuUmVuZGVyTGlzdGVuaW5nVGV4dCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTGlzdGVuaW5nVXNlclZvaWNlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTGlzdGVuaW5nVXNlclZvaWNlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYW5SZW5kZXJNaWNyb3Bob25lID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWRNaWNyb3Bob25lID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYW5SZW5kZXJMaXN0ZW5pbmdUZXh0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNjcm9sbFRleHRBcmVhQm90dG9tKCkge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnRleHRBcmVhRWxlbWVudC5zY3JvbGxUb3AgPSB0aGlzLnRleHRBcmVhRWxlbWVudC5zY3JvbGxIZWlnaHQ7XHJcbiAgICAgICAgfSwgMTIwKTtcclxuICAgIH1cclxuXHJcbiAgQFNraXBJZignZGlzYWJsZWRTcGVlY2hSZWNvZ25pdGlvbicpXHJcbiAgICBvbk9wZW5Ub29sYmFyKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmlzRGlzYWJsZWRUZXh0VG9TcGVlY2gpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNhblJlbmRlclRleHRUb1NwZWVjaFRvb2xiYXIgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuY2FuUmVuZGVyVGV4dFRvU3BlZWNoID0gZmFsc2U7XHJcbiAgICAgICAgU3BlZWNoUmVjb2duaXRpb25Db21wb25lbnQuVE9PTEJBUl9BQ1RJVkUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc3BlYWsoKTtcclxuICAgIH1cclxuXHJcbiAgQFNraXBJZignZGlzYWJsZWRTcGVlY2hSZWNvZ25pdGlvbicpXHJcbiAgICBvbkNsb3NlVG9vbGJhcigpIHtcclxuICAgICAgICB0aGlzLmNhblJlbmRlclRleHRUb1NwZWVjaFRvb2xiYXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNhblJlbmRlclRleHRUb1NwZWVjaCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zdG9wVGV4dFRvU3BlZWNoKCk7XHJcbiAgICAgICAgdGhpcy52b2ljZVNwZWVkID0gMTtcclxuICAgICAgICBTcGVlY2hSZWNvZ25pdGlvbkNvbXBvbmVudC5UT09MQkFSX0FDVElWRSA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICBAU2tpcElmKCdkaXNhYmxlZFNwZWVjaFJlY29nbml0aW9uJylcclxuICAgIG9uRGlzY2FyZCgpIHtcclxuICAgICAgICB0aGlzLmNhblJlbmRlckFwcm92ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2FuUmVuZGVyRGlzY2FyZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2FuUmVuZGVyTWljcm9waG9uZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jYW5SZW5kZXJUZXh0VG9TcGVlY2hUb29sYmFyID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jYW5SZW5kZXJUZXh0VG9TcGVlY2ggPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuX3JlY29nbml6ZWRUZXh0ID0gJyc7XHJcbiAgICAgICAgdGhpcy5zZXRUZXh0QXJlYVZhbHVlKHRoaXMub3JpZ2luYWxUZXh0QXJlYUVsZW1lbnRUZXh0KTtcclxuICAgICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zdG9wVGV4dFRvU3BlZWNoKCk7XHJcbiAgICAgICAgU3BlZWNoUmVjb2duaXRpb25Db21wb25lbnQuVE9PTEJBUl9BQ1RJVkUgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgQFNraXBJZignZGlzYWJsZWRTcGVlY2hSZWNvZ25pdGlvbicpXHJcbiAgICBvbkFwcm92ZSgpIHtcclxuICAgICAgICB0aGlzLmNhblJlbmRlckFwcm92ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2FuUmVuZGVyRGlzY2FyZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2FuUmVuZGVyTWljcm9waG9uZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jYW5SZW5kZXJUZXh0VG9TcGVlY2hUb29sYmFyID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jYW5SZW5kZXJUZXh0VG9TcGVlY2ggPSB0cnVlO1xyXG4gICAgICAgIGlmICh0aGlzLmtlZXBDb250ZXh0KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGJyZWFrTGluZSA9IHRoaXMub3JpZ2luYWxUZXh0QXJlYUVsZW1lbnRUZXh0Lmxlbmd0aCA+IDAgPyAnXFxuJyA6ICcnO1xyXG4gICAgICAgICAgICB0aGlzLm9yaWdpbmFsVGV4dEFyZWFFbGVtZW50VGV4dCArPSBgJHticmVha0xpbmV9JHt0aGlzLl9yZWNvZ25pemVkVGV4dH1gO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxUZXh0QXJlYUVsZW1lbnRUZXh0ID0gdGhpcy5fcmVjb2duaXplZFRleHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucmVjb2duaXplZFRleHQuZW1pdCh0aGlzLmtlZXBDb250ZXh0ID8gdGhpcy5vcmlnaW5hbFRleHRBcmVhRWxlbWVudFRleHQgOiB0aGlzLl9yZWNvZ25pemVkVGV4dCk7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxUZXh0QXJlYUJvdHRvbSgpO1xyXG4gICAgICAgIHRoaXMuX3JlY29nbml6ZWRUZXh0ID0gJyc7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudGV4dFRvU3BlZWNoU2VydmljZS5jYW5jZWwoKTtcclxuICAgICAgICBTcGVlY2hSZWNvZ25pdGlvbkNvbXBvbmVudC5UT09MQkFSX0FDVElWRSA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25EZXN0cm95JC5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gIEBTa2lwSWYoJ2Rpc2FibGVkU3BlZWNoUmVjb2duaXRpb24nKVxyXG4gICAgdG9nZ2xlVGV4dFRvU3BlZWNoKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmlzUGxheWluZ1RleHRUb1NwZWVjaCkge1xyXG4gICAgICAgICAgICB0aGlzLnRleHRUb1NwZWVjaFNlcnZpY2UucGF1c2UoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5pc0RvbmVUZXh0VG9TcGVlY2gpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3BlYWsoKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudGV4dFRvU3BlZWNoU2VydmljZS5yZXN1bWUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmlzUGxheWluZ1RleHRUb1NwZWVjaCA9ICF0aGlzLmlzUGxheWluZ1RleHRUb1NwZWVjaDtcclxuICAgIH1cclxuXHJcbiAgQFNraXBJZignZGlzYWJsZWRTcGVlY2hSZWNvZ25pdGlvbicpXHJcbiAgICByZXN0YXJ0VGV4dFRvU3BlZWNoKCkge1xyXG4gICAgICAgIHRoaXMudGV4dFRvU3BlZWNoU2VydmljZS5jYW5jZWwoKTtcclxuICAgICAgICB0aGlzLnNwZWFrKCk7XHJcbiAgICB9XHJcblxyXG4gIEBTa2lwSWYoJ2Rpc2FibGVkU3BlZWNoUmVjb2duaXRpb24nKVxyXG4gICAgdXBkYXRlVm9pY2VTcGVlZCgpIHtcclxuICAgICAgICBjb25zdCB2b2ljZVNwZWVkSW5kZXggPSB0aGlzLlZPSUNFX1NQRUVEUy5pbmRleE9mKHRoaXMudm9pY2VTcGVlZCk7XHJcbiAgICAgICAgY29uc3QgbmV4dFZvaWNlU3BlZWRJbmRleCA9IHRoaXMuVk9JQ0VfU1BFRURTW3ZvaWNlU3BlZWRJbmRleCArIDFdID8gdm9pY2VTcGVlZEluZGV4ICsgMSA6IDA7XHJcbiAgICAgICAgdGhpcy52b2ljZVNwZWVkID0gdGhpcy5WT0lDRV9TUEVFRFNbbmV4dFZvaWNlU3BlZWRJbmRleF07XHJcbiAgICAgICAgdGhpcy50ZXh0VG9TcGVlY2hTZXJ2aWNlLmNhbmNlbCgpO1xyXG4gICAgICAgIHRoaXMuc3BlYWsoKTtcclxuICAgIH1cclxuXHJcbiAgICBAU2tpcElmKCdkaXNhYmxlZFNwZWVjaFJlY29nbml0aW9uJylcclxuICAgIHN0b3BMaXN0ZW5pbmcoKSB7XHJcbiAgICAgICAgdGhpcy5zcGVlY2hSZWNvZ25pdGlvblNlcnZpY2Uuc3RvcCgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBnZXQgaXNMaXN0ZW5pbmcoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3BlZWNoUmVjb2duaXRpb25TZXJ2aWNlLmlzTGlzdGVuaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBoYXNTcGVlY2hSZWNvZ25pdGlvbkJyb3dzZXJBcGkoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3BlZWNoUmVjb2duaXRpb25TZXJ2aWNlLmhhc1N1cHBvcnRTcGVlY2hSZWNvZ25pdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaXNEaXNhYmxlZFRleHRUb1NwZWVjaCgpIHtcclxuICAgICAgICBjb25zdCBoYXNUZXh0VG9TcGVlY2hWb2ljZSA9IHRoaXMudGV4dFRvU3BlZWNoU2VydmljZS5oYXNWb2ljZTtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAhdGhpcy50ZXh0VG9TcGVlY2ggfHwgIWhhc1RleHRUb1NwZWVjaFZvaWNlIHx8IHRoaXMuaXNMaXN0ZW5pbmcgfHwgU3BlZWNoUmVjb2duaXRpb25Db21wb25lbnQuVE9PTEJBUl9BQ1RJVkVcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0VGV4dEFyZWFWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy50ZXh0QXJlYUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0b3BUZXh0VG9TcGVlY2goKSB7XHJcbiAgICAgICAgdGhpcy5pc1BsYXlpbmdUZXh0VG9TcGVlY2ggPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRleHRUb1NwZWVjaFNlcnZpY2UuY2FuY2VsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzcGVhaygpIHtcclxuICAgICAgICB0aGlzLmlzRG9uZVRleHRUb1NwZWVjaCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXNQbGF5aW5nVGV4dFRvU3BlZWNoID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnRleHRUb1NwZWVjaFNlcnZpY2Uuc3BlYWsodGhpcy50ZXh0VG9TcGVlY2gsIHRoaXMudm9pY2VTcGVlZCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNQbGF5aW5nVGV4dFRvU3BlZWNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuaXNEb25lVGV4dFRvU3BlZWNoID0gdHJ1ZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldCB0ZXh0VG9TcGVlY2goKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dEFyZWFFbGVtZW50LnZhbHVlO1xyXG4gICAgfVxyXG59XHJcbiIsIkBpZihoYXNTcGVlY2hSZWNvZ25pdGlvbkJyb3dzZXJBcGkpIHtcbiAgICA8c2VjdGlvbiBjbGFzcz1cInNwZWVjaC1yZWNvZ25pdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3BlZWNoLXJlY29nbml0aW9uLXRleHRcIj5cbiAgICAgICAgICAgIEBpZihjYW5SZW5kZXJNaWNyb3Bob25lKSB7XG4gICAgICAgICAgICAgICAge3sgJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy50ZXh0X2FyZWFfYmVmb3JlX3NwZWVjaCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmKGlzTGlzdGVuaW5nVXNlclZvaWNlKSB7XG4gICAgICAgICAgICAgICAge3sgJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy50ZXh0X2FyZWFfd2hpbGVfc3BlZWNoJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYoY2FuUmVuZGVyQXByb3ZlICYmIGNhblJlbmRlckRpc2NhcmQpIHtcbiAgICAgICAgICAgICAgICB7eyAncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnRleHRfYXJlYV9lbmRfc3BlZWNoJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNwZWVjaC1yZWNvZ25pdGlvbi1idXR0b25zXCI+XG4gICAgICAgICAgICBAaWYoY2FuUmVuZGVyTGlzdGVuaW5nVGV4dCkge1xuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzdG9wTGlzdGVuaW5nKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNwZWVjaC1yZWNvZ25pdGlvbi1pdGVtIHNwZWVjaC1yZWNvZ25pdGlvbi1pdGVtLXJlZ3VsYXJcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc3BlZWNoLXJlY29nbml0aW9uLWl0ZW0tZGlzYWJsZWRdPVwiZGlzYWJsZWRTcGVlY2hSZWNvZ25pdGlvbigpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCJtb3JlT3B0aW9uc0ljb25DbGFzc1wiPjwvaT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZihjYW5SZW5kZXJNaWNyb3Bob25lKSB7XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlzdGVuKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNwZWVjaC1yZWNvZ25pdGlvbi1pdGVtIHNwZWVjaC1yZWNvZ25pdGlvbi1pdGVtLW1pY3JvcGhvbmVcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc3BlZWNoLXJlY29nbml0aW9uLWl0ZW0tZGlzYWJsZWRdPVwiaXNEaXNhYmxlZE1pY3JvcGhvbmUgfHwgaXNMaXN0ZW5pbmcgfHwgZGlzYWJsZWQgfHwgZGlzYWJsZWRTcGVlY2hSZWNvZ25pdGlvbigpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLW1pY3JvcGhvbmVcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIEBpZihjYW5SZW5kZXJBcHJvdmUpIHtcbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BcHJvdmUoKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3BlZWNoLXJlY29nbml0aW9uLWl0ZW0gc3BlZWNoLXJlY29nbml0aW9uLWl0ZW0tYXByb3ZlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWNoZWNrXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmKGNhblJlbmRlckRpc2NhcmQpIHtcbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25EaXNjYXJkKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNwZWVjaC1yZWNvZ25pdGlvbi1pdGVtIHNwZWVjaC1yZWNvZ25pdGlvbi1pdGVtLWRpc2NhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtdGltZXNcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYoY2FuUmVuZGVyVGV4dFRvU3BlZWNoKSB7XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uT3BlblRvb2xiYXIoKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3BlZWNoLXJlY29nbml0aW9uLWl0ZW0gc3BlZWNoLXJlY29nbml0aW9uLWl0ZW0tcmVndWxhclwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zcGVlY2gtcmVjb2duaXRpb24taXRlbS1kaXNhYmxlZF09XCJpc0Rpc2FibGVkVGV4dFRvU3BlZWNoXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXZvbHVtZS1kb3duXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmKGNhblJlbmRlclRleHRUb1NwZWVjaFRvb2xiYXIpIHtcbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNwZWVjaC1yZWNvZ25pdGlvbi1pdGVtLXRvb2xiYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzXCIgW2NsYXNzLmZhLXBhdXNlXT1cImlzUGxheWluZ1RleHRUb1NwZWVjaFwiIFtjbGFzcy5mYS1wbGF5XT1cIiFpc1BsYXlpbmdUZXh0VG9TcGVlY2hcIlxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVRleHRUb1NwZWVjaCgpXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtYmFja3dhcmRcIiAoY2xpY2spPVwicmVzdGFydFRleHRUb1NwZWVjaCgpXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKGNsaWNrKT1cInVwZGF0ZVZvaWNlU3BlZWQoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHZvaWNlU3BlZWQgfX14XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS10aW1lc1wiIChjbGljayk9XCJvbkNsb3NlVG9vbGJhcigpXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9zZWN0aW9uPlxufVxuIl19
|
|
@@ -29,6 +29,10 @@ export class SplitButtonComponent {
|
|
|
29
29
|
type = 'primary';
|
|
30
30
|
/** @description Lista de opções exibidas no dropdown. Campo obrigatório. */
|
|
31
31
|
options;
|
|
32
|
+
/** @description Classe do ícone exibido quando o dropdown está fechado. @default 'far fa-chevron-down' */
|
|
33
|
+
openIcon = 'far fa-chevron-down';
|
|
34
|
+
/** @description Classe do ícone exibido quando o dropdown está aberto. @default 'far fa-chevron-up' */
|
|
35
|
+
closeIcon = 'far fa-chevron-up';
|
|
32
36
|
/** @description Emitido quando o usuário clica no botão principal (não no dropdown). */
|
|
33
37
|
buttonClicked = new EventEmitter();
|
|
34
38
|
open = false;
|
|
@@ -56,11 +60,11 @@ export class SplitButtonComponent {
|
|
|
56
60
|
this.open = false;
|
|
57
61
|
}
|
|
58
62
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SplitButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
59
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SplitButtonComponent, isStandalone: true, selector: "s-split-button", inputs: { disabled: "disabled", iconClass: "iconClass", label: "label", type: "type", options: "options" }, outputs: { buttonClicked: "buttonClicked" }, host: { listeners: { "document:click": "onClickout($event)" } }, ngImport: i0, template: "<div\n class=\"split-button\"\n [ngClass]=\"{\n 'split-button--primary': type === 'primary',\n 'split-button--secondary': type === 'secondary',\n 'split-button--default': type === 'default',\n 'split-button--disabled': disabled,\n }\"\n>\n <button\n class=\"button\"\n (click)=\"onButtonClick()\"\n >\n <span\n class=\"button__icon\"\n [ngClass]=\"iconClass\"\n ></span>\n <span class=\"button__label\">{{ label }}</span>\n </button>\n <button\n class=\"dropdown\"\n (click)=\"onDropdownClick()\"\n >\n <span\n class=\"dropdown__icon\"\n [
|
|
63
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SplitButtonComponent, isStandalone: true, selector: "s-split-button", inputs: { disabled: "disabled", iconClass: "iconClass", label: "label", type: "type", options: "options", openIcon: "openIcon", closeIcon: "closeIcon" }, outputs: { buttonClicked: "buttonClicked" }, host: { listeners: { "document:click": "onClickout($event)" } }, ngImport: i0, template: "<div\n class=\"split-button\"\n [ngClass]=\"{\n 'split-button--primary': type === 'primary',\n 'split-button--secondary': type === 'secondary',\n 'split-button--default': type === 'default',\n 'split-button--disabled': disabled,\n }\"\n>\n <button\n class=\"button\"\n (click)=\"onButtonClick()\"\n >\n <span\n class=\"button__icon\"\n [ngClass]=\"iconClass\"\n ></span>\n <span class=\"button__label\">{{ label }}</span>\n </button>\n <button\n class=\"dropdown\"\n (click)=\"onDropdownClick()\"\n >\n <span\n class=\"dropdown__icon\"\n [class]=\"open ? closeIcon : openIcon\"\n >\n </span>\n </button>\n</div>\n\n@if (this.open) {\n <ul class=\"options\">\n @for (option of options; track option.title) {\n <li (click)=\"onOptionClick(option)\">\n {{ option.title }}\n </li>\n }\n </ul>\n}\n", styles: [".split-button{display:flex;-webkit-user-select:none;user-select:none;max-height:35px}.split-button .button{align-items:center;border:none;border-radius:4px 0 0 4px;display:flex;padding:8px 8px 8px 12px;transition:all .3s ease-in-out}.split-button .button__icon{font-size:16px;padding:0 4px}.split-button .button__title{font-family:Open Sans,sans-serif;font-size:14px;font-weight:400;line-height:21px}.split-button .dropdown{align-items:center;border:none;border-left:1px solid #608190;border-radius:0 4px 4px 0;display:flex;justify-content:center;padding:12px 8px;transition:all .3s ease-in-out}.split-button--disabled{opacity:.5}.split-button--primary .button,.split-button--primary .dropdown{background-color:#428bca;color:#fff}.split-button--primary:not(.split-button--primary--disabled) .button,.split-button--primary:not(.split-button--primary--disabled) .dropdown{cursor:pointer}.split-button--primary:not(.split-button--primary--disabled) .button:hover,.split-button--primary:not(.split-button--primary--disabled) .dropdown:hover{background-color:#063951}.split-button--secondary .button,.split-button--secondary .dropdown{background-color:#7892a1;color:#fff}.split-button--secondary:not(.split-button--secondary--disabled) .button,.split-button--secondary:not(.split-button--secondary--disabled) .dropdown{cursor:pointer}.split-button--secondary:not(.split-button--secondary--disabled) .button:hover,.split-button--secondary:not(.split-button--secondary--disabled) .dropdown:hover{background-color:#697882}.split-button--default .button,.split-button--default .dropdown{background-color:unset;border:1px solid #d8d8d8;color:#333}.split-button--default:not(.split-button--default--disabled) .button,.split-button--default:not(.split-button--default--disabled) .dropdown{cursor:pointer}.split-button--default:not(.split-button--default--disabled) .button:hover,.split-button--default:not(.split-button--default--disabled) .dropdown:hover{background-color:#d8d8d8}.options{background-color:#fff;border-radius:4px;box-shadow:0 1px 5px #00000040;display:inline-block;list-style:none;margin:2px 0;padding:8px 0;position:absolute;-webkit-user-select:none;user-select:none;z-index:10}.options li{color:#333;cursor:pointer;font-family:Open Sans,sans-serif;font-weight:400;font-size:14px;line-height:21px;padding:8px 16px}.options li:hover{background-color:#d8d8d8}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
60
64
|
}
|
|
61
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SplitButtonComponent, decorators: [{
|
|
62
66
|
type: Component,
|
|
63
|
-
args: [{ selector: 's-split-button', standalone: true, imports: [NgClass], template: "<div\n class=\"split-button\"\n [ngClass]=\"{\n 'split-button--primary': type === 'primary',\n 'split-button--secondary': type === 'secondary',\n 'split-button--default': type === 'default',\n 'split-button--disabled': disabled,\n }\"\n>\n <button\n class=\"button\"\n (click)=\"onButtonClick()\"\n >\n <span\n class=\"button__icon\"\n [ngClass]=\"iconClass\"\n ></span>\n <span class=\"button__label\">{{ label }}</span>\n </button>\n <button\n class=\"dropdown\"\n (click)=\"onDropdownClick()\"\n >\n <span\n class=\"dropdown__icon\"\n [
|
|
67
|
+
args: [{ selector: 's-split-button', standalone: true, imports: [NgClass], template: "<div\n class=\"split-button\"\n [ngClass]=\"{\n 'split-button--primary': type === 'primary',\n 'split-button--secondary': type === 'secondary',\n 'split-button--default': type === 'default',\n 'split-button--disabled': disabled,\n }\"\n>\n <button\n class=\"button\"\n (click)=\"onButtonClick()\"\n >\n <span\n class=\"button__icon\"\n [ngClass]=\"iconClass\"\n ></span>\n <span class=\"button__label\">{{ label }}</span>\n </button>\n <button\n class=\"dropdown\"\n (click)=\"onDropdownClick()\"\n >\n <span\n class=\"dropdown__icon\"\n [class]=\"open ? closeIcon : openIcon\"\n >\n </span>\n </button>\n</div>\n\n@if (this.open) {\n <ul class=\"options\">\n @for (option of options; track option.title) {\n <li (click)=\"onOptionClick(option)\">\n {{ option.title }}\n </li>\n }\n </ul>\n}\n", styles: [".split-button{display:flex;-webkit-user-select:none;user-select:none;max-height:35px}.split-button .button{align-items:center;border:none;border-radius:4px 0 0 4px;display:flex;padding:8px 8px 8px 12px;transition:all .3s ease-in-out}.split-button .button__icon{font-size:16px;padding:0 4px}.split-button .button__title{font-family:Open Sans,sans-serif;font-size:14px;font-weight:400;line-height:21px}.split-button .dropdown{align-items:center;border:none;border-left:1px solid #608190;border-radius:0 4px 4px 0;display:flex;justify-content:center;padding:12px 8px;transition:all .3s ease-in-out}.split-button--disabled{opacity:.5}.split-button--primary .button,.split-button--primary .dropdown{background-color:#428bca;color:#fff}.split-button--primary:not(.split-button--primary--disabled) .button,.split-button--primary:not(.split-button--primary--disabled) .dropdown{cursor:pointer}.split-button--primary:not(.split-button--primary--disabled) .button:hover,.split-button--primary:not(.split-button--primary--disabled) .dropdown:hover{background-color:#063951}.split-button--secondary .button,.split-button--secondary .dropdown{background-color:#7892a1;color:#fff}.split-button--secondary:not(.split-button--secondary--disabled) .button,.split-button--secondary:not(.split-button--secondary--disabled) .dropdown{cursor:pointer}.split-button--secondary:not(.split-button--secondary--disabled) .button:hover,.split-button--secondary:not(.split-button--secondary--disabled) .dropdown:hover{background-color:#697882}.split-button--default .button,.split-button--default .dropdown{background-color:unset;border:1px solid #d8d8d8;color:#333}.split-button--default:not(.split-button--default--disabled) .button,.split-button--default:not(.split-button--default--disabled) .dropdown{cursor:pointer}.split-button--default:not(.split-button--default--disabled) .button:hover,.split-button--default:not(.split-button--default--disabled) .dropdown:hover{background-color:#d8d8d8}.options{background-color:#fff;border-radius:4px;box-shadow:0 1px 5px #00000040;display:inline-block;list-style:none;margin:2px 0;padding:8px 0;position:absolute;-webkit-user-select:none;user-select:none;z-index:10}.options li{color:#333;cursor:pointer;font-family:Open Sans,sans-serif;font-weight:400;font-size:14px;line-height:21px;padding:8px 16px}.options li:hover{background-color:#d8d8d8}\n"] }]
|
|
64
68
|
}], propDecorators: { disabled: [{
|
|
65
69
|
type: Input
|
|
66
70
|
}], iconClass: [{
|
|
@@ -74,10 +78,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
74
78
|
}], options: [{
|
|
75
79
|
type: Input,
|
|
76
80
|
args: [{ required: true }]
|
|
81
|
+
}], openIcon: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], closeIcon: [{
|
|
84
|
+
type: Input
|
|
77
85
|
}], buttonClicked: [{
|
|
78
86
|
type: Output
|
|
79
87
|
}], onClickout: [{
|
|
80
88
|
type: HostListener,
|
|
81
89
|
args: ['document:click', ['$event']]
|
|
82
90
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcGxpdC1idXR0b24vc3JjL2xpYi9zcGxpdC1idXR0b24vc3BsaXQtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcGxpdC1idXR0b24vc3JjL2xpYi9zcGxpdC1idXR0b24vc3BsaXQtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUt6Rzs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFRSCxNQUFNLE9BQU8sb0JBQW9CO0lBQ1osS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUU1Qyw2RUFBNkU7SUFFdEUsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUV4QixrRkFBa0Y7SUFFM0UsU0FBUyxDQUFVO0lBRTFCLGlFQUFpRTtJQUUxRCxLQUFLLENBQVU7SUFFdEIsNkZBQTZGO0lBRXRGLElBQUksR0FBb0IsU0FBUyxDQUFDO0lBRXpDLDRFQUE0RTtJQUVyRSxPQUFPLENBQXVCO0lBRXJDLDBHQUEwRztJQUVuRyxRQUFRLEdBQUcscUJBQXFCLENBQUM7SUFFeEMsdUdBQXVHO0lBRWhHLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQztJQUV2Qyx3RkFBd0Y7SUFFakYsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFbkMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUdiLFVBQVUsQ0FBQyxLQUFpQjtRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQztJQUVNLGFBQWE7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMzQixDQUFDO0lBQ0wsQ0FBQztJQUVNLGFBQWEsQ0FBQyxNQUF5QjtRQUMxQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGNBQWM7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQzt3R0FoRVEsb0JBQW9COzRGQUFwQixvQkFBb0Isa1ZDN0JqQyw2L0JBd0NBLHUzRURiYyxPQUFPOzs0RkFFUixvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0ksZ0JBQWdCLGNBR2QsSUFBSSxXQUNQLENBQUMsT0FBTyxDQUFDOzhCQU9YLFFBQVE7c0JBRGQsS0FBSztnQkFLQyxTQUFTO3NCQURmLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtsQixLQUFLO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtsQixJQUFJO3NCQURWLEtBQUs7Z0JBS0MsT0FBTztzQkFEYixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLbEIsUUFBUTtzQkFEZCxLQUFLO2dCQUtDLFNBQVM7c0JBRGYsS0FBSztnQkFLQyxhQUFhO3NCQURuQixNQUFNO2dCQU1BLFVBQVU7c0JBRGhCLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTcGxpdEJ1dHRvbk9wdGlvbiB9IGZyb20gJy4vbW9kZWxzL3NwbGl0LWJ1dHRvbi1vcHRpb24nO1xyXG5pbXBvcnQgeyBTcGxpdEJ1dHRvblR5cGUgfSBmcm9tICcuL21vZGVscy9zcGxpdC1idXR0b24tdHlwZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uIEJvdMOjbyBjb21wb3N0byBjb20gYcOnw6NvIHByaW5jaXBhbCBlIGRyb3Bkb3duIGRlIG9ww6fDtWVzIGFkaWNpb25haXMuXHJcbiAqIEFvIGNsaWNhciBubyBib3TDo28gcHJpbmNpcGFsIGVtaXRlIGBidXR0b25DbGlja2VkYDsgYW8gY2xpY2FyIG5vIMOtY29uZSBkZSBzZXRhXHJcbiAqIGFicmUvZmVjaGEgbyBkcm9wZG93biBjb20gYSBsaXN0YSBkZSBgb3B0aW9uc2AuXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYGh0bWxcclxuICogPHMtc3BsaXQtYnV0dG9uXHJcbiAqICAgbGFiZWw9XCJTYWx2YXJcIlxyXG4gKiAgIGljb25DbGFzcz1cImZhcyBmYS1zYXZlXCJcclxuICogICBbb3B0aW9uc109XCJtZW51T3Bjb2VzXCJcclxuICogICAoYnV0dG9uQ2xpY2tlZCk9XCJvblNhbHZhcigpXCIgLz5cclxuICogYGBgXHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBJbnB1dHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzLXNwbGl0LWJ1dHRvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3BsaXQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3NwbGl0LWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ0NsYXNzXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNwbGl0QnV0dG9uQ29tcG9uZW50IHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2VSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBEZXNhYmlsaXRhIG8gYm90w6NvIHByaW5jaXBhbCBlIG8gZHJvcGRvd24uIEBkZWZhdWx0IGZhbHNlICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBDbGFzc2UgZG8gw61jb25lIGV4aWJpZG8gbm8gYm90w6NvIHByaW5jaXBhbC4gQ2FtcG8gb2JyaWdhdMOzcmlvLiAqL1xyXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcclxuICAgIHB1YmxpYyBpY29uQ2xhc3MhOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBSw7N0dWxvIGRvIGJvdMOjbyBwcmluY2lwYWwuIENhbXBvIG9icmlnYXTDs3Jpby4gKi9cclxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXHJcbiAgICBwdWJsaWMgbGFiZWwhOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFc3RpbG8gdmlzdWFsIGRvIGJvdMOjbyAoYCdwcmltYXJ5J2Agb3UgYCdzZWNvbmRhcnknYCkuIEBkZWZhdWx0ICdwcmltYXJ5JyAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB0eXBlOiBTcGxpdEJ1dHRvblR5cGUgPSAncHJpbWFyeSc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBMaXN0YSBkZSBvcMOnw7VlcyBleGliaWRhcyBubyBkcm9wZG93bi4gQ2FtcG8gb2JyaWdhdMOzcmlvLiAqL1xyXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcclxuICAgIHB1YmxpYyBvcHRpb25zITogU3BsaXRCdXR0b25PcHRpb25bXTtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIENsYXNzZSBkbyDDrWNvbmUgZXhpYmlkbyBxdWFuZG8gbyBkcm9wZG93biBlc3TDoSBmZWNoYWRvLiBAZGVmYXVsdCAnZmFyIGZhLWNoZXZyb24tZG93bicgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgb3Blbkljb24gPSAnZmFyIGZhLWNoZXZyb24tZG93bic7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBDbGFzc2UgZG8gw61jb25lIGV4aWJpZG8gcXVhbmRvIG8gZHJvcGRvd24gZXN0w6EgYWJlcnRvLiBAZGVmYXVsdCAnZmFyIGZhLWNoZXZyb24tdXAnICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNsb3NlSWNvbiA9ICdmYXIgZmEtY2hldnJvbi11cCc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIHF1YW5kbyBvIHVzdcOhcmlvIGNsaWNhIG5vIGJvdMOjbyBwcmluY2lwYWwgKG7Do28gbm8gZHJvcGRvd24pLiAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgYnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBwdWJsaWMgb3BlbiA9IGZhbHNlO1xyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICAgIHB1YmxpYyBvbkNsaWNrb3V0KGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9lUmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xyXG4gICAgICAgICAgICB0aGlzLl9jbG9zZURyb3Bkb3duKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkJ1dHRvbkNsaWNrKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmJ1dHRvbkNsaWNrZWQuZW1pdCgpO1xyXG4gICAgICAgICAgICB0aGlzLl9jbG9zZURyb3Bkb3duKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkRyb3Bkb3duQ2xpY2soKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbk9wdGlvbkNsaWNrKG9wdGlvbjogU3BsaXRCdXR0b25PcHRpb24pIHtcclxuICAgICAgICBvcHRpb24uYWN0aW9uPy4oKTtcclxuICAgICAgICB0aGlzLl9jbG9zZURyb3Bkb3duKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY2xvc2VEcm9wZG93bigpIHtcclxuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJzcGxpdC1idXR0b25cIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3NwbGl0LWJ1dHRvbi0tcHJpbWFyeSc6IHR5cGUgPT09ICdwcmltYXJ5JyxcbiAgICAgICAgJ3NwbGl0LWJ1dHRvbi0tc2Vjb25kYXJ5JzogdHlwZSA9PT0gJ3NlY29uZGFyeScsXG4gICAgICAgICdzcGxpdC1idXR0b24tLWRlZmF1bHQnOiB0eXBlID09PSAnZGVmYXVsdCcsXG4gICAgICAgICdzcGxpdC1idXR0b24tLWRpc2FibGVkJzogZGlzYWJsZWQsXG4gICAgfVwiXG4+XG4gICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJvbkJ1dHRvbkNsaWNrKClcIlxuICAgID5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uX19pY29uXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImljb25DbGFzc1wiXG4gICAgICAgID48L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYnV0dG9uX19sYWJlbFwiPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJkcm9wZG93blwiXG4gICAgICAgIChjbGljayk9XCJvbkRyb3Bkb3duQ2xpY2soKVwiXG4gICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJkcm9wZG93bl9faWNvblwiXG4gICAgICAgICAgICBbY2xhc3NdPVwib3BlbiA/IGNsb3NlSWNvbiA6IG9wZW5JY29uXCJcbiAgICAgICAgPlxuICAgICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cblxuQGlmICh0aGlzLm9wZW4pIHtcbiAgICA8dWwgY2xhc3M9XCJvcHRpb25zXCI+XG4gICAgICAgIEBmb3IgKG9wdGlvbiBvZiBvcHRpb25zOyB0cmFjayBvcHRpb24udGl0bGUpIHtcbiAgICAgICAgICAgIDxsaSAoY2xpY2spPVwib25PcHRpb25DbGljayhvcHRpb24pXCI+XG4gICAgICAgICAgICAgICAge3sgb3B0aW9uLnRpdGxlIH19XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgPC91bD5cbn1cbiJdfQ==
|
|
@@ -64,7 +64,7 @@ export class StarRatingComponent {
|
|
|
64
64
|
useExisting: StarRatingComponent,
|
|
65
65
|
multi: true,
|
|
66
66
|
},
|
|
67
|
-
], ngImport: i0, template: "@let justifyContentClassName = 'justify-' + justifyContent();\n<section [class]=\"justifyContentClassName\" class=\"flex gap-2\" [class.opacity-50]=\"disabled()\">\n @for(item of elementsRender(); track item) {\n @let isActivated = selectedStar() <= item;\n <i\n [class.fas]=\"!isActivated\"\n [class.far]=\"isActivated\"\n [class.cursor-pointer]=\"!disabled()\"\n class=\"fa-star text-buttercup-500 cursor-pointer\"\n (sInteractiveContent)=\"onSelectStar(item + 1)\">\n </i>\n }\n</section>\n", dependencies: [{ kind: "directive", type: InteractiveContentDirective, selector: "[sInteractiveContent]", inputs: ["focusable", "disabled", "stopPropagation"], outputs: ["sInteractiveContent"] }] });
|
|
67
|
+
], ngImport: i0, template: "@let justifyContentClassName = 'justify-' + justifyContent();\n<section [class]=\"justifyContentClassName\" class=\"flex gap-2\" [class.opacity-50]=\"disabled()\">\n @for(item of elementsRender(); track item) {\n @let isActivated = selectedStar() <= item;\n <i\n [class.fas]=\"!isActivated\"\n [class.far]=\"isActivated\"\n [class.cursor-pointer]=\"!disabled()\"\n class=\"fa-star text-buttercup-500 cursor-pointer\"\n [disabled]=\"disabled()\"\n (sInteractiveContent)=\"onSelectStar(item + 1)\">\n </i>\n }\n</section>\n", dependencies: [{ kind: "directive", type: InteractiveContentDirective, selector: "[sInteractiveContent]", inputs: ["focusable", "disabled", "stopPropagation"], outputs: ["sInteractiveContent"] }] });
|
|
68
68
|
}
|
|
69
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StarRatingComponent, decorators: [{
|
|
70
70
|
type: Component,
|
|
@@ -74,6 +74,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
74
74
|
useExisting: StarRatingComponent,
|
|
75
75
|
multi: true,
|
|
76
76
|
},
|
|
77
|
-
], template: "@let justifyContentClassName = 'justify-' + justifyContent();\n<section [class]=\"justifyContentClassName\" class=\"flex gap-2\" [class.opacity-50]=\"disabled()\">\n @for(item of elementsRender(); track item) {\n @let isActivated = selectedStar() <= item;\n <i\n [class.fas]=\"!isActivated\"\n [class.far]=\"isActivated\"\n [class.cursor-pointer]=\"!disabled()\"\n class=\"fa-star text-buttercup-500 cursor-pointer\"\n (sInteractiveContent)=\"onSelectStar(item + 1)\">\n </i>\n }\n</section>\n" }]
|
|
77
|
+
], template: "@let justifyContentClassName = 'justify-' + justifyContent();\n<section [class]=\"justifyContentClassName\" class=\"flex gap-2\" [class.opacity-50]=\"disabled()\">\n @for(item of elementsRender(); track item) {\n @let isActivated = selectedStar() <= item;\n <i\n [class.fas]=\"!isActivated\"\n [class.far]=\"isActivated\"\n [class.cursor-pointer]=\"!disabled()\"\n class=\"fa-star text-buttercup-500 cursor-pointer\"\n [disabled]=\"disabled()\"\n (sInteractiveContent)=\"onSelectStar(item + 1)\">\n </i>\n }\n</section>\n" }]
|
|
78
78
|
}] });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci1yYXRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3N0YXItcmF0aW5nL3NyYy9zdGFyLXJhdGluZy9zdGFyLXJhdGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3Rhci1yYXRpbmcvc3JjL3N0YXItcmF0aW5nL3N0YXItcmF0aW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOztBQUdyRzs7Ozs7Ozs7Ozs7R0FXRztBQWNILE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsUUFBUSxHQUE0QixHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFDN0MsU0FBUyxHQUE0QixHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFOUMsa0ZBQWtGO0lBQ2xGLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsaUVBQWlFO0lBQ2pFLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEIsMEVBQTBFO0lBQzFFLGNBQWMsR0FBRyxLQUFLLENBQWUsUUFBUSxDQUFDLENBQUM7SUFDL0Msb0VBQW9FO0lBQ3BFLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFTCxjQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbkMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEUsQ0FBQyxDQUFDLENBQUM7SUFFSCxVQUFVLENBQUMsR0FBVztRQUNsQixJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBMkI7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxZQUFZLENBQUMsYUFBcUI7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU8sVUFBVSxDQUFDLGFBQXFCO1FBQ3BDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLGFBQWEsS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztZQUN4QyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsQyxDQUFDO3dHQWxEUSxtQkFBbUI7NEZBQW5CLG1CQUFtQiw2ckJBUmpCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLG1CQUFtQjtnQkFDaEMsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKLDBCQzVCTCx3bUJBY0EsNENETWMsMkJBQTJCOzs0RkFVNUIsbUJBQW1CO2tCQWIvQixTQUFTOytCQUNJLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQywyQkFBMkIsQ0FBQyxhQUUzQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLHFCQUFxQjs0QkFDaEMsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEludGVyYWN0aXZlQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvaW50ZXJhY3RpdmUtY29udGVudCc7XG5pbXBvcnQgeyBKdXN0aWZ5VHlwZXMgfSBmcm9tICcuL3N0YXItcmF0aW5nLW1vZGVscyc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgYXZhbGlhw6fDo28gcG9yIGVzdHJlbGFzIGNvbSBzdXBvcnRlIGEgYENvbnRyb2xWYWx1ZUFjY2Vzc29yYFxuICogcGFyYSBpbnRlZ3Jhw6fDo28gY29tIGZvcm11bMOhcmlvcyBBbmd1bGFyLiBQZXJtaXRlIGNvbmZpZ3VyYXIgbyBuw7ptZXJvIGRlIGVzdHJlbGFzLFxuICogYWxpbmhhbWVudG8gZSBlc3RhZG8gZGVzYWJpbGl0YWRvLiBDbGljYXIgbmEgZXN0cmVsYSBqw6Egc2VsZWNpb25hZGEgYSBkZXNlbGVjaW9uYS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtc3Rhci1yYXRpbmcgW3N0YXJzUmFuZ2VdPVwiNVwiIGZvcm1Db250cm9sTmFtZT1cImF2YWxpYWNhb1wiIC8+XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgSW5wdXRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1zdGFyLXJhdGluZycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbSW50ZXJhY3RpdmVDb250ZW50RGlyZWN0aXZlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3Rhci1yYXRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBTdGFyUmF0aW5nQ29tcG9uZW50LFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU3RhclJhdGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBvbkNoYW5nZTogKHZhbHVlOiBudW1iZXIpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgICBvblRvdWNoZWQ6ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIMONbmRpY2UgZGEgZXN0cmVsYSBhdHVhbG1lbnRlIHNlbGVjaW9uYWRhICgxLWJhc2VkKS4gQGRlZmF1bHQgMCAqL1xuICAgIHNlbGVjdGVkU3RhciA9IG1vZGVsKDApO1xuICAgIC8qKiBAZGVzY3JpcHRpb24gTsO6bWVybyB0b3RhbCBkZSBlc3RyZWxhcyBleGliaWRhcy4gQGRlZmF1bHQgNSAqL1xuICAgIHN0YXJzUmFuZ2UgPSBpbnB1dCg1KTtcbiAgICAvKiogQGRlc2NyaXB0aW9uIEFsaW5oYW1lbnRvIGhvcml6b250YWwgZGFzIGVzdHJlbGFzLiBAZGVmYXVsdCAnY2VudGVyJyAqL1xuICAgIGp1c3RpZnlDb250ZW50ID0gaW5wdXQ8SnVzdGlmeVR5cGVzPignY2VudGVyJyk7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBEZXNhYmlsaXRhIGEgc2VsZcOnw6NvIGRlIGVzdHJlbGFzLiBAZGVmYXVsdCBmYWxzZSAqL1xuICAgIGRpc2FibGVkID0gbW9kZWwoZmFsc2UpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnRzUmVuZGVyID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMuc3RhcnNSYW5nZSgpO1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogZWxlbWVudHMgfSkubWFwKChfeCwgJGluZGV4KSA9PiAkaW5kZXgpO1xuICAgIH0pO1xuXG4gICAgd3JpdGVWYWx1ZShvYmo6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAob2JqICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkU3Rhci5zZXQob2JqKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkLnNldChpc0Rpc2FibGVkKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdFN0YXIoc2VsZWN0ZWRJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc3RvcmVWYWx1ZShzZWxlY3RlZEluZGV4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0b3JlVmFsdWUoc2VsZWN0ZWRJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA9PT0gdGhpcy5zZWxlY3RlZFN0YXIoKSkge1xuICAgICAgICAgICAgc2VsZWN0ZWRJbmRleCA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKHNlbGVjdGVkSW5kZXgpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHNlbGVjdGVkSW5kZXgpO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZChzZWxlY3RlZEluZGV4KTtcbiAgICB9XG59XG5cbiIsIkBsZXQganVzdGlmeUNvbnRlbnRDbGFzc05hbWUgPSAnanVzdGlmeS0nICsganVzdGlmeUNvbnRlbnQoKTtcbjxzZWN0aW9uIFtjbGFzc109XCJqdXN0aWZ5Q29udGVudENsYXNzTmFtZVwiIGNsYXNzPVwiZmxleCBnYXAtMlwiIFtjbGFzcy5vcGFjaXR5LTUwXT1cImRpc2FibGVkKClcIj5cbiAgICBAZm9yKGl0ZW0gb2YgZWxlbWVudHNSZW5kZXIoKTsgdHJhY2sgaXRlbSkge1xuICAgICAgICBAbGV0IGlzQWN0aXZhdGVkID0gc2VsZWN0ZWRTdGFyKCkgPD0gaXRlbTtcbiAgICAgICAgPGlcbiAgICAgICAgICAgIFtjbGFzcy5mYXNdPVwiIWlzQWN0aXZhdGVkXCJcbiAgICAgICAgICAgIFtjbGFzcy5mYXJdPVwiaXNBY3RpdmF0ZWRcIlxuICAgICAgICAgICAgW2NsYXNzLmN1cnNvci1wb2ludGVyXT1cIiFkaXNhYmxlZCgpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmEtc3RhciB0ZXh0LWJ1dHRlcmN1cC01MDAgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICAgICAgKHNJbnRlcmFjdGl2ZUNvbnRlbnQpPVwib25TZWxlY3RTdGFyKGl0ZW0gKyAxKVwiPlxuICAgICAgICA8L2k+XG4gICAgfVxuPC9zZWN0aW9uPlxuIl19
|
|
@@ -303,7 +303,7 @@ export class TableColumnsComponent {
|
|
|
303
303
|
return columns.sort((a, b) => (a.sequence ?? 0) - (b.sequence ?? 0));
|
|
304
304
|
}
|
|
305
305
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableColumnsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
306
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TableColumnsComponent, isStandalone: true, selector: "s-table-columns", inputs: { columns: "columns", rowValue: "rowValue", locale: "locale" }, viewQueries: [{ propertyName: "columnsTemplate", first: true, predicate: ["columnsTemplate"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #columnsTemplate>\n @for (column of formattedColumns; track $index; let i = $index) {\n <td\n [ngStyle]=\"column.style\"\n (click)=\"column.onColumnClick ? column.onColumnClick(rowValue) : null\"\n >\n @if (column.type !== 'TOKENS' || !isArray(column.columnValue)) {\n <div [ngClass]=\"{ 'compact-column': column.compact }\">\n @if (column.type !== 'LINK') {\n <span\n [sTooltip]=\"column.tooltip\"\n [escape]=\"false\"\n >\n <ng-container *ngTemplateOutlet=\"columnValueTemplate\"></ng-container>\n </span>\n }\n\n @if (column.type === 'LINK') {\n @if (cellsData[i]?.[0]?.isUninformed) {\n <span class=\"sds-empty-value\">{{ cellsData[i]?.[0]?.value }}</span>\n } @else {\n <a\n [sTooltip]=\"column.tooltip\"\n [escape]=\"false\"\n (click)=\"column.onLinkClick ? column.onLinkClick(rowValue) : null\"\n >\n <ng-container *ngTemplateOutlet=\"columnValueTemplate\"></ng-container>\n </a>\n }\n }\n\n <ng-template #columnValueTemplate>\n @for (cellData of cellsData[i]; track $index) {\n @if (cellData.isUninformed) {\n <span class=\"sds-empty-value\">{{ cellData.value }}</span>\n } @else {\n @if (column.badgeConfigs) {\n <s-badge\n [sTooltip]=\"column.tooltip\"\n [color]=\"column.badgeConfigs.color\"\n [text]=\"cellData.value\"\n ></s-badge>\n } @else {\n <span\n [ngClass]=\"{\n 'column-cell-red': column.color === 'Red',\n 'column-cell-orange': column.color === 'Orange',\n 'column-cell-yellow': column.color === 'Yellow',\n 'column-cell-green': column.color === 'Green',\n 'column-cell-blue': column.color === 'Blue',\n }\"\n >{{ cellData.value }}</span\n >\n }\n }\n\n @if (cellData.separator) {\n <span>{{ cellData.separator }}</span>\n }\n }\n\n @if (!!column.infoSign) {\n <span *sInfoSign=\"column.infoSign\"></span>\n }\n </ng-template>\n </div>\n } @else {\n <s-token-list\n [tokens]=\"getTokensByColumn(column)\"\n [hidePointerEvents]=\"true\"\n ></s-token-list>\n\n @if (!!column.infoSign) {\n <span *sInfoSign=\"column.infoSign\"></span>\n }\n }\n </td>\n }\n</ng-template>\n\n", styles: [":host{display:none}.compact-column{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.column-cell-red{color:#c13018}.column-cell-orange{color:#f8931f}.column-cell-yellow{color:#fcbf10}.column-cell-green{color:#0c9348}.column-cell-blue{color:#428bca}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BadgeComponent, selector: "s-badge", inputs: ["type", "color", "title", "text", "selectable", "iconClass", "iconPosition", "infoSign", "enableTruncateText"], outputs: ["selected"] }, { kind: "directive", type: InfoSignDirective, selector: "[sInfoSign]", inputs: ["sInfoSign", "sInfoSignDisplayTime", "sInfoSignFocusedInputRef", "sInfoSignUseFocusedInputRef"] }, { kind: "component", type: TokenListComponent, selector: "s-token-list", inputs: ["id", "tokens", "removableTokens", "hidePointerEvents"], outputs: ["tokenSelected", "tokenRemoved"] }] });
|
|
306
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TableColumnsComponent, isStandalone: true, selector: "s-table-columns", inputs: { columns: "columns", rowValue: "rowValue", locale: "locale" }, viewQueries: [{ propertyName: "columnsTemplate", first: true, predicate: ["columnsTemplate"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #columnsTemplate>\n @for (column of formattedColumns; track $index; let i = $index) {\n <td\n [ngStyle]=\"column.style\"\n (click)=\"column.onColumnClick ? column.onColumnClick(rowValue) : null\"\n >\n @if (column.type !== 'TOKENS' || !isArray(column.columnValue)) {\n <div [ngClass]=\"{ 'compact-column': column.compact }\">\n @if (column.type !== 'LINK') {\n <span\n [sTooltip]=\"column.tooltip\"\n [escape]=\"false\"\n >\n <ng-container *ngTemplateOutlet=\"columnValueTemplate\"></ng-container>\n </span>\n }\n\n @if (column.type === 'LINK') {\n @if (cellsData[i]?.[0]?.isUninformed) {\n <span class=\"sds-empty-value\">{{ cellsData[i]?.[0]?.value }}</span>\n } @else {\n <a\n [sTooltip]=\"column.tooltip\"\n [escape]=\"false\"\n (click)=\"column.onLinkClick ? column.onLinkClick(rowValue) : null\"\n >\n <ng-container *ngTemplateOutlet=\"columnValueTemplate\"></ng-container>\n </a>\n }\n }\n\n <ng-template #columnValueTemplate>\n @for (cellData of cellsData[i]; track $index) {\n @if (cellData.isUninformed) {\n <span class=\"sds-empty-value\">{{ cellData.value }}</span>\n } @else {\n @if (column.badgeConfigs) {\n <s-badge\n [sTooltip]=\"column.tooltip\"\n [color]=\"column.badgeConfigs.color\"\n [text]=\"cellData.value\"\n ></s-badge>\n } @else {\n <span\n [ngClass]=\"{\n 'column-cell-red': column.color === 'Red',\n 'column-cell-orange': column.color === 'Orange',\n 'column-cell-yellow': column.color === 'Yellow',\n 'column-cell-green': column.color === 'Green',\n 'column-cell-blue': column.color === 'Blue',\n }\"\n >{{ cellData.value }}</span\n >\n }\n }\n\n @if (cellData.separator) {\n <span>{{ cellData.separator }}</span>\n }\n }\n\n @if (!!column.infoSign) {\n <span *sInfoSign=\"column.infoSign\"></span>\n }\n </ng-template>\n </div>\n } @else {\n <s-token-list\n [tokens]=\"getTokensByColumn(column)\"\n [hidePointerEvents]=\"true\"\n ></s-token-list>\n\n @if (!!column.infoSign) {\n <span *sInfoSign=\"column.infoSign\"></span>\n }\n }\n </td>\n }\n</ng-template>\n\n", styles: [":host{display:none}.compact-column{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.column-cell-red{color:#c13018}.column-cell-orange{color:#f8931f}.column-cell-yellow{color:#fcbf10}.column-cell-green{color:#0c9348}.column-cell-blue{color:#428bca}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BadgeComponent, selector: "s-badge", inputs: ["type", "color", "title", "text", "selectable", "iconClass", "iconPosition", "infoSign", "enableTruncateText"], outputs: ["selected"] }, { kind: "directive", type: InfoSignDirective, selector: "[sInfoSign]", inputs: ["sInfoSign", "sInfoSignDisplayTime", "sInfoSignFocusedInputRef", "sInfoSignUseFocusedInputRef"] }, { kind: "component", type: TokenListComponent, selector: "s-token-list", inputs: ["id", "tokens", "removableTokens", "hidePointerEvents", "removeIconClass"], outputs: ["tokenSelected", "tokenRemoved"] }] });
|
|
307
307
|
}
|
|
308
308
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableColumnsComponent, decorators: [{
|
|
309
309
|
type: Component,
|