@seniorsistemas/angular-components 17.25.10 → 17.26.0
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/bundles/seniorsistemas-angular-components.umd.js +586 -66
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/components/dynamic-form/configurations/fields/text-area-field.d.ts +2 -0
- package/components/index.d.ts +1 -0
- package/components/speech-recognition/speech-recognition/speech-recognition.component.d.ts +50 -0
- package/components/speech-recognition/speech-recognition.module.d.ts +2 -0
- package/components/speech-recognition/speech-recognition.service.d.ts +18 -0
- package/components/speech-recognition/text-to-speech.service.d.ts +22 -0
- package/components/text-area/index.d.ts +2 -0
- package/components/text-area/text-area/text-area.component.d.ts +24 -0
- package/components/text-area/text-area.module.d.ts +2 -0
- package/esm2015/components/dynamic-form/components/fields/text-area/text-area-field.component.js +2 -2
- package/esm2015/components/dynamic-form/configurations/fields/text-area-field.js +3 -1
- package/esm2015/components/dynamic-form/dynamic-form.module.js +3 -1
- package/esm2015/components/index.js +2 -1
- package/esm2015/components/speech-recognition/speech-recognition/speech-recognition.component.js +202 -0
- package/esm2015/components/speech-recognition/speech-recognition.module.js +19 -0
- package/esm2015/components/speech-recognition/speech-recognition.service.js +102 -0
- package/esm2015/components/speech-recognition/text-to-speech.service.js +75 -0
- package/esm2015/components/text-area/index.js +3 -0
- package/esm2015/components/text-area/text-area/text-area.component.js +87 -0
- package/esm2015/components/text-area/text-area.module.js +24 -0
- package/esm2015/components/timeline/components/timeline-icon-item/timeline-icon-item.component.js +3 -3
- package/esm2015/components/timeline/models/timeline-item.js +3 -3
- package/esm2015/locale/fallback.js +6 -2
- package/esm2015/seniorsistemas-angular-components.js +65 -61
- package/esm5/components/dynamic-form/components/fields/text-area/text-area-field.component.js +2 -2
- package/esm5/components/dynamic-form/configurations/fields/text-area-field.js +3 -1
- package/esm5/components/dynamic-form/dynamic-form.module.js +3 -1
- package/esm5/components/index.js +2 -1
- package/esm5/components/speech-recognition/speech-recognition/speech-recognition.component.js +216 -0
- package/esm5/components/speech-recognition/speech-recognition.module.js +22 -0
- package/esm5/components/speech-recognition/speech-recognition.service.js +104 -0
- package/esm5/components/speech-recognition/text-to-speech.service.js +83 -0
- package/esm5/components/text-area/index.js +3 -0
- package/esm5/components/text-area/text-area/text-area.component.js +94 -0
- package/esm5/components/text-area/text-area.module.js +27 -0
- package/esm5/components/timeline/components/timeline-icon-item/timeline-icon-item.component.js +3 -3
- package/esm5/components/timeline/models/timeline-item.js +3 -3
- package/esm5/locale/fallback.js +6 -2
- package/esm5/seniorsistemas-angular-components.js +65 -61
- package/fesm2015/seniorsistemas-angular-components.js +485 -8
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +522 -8
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/seniorsistemas-angular-components.d.ts +64 -60
- package/seniorsistemas-angular-components.metadata.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate, __awaiter, __param, __rest } from 'tslib';
|
|
2
|
-
import { EventEmitter, Input, Output, Component, ContentChildren, ViewChild, HostListener, forwardRef, NgModule, ɵɵdefineInjectable, Injectable, ElementRef, ApplicationRef, ComponentFactoryResolver, Injector, Renderer2, Directive, TemplateRef, ViewContainerRef, KeyValueDiffers, HostBinding, ChangeDetectorRef, ViewChildren, Pipe, ɵɵinject, InjectionToken, Inject, PLATFORM_ID, ViewEncapsulation, INJECTOR, ContentChild, Optional } from '@angular/core';
|
|
2
|
+
import { EventEmitter, Input, Output, Component, ContentChildren, ViewChild, HostListener, forwardRef, NgModule, ɵɵdefineInjectable, Injectable, ElementRef, ApplicationRef, ComponentFactoryResolver, Injector, Renderer2, Directive, TemplateRef, ViewContainerRef, KeyValueDiffers, HostBinding, ChangeDetectorRef, ViewChildren, Pipe, ɵɵinject, InjectionToken, Inject, PLATFORM_ID, ViewEncapsulation, INJECTOR, ContentChild, NgZone, Optional } from '@angular/core';
|
|
3
3
|
import { trigger, transition, style as style$7, animate, state, group, query, animateChild } from '@angular/animations';
|
|
4
4
|
import { Subject, of, from, ReplaySubject, throwError, fromEvent, forkJoin, pipe } from 'rxjs';
|
|
5
5
|
import { takeUntil, tap, map, switchMap, catchError, first, filter, take, delay, debounceTime, repeat, finalize } from 'rxjs/operators';
|
|
@@ -6581,12 +6581,14 @@ class SliderField extends Field {
|
|
|
6581
6581
|
|
|
6582
6582
|
class TextAreaField extends Field {
|
|
6583
6583
|
constructor(config) {
|
|
6584
|
+
var _a;
|
|
6584
6585
|
super(config);
|
|
6585
6586
|
this.cols = config.cols;
|
|
6586
6587
|
this.rows = config.rows;
|
|
6587
6588
|
this.keyFilter = config.keyFilter;
|
|
6588
6589
|
this.style = config.style;
|
|
6589
6590
|
this.readonly = config.readonly;
|
|
6591
|
+
this.speechRecognition = (_a = config.speechRecognition) !== null && _a !== void 0 ? _a : false;
|
|
6590
6592
|
}
|
|
6591
6593
|
}
|
|
6592
6594
|
|
|
@@ -10646,7 +10648,7 @@ __decorate([
|
|
|
10646
10648
|
], TextAreaFieldComponent.prototype, "inputRef", void 0);
|
|
10647
10649
|
TextAreaFieldComponent = __decorate([
|
|
10648
10650
|
Component({
|
|
10649
|
-
template: "<s-field-label *ngIf=\"
|
|
10651
|
+
template: "<s-field-label *ngIf=\"textArea\" [field]=\"field\"\n [fieldContainerRef]=\"textArea.textAreaElement?.nativeElement\"></s-field-label>\n\n<s-textarea\n #textArea\n [inputId]=\"(field.id || field.name)\"\n [rows]=\"field.rows\"\n [formControl]=\"formControl\"\n style=\"resize: vertical;\"\n [inputStyle]=\"field.style\"\n [readOnly]=\"field.readonly ? field.readonly() : false\"\n [keyFilter]=\"field.keyFilter\"\n [speechRecognition]=\"field.speechRecognition\">\n</s-textarea>\n"
|
|
10650
10652
|
})
|
|
10651
10653
|
], TextAreaFieldComponent);
|
|
10652
10654
|
|
|
@@ -12422,6 +12424,476 @@ TextFieldModule = __decorate([
|
|
|
12422
12424
|
})
|
|
12423
12425
|
], TextFieldModule);
|
|
12424
12426
|
|
|
12427
|
+
var TextAreaComponent_1;
|
|
12428
|
+
let TextAreaComponent = TextAreaComponent_1 = class TextAreaComponent {
|
|
12429
|
+
constructor() {
|
|
12430
|
+
this.onChange = () => { };
|
|
12431
|
+
this.onTouched = () => { };
|
|
12432
|
+
this.disabled = false;
|
|
12433
|
+
this.value = '';
|
|
12434
|
+
this.inputId = `textarea-${Math.random()}`;
|
|
12435
|
+
this.rows = 5;
|
|
12436
|
+
this.speechRecognition = false;
|
|
12437
|
+
this.readOnly = false;
|
|
12438
|
+
this.renderTextArea = false;
|
|
12439
|
+
}
|
|
12440
|
+
get textAreaElement() {
|
|
12441
|
+
return this._textAreaElement;
|
|
12442
|
+
}
|
|
12443
|
+
set textAreaElement(value) {
|
|
12444
|
+
this._textAreaElement = value;
|
|
12445
|
+
setTimeout(() => {
|
|
12446
|
+
this.renderTextArea = true;
|
|
12447
|
+
});
|
|
12448
|
+
}
|
|
12449
|
+
writeValue(obj) {
|
|
12450
|
+
this.value = obj;
|
|
12451
|
+
}
|
|
12452
|
+
registerOnChange(fn) {
|
|
12453
|
+
this.onChange = fn;
|
|
12454
|
+
}
|
|
12455
|
+
registerOnTouched(fn) {
|
|
12456
|
+
this.onTouched = fn;
|
|
12457
|
+
}
|
|
12458
|
+
setDisabledState(isDisabled) {
|
|
12459
|
+
this.disabled = isDisabled;
|
|
12460
|
+
}
|
|
12461
|
+
setValue(value) {
|
|
12462
|
+
if (this.disabled) {
|
|
12463
|
+
return;
|
|
12464
|
+
}
|
|
12465
|
+
this.value = value;
|
|
12466
|
+
this.writeValue(this.value);
|
|
12467
|
+
this.onChange(this.value);
|
|
12468
|
+
this.onTouched(this.value);
|
|
12469
|
+
}
|
|
12470
|
+
handleRecognizedText(recognizedText) {
|
|
12471
|
+
this.setValue(recognizedText);
|
|
12472
|
+
}
|
|
12473
|
+
};
|
|
12474
|
+
__decorate([
|
|
12475
|
+
ViewChild('textArea', { read: ElementRef })
|
|
12476
|
+
], TextAreaComponent.prototype, "textAreaElement", null);
|
|
12477
|
+
__decorate([
|
|
12478
|
+
Input()
|
|
12479
|
+
], TextAreaComponent.prototype, "inputId", void 0);
|
|
12480
|
+
__decorate([
|
|
12481
|
+
Input()
|
|
12482
|
+
], TextAreaComponent.prototype, "rows", void 0);
|
|
12483
|
+
__decorate([
|
|
12484
|
+
Input()
|
|
12485
|
+
], TextAreaComponent.prototype, "speechRecognition", void 0);
|
|
12486
|
+
__decorate([
|
|
12487
|
+
Input()
|
|
12488
|
+
], TextAreaComponent.prototype, "keyFilter", void 0);
|
|
12489
|
+
__decorate([
|
|
12490
|
+
Input()
|
|
12491
|
+
], TextAreaComponent.prototype, "inputStyle", void 0);
|
|
12492
|
+
__decorate([
|
|
12493
|
+
Input()
|
|
12494
|
+
], TextAreaComponent.prototype, "readOnly", void 0);
|
|
12495
|
+
TextAreaComponent = TextAreaComponent_1 = __decorate([
|
|
12496
|
+
Component({
|
|
12497
|
+
selector: 's-textarea',
|
|
12498
|
+
template: "<textarea\n *ngIf=\"keyFilter\"\n #textArea\n class=\"textarea\"\n [pKeyFilter]=\"keyFilter\"\n [id]=\"inputId\"\n [rows]=\"rows\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [ngStyle]=\"inputStyle\"\n [readOnly]=\"readOnly\"\n (ngModelChange)=\"setValue($event)\">\n</textarea>\n\n<textarea\n *ngIf=\"!keyFilter\"\n #textArea\n class=\"textarea\"\n [id]=\"inputId\"\n [rows]=\"rows\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [ngStyle]=\"inputStyle\"\n [readOnly]=\"readOnly\"\n (ngModelChange)=\"setValue($event)\">\n</textarea>\n\n<s-speech-recognition\n *ngIf=\"speechRecognition && renderTextArea\"\n [textAreaElement]=\"textAreaElement.nativeElement\"\n (recognizedText)=\"handleRecognizedText($event)\">\n</s-speech-recognition>\n",
|
|
12499
|
+
providers: [
|
|
12500
|
+
{
|
|
12501
|
+
provide: NG_VALUE_ACCESSOR,
|
|
12502
|
+
useExisting: forwardRef(() => TextAreaComponent_1),
|
|
12503
|
+
multi: true,
|
|
12504
|
+
},
|
|
12505
|
+
],
|
|
12506
|
+
styles: [".textarea{border-radius:3px;border:1px solid #c1c1cc;background:#fff;width:100%;max-width:100%;min-height:4em;min-width:10em;outline:0;padding:8px;display:block}.textarea:disabled{opacity:.5}"]
|
|
12507
|
+
})
|
|
12508
|
+
], TextAreaComponent);
|
|
12509
|
+
|
|
12510
|
+
let SpeechRecognitionService = class SpeechRecognitionService {
|
|
12511
|
+
constructor(localeService, ngZone) {
|
|
12512
|
+
this.localeService = localeService;
|
|
12513
|
+
this.ngZone = ngZone;
|
|
12514
|
+
this.isListening = false;
|
|
12515
|
+
this.TIMEOUT_NO_MESSAGE = 3000;
|
|
12516
|
+
this.setRecognition();
|
|
12517
|
+
}
|
|
12518
|
+
listen() {
|
|
12519
|
+
if (this.isListening) {
|
|
12520
|
+
return;
|
|
12521
|
+
}
|
|
12522
|
+
const speechSubject = new Subject();
|
|
12523
|
+
this.isListening = true;
|
|
12524
|
+
this.recognition.continuous = true;
|
|
12525
|
+
this.recognition.interimResults = true;
|
|
12526
|
+
this.recognition.maxAlternatives = 1;
|
|
12527
|
+
let silenceTimer;
|
|
12528
|
+
const restartSilenceTimer = () => {
|
|
12529
|
+
if (silenceTimer !== undefined) {
|
|
12530
|
+
clearTimeout(silenceTimer);
|
|
12531
|
+
}
|
|
12532
|
+
silenceTimer = setTimeout(() => {
|
|
12533
|
+
this.recognition.stop();
|
|
12534
|
+
}, this.TIMEOUT_NO_MESSAGE);
|
|
12535
|
+
};
|
|
12536
|
+
let fullTranscript = '';
|
|
12537
|
+
let interimTranscript = '';
|
|
12538
|
+
this.recognition.onresult = (event) => {
|
|
12539
|
+
this.ngZone.run(() => {
|
|
12540
|
+
restartSilenceTimer();
|
|
12541
|
+
let interimTranscript = '';
|
|
12542
|
+
for (let i = event.resultIndex; i < event.results.length; ++i) {
|
|
12543
|
+
const transcript = event.results[i][0].transcript;
|
|
12544
|
+
if (event.results[i].isFinal) {
|
|
12545
|
+
fullTranscript += transcript + '\n';
|
|
12546
|
+
}
|
|
12547
|
+
else {
|
|
12548
|
+
interimTranscript += transcript;
|
|
12549
|
+
}
|
|
12550
|
+
}
|
|
12551
|
+
interimTranscript = interimTranscript;
|
|
12552
|
+
speechSubject.next({ text: fullTranscript + interimTranscript, isFinal: false });
|
|
12553
|
+
});
|
|
12554
|
+
};
|
|
12555
|
+
this.recognition.onerror = () => {
|
|
12556
|
+
this.ngZone.run(() => {
|
|
12557
|
+
if (silenceTimer !== undefined) {
|
|
12558
|
+
clearTimeout(silenceTimer);
|
|
12559
|
+
}
|
|
12560
|
+
this.isListening = false;
|
|
12561
|
+
speechSubject.next({
|
|
12562
|
+
isFinal: true,
|
|
12563
|
+
text: ''
|
|
12564
|
+
});
|
|
12565
|
+
});
|
|
12566
|
+
};
|
|
12567
|
+
this.recognition.onend = () => {
|
|
12568
|
+
this.ngZone.run(() => {
|
|
12569
|
+
if (silenceTimer !== undefined) {
|
|
12570
|
+
clearTimeout(silenceTimer);
|
|
12571
|
+
}
|
|
12572
|
+
speechSubject.next({ text: fullTranscript + interimTranscript, isFinal: true });
|
|
12573
|
+
this.isListening = false;
|
|
12574
|
+
speechSubject.complete();
|
|
12575
|
+
});
|
|
12576
|
+
};
|
|
12577
|
+
this.recognition.start();
|
|
12578
|
+
return speechSubject;
|
|
12579
|
+
}
|
|
12580
|
+
stop() {
|
|
12581
|
+
this.recognition.stop();
|
|
12582
|
+
}
|
|
12583
|
+
setRecognition() {
|
|
12584
|
+
const SpeechRecognitionConstructor = window.SpeechRecognition || window.webkitSpeechRecognition;
|
|
12585
|
+
if (!SpeechRecognitionConstructor) {
|
|
12586
|
+
throw new Error('Speech recognition is not supported in this browser.');
|
|
12587
|
+
}
|
|
12588
|
+
this.recognition = new SpeechRecognitionConstructor();
|
|
12589
|
+
this.recognition.lang = this.localeService.getLocaleOptions().locale || 'pt-BR';
|
|
12590
|
+
this.recognition.interimResults = false;
|
|
12591
|
+
this.recognition.maxAlternatives = 1;
|
|
12592
|
+
}
|
|
12593
|
+
};
|
|
12594
|
+
SpeechRecognitionService.ctorParameters = () => [
|
|
12595
|
+
{ type: LocaleService },
|
|
12596
|
+
{ type: NgZone }
|
|
12597
|
+
];
|
|
12598
|
+
SpeechRecognitionService.ɵprov = ɵɵdefineInjectable({ factory: function SpeechRecognitionService_Factory() { return new SpeechRecognitionService(ɵɵinject(LocaleService), ɵɵinject(NgZone)); }, token: SpeechRecognitionService, providedIn: "root" });
|
|
12599
|
+
SpeechRecognitionService = __decorate([
|
|
12600
|
+
Injectable({
|
|
12601
|
+
providedIn: 'root'
|
|
12602
|
+
})
|
|
12603
|
+
], SpeechRecognitionService);
|
|
12604
|
+
|
|
12605
|
+
let TextToSpeechService = class TextToSpeechService {
|
|
12606
|
+
constructor(locale, ngZone) {
|
|
12607
|
+
this.locale = locale;
|
|
12608
|
+
this.ngZone = ngZone;
|
|
12609
|
+
this.utterance = new SpeechSynthesisUtterance();
|
|
12610
|
+
this.voices = [];
|
|
12611
|
+
this.setVoices();
|
|
12612
|
+
}
|
|
12613
|
+
setVoices() {
|
|
12614
|
+
let _voices = speechSynthesis.getVoices();
|
|
12615
|
+
if (!_voices.length) {
|
|
12616
|
+
speechSynthesis.onvoiceschanged = () => {
|
|
12617
|
+
this.ngZone.run(() => {
|
|
12618
|
+
_voices = speechSynthesis.getVoices();
|
|
12619
|
+
const currentLang = this.locale.getLocaleOptions().locale || 'pt-BR';
|
|
12620
|
+
this.voices = _voices.filter((voice) => voice.lang === currentLang);
|
|
12621
|
+
this.activeVoice = this.voices[0];
|
|
12622
|
+
});
|
|
12623
|
+
};
|
|
12624
|
+
}
|
|
12625
|
+
}
|
|
12626
|
+
/**
|
|
12627
|
+
* Updates the active voice
|
|
12628
|
+
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisVoice/voiceURI)
|
|
12629
|
+
* @param voiceUri
|
|
12630
|
+
*/
|
|
12631
|
+
updateVoice(voiceUri) {
|
|
12632
|
+
this.activeVoice = this.voices.find((voice) => voice.voiceURI === voiceUri);
|
|
12633
|
+
}
|
|
12634
|
+
speak(text, speed = 1) {
|
|
12635
|
+
if (!this.activeVoice) {
|
|
12636
|
+
return;
|
|
12637
|
+
}
|
|
12638
|
+
return new Promise((resolve) => {
|
|
12639
|
+
this.utterance.text = text;
|
|
12640
|
+
this.utterance.voice = this.activeVoice;
|
|
12641
|
+
this.utterance.rate = speed;
|
|
12642
|
+
speechSynthesis.speak(this.utterance);
|
|
12643
|
+
this.utterance.onend = () => {
|
|
12644
|
+
this.ngZone.run(() => {
|
|
12645
|
+
resolve(true);
|
|
12646
|
+
});
|
|
12647
|
+
};
|
|
12648
|
+
});
|
|
12649
|
+
}
|
|
12650
|
+
pause() {
|
|
12651
|
+
speechSynthesis.pause();
|
|
12652
|
+
}
|
|
12653
|
+
resume() {
|
|
12654
|
+
speechSynthesis.resume();
|
|
12655
|
+
}
|
|
12656
|
+
cancel() {
|
|
12657
|
+
speechSynthesis.cancel();
|
|
12658
|
+
}
|
|
12659
|
+
get hasVoice() {
|
|
12660
|
+
return !!this.activeVoice;
|
|
12661
|
+
}
|
|
12662
|
+
};
|
|
12663
|
+
TextToSpeechService.ctorParameters = () => [
|
|
12664
|
+
{ type: LocaleService },
|
|
12665
|
+
{ type: NgZone }
|
|
12666
|
+
];
|
|
12667
|
+
TextToSpeechService.ɵprov = ɵɵdefineInjectable({ factory: function TextToSpeechService_Factory() { return new TextToSpeechService(ɵɵinject(LocaleService), ɵɵinject(NgZone)); }, token: TextToSpeechService, providedIn: "root" });
|
|
12668
|
+
TextToSpeechService = __decorate([
|
|
12669
|
+
Injectable({
|
|
12670
|
+
providedIn: 'root'
|
|
12671
|
+
})
|
|
12672
|
+
], TextToSpeechService);
|
|
12673
|
+
|
|
12674
|
+
let SpeechRecognitionComponent = class SpeechRecognitionComponent {
|
|
12675
|
+
constructor(speechRecognitionService, textToSpeechService, translateService) {
|
|
12676
|
+
this.speechRecognitionService = speechRecognitionService;
|
|
12677
|
+
this.textToSpeechService = textToSpeechService;
|
|
12678
|
+
this.translateService = translateService;
|
|
12679
|
+
this._recognizedText = '';
|
|
12680
|
+
this.originalTextAreaElementText = '';
|
|
12681
|
+
this.isDoneSpeaking = false;
|
|
12682
|
+
this.onDestroy$ = new Subject();
|
|
12683
|
+
this.VOICE_SPEEDS = [0.5, 1, 1.5, 2];
|
|
12684
|
+
this.SPEECH_RECOGNITION_MARGIN_OFFSET = 13;
|
|
12685
|
+
this.keydownEventListener = (event) => {
|
|
12686
|
+
if (this.disabled) {
|
|
12687
|
+
event.preventDefault();
|
|
12688
|
+
}
|
|
12689
|
+
};
|
|
12690
|
+
this.TEXT_AREA_ELEMENT_MUTATION_OBSERVER = new MutationObserver(() => {
|
|
12691
|
+
this.SPEECH_CONTAINER_WIDTH_CALLBACK();
|
|
12692
|
+
});
|
|
12693
|
+
this.SPEECH_CONTAINER_WIDTH_CALLBACK = () => {
|
|
12694
|
+
this.setSpeechContainerWidth();
|
|
12695
|
+
};
|
|
12696
|
+
this.speechRecognitionContainerWidth = 0;
|
|
12697
|
+
this.disabled = false;
|
|
12698
|
+
this.isSpeaking = false;
|
|
12699
|
+
this.voiceSpeed = 1;
|
|
12700
|
+
this.isDisabledMicrophone = false;
|
|
12701
|
+
this.canRenderMicrophone = true;
|
|
12702
|
+
this.canRenderTextToSpeech = true;
|
|
12703
|
+
this.canRenderListeningText = false;
|
|
12704
|
+
this.canRenderDiscard = false;
|
|
12705
|
+
this.canRenderAprove = false;
|
|
12706
|
+
this.canRenderTextToSpeechToolbar = false;
|
|
12707
|
+
this.isPlayingTextToSpeech = false;
|
|
12708
|
+
this.recognizedText = new EventEmitter();
|
|
12709
|
+
}
|
|
12710
|
+
ngOnInit() {
|
|
12711
|
+
if (!this.textAreaElement) {
|
|
12712
|
+
throw new Error('textAreaElement is required');
|
|
12713
|
+
}
|
|
12714
|
+
this.textAreaElement.placeholder = this.translateService.instant("platform.angular_components.text_area_speech_recognition_placeholder");
|
|
12715
|
+
this.textAreaElement.addEventListener('keydown', this.keydownEventListener);
|
|
12716
|
+
const config = { attributes: true, childList: true, subtree: true };
|
|
12717
|
+
this.TEXT_AREA_ELEMENT_MUTATION_OBSERVER.observe(this.textAreaElement, config);
|
|
12718
|
+
window.addEventListener('resize', this.SPEECH_CONTAINER_WIDTH_CALLBACK);
|
|
12719
|
+
}
|
|
12720
|
+
ngAfterViewInit() {
|
|
12721
|
+
setTimeout(() => {
|
|
12722
|
+
this.setSpeechContainerWidth();
|
|
12723
|
+
});
|
|
12724
|
+
}
|
|
12725
|
+
onListen() {
|
|
12726
|
+
if (this.isDisabledMicrophone || this.isListening) {
|
|
12727
|
+
return;
|
|
12728
|
+
}
|
|
12729
|
+
this.disabled = true;
|
|
12730
|
+
this.canRenderMicrophone = false;
|
|
12731
|
+
this.canRenderListeningText = true;
|
|
12732
|
+
if (this.textAreaElement.value && !this.originalTextAreaElementText) {
|
|
12733
|
+
this.originalTextAreaElementText = this.textAreaElement.value;
|
|
12734
|
+
}
|
|
12735
|
+
this.textAreaElement.value = '';
|
|
12736
|
+
this.isSpeaking = true;
|
|
12737
|
+
this.speechRecognitionService.listen()
|
|
12738
|
+
.pipe(takeUntil(this.onDestroy$))
|
|
12739
|
+
.subscribe(({ text, isFinal }) => {
|
|
12740
|
+
this._recognizedText = text;
|
|
12741
|
+
this.setTextAreaValue(text);
|
|
12742
|
+
setTimeout(() => {
|
|
12743
|
+
this.textAreaElement.scrollTop = this.textAreaElement.scrollHeight;
|
|
12744
|
+
}, 120);
|
|
12745
|
+
if (isFinal) {
|
|
12746
|
+
this.canRenderAprove = true;
|
|
12747
|
+
this.canRenderDiscard = true;
|
|
12748
|
+
this.canRenderListeningText = false;
|
|
12749
|
+
this.isSpeaking = false;
|
|
12750
|
+
}
|
|
12751
|
+
});
|
|
12752
|
+
}
|
|
12753
|
+
onOpenToolbar() {
|
|
12754
|
+
if (this.isDisabledTextToSpeech) {
|
|
12755
|
+
return;
|
|
12756
|
+
}
|
|
12757
|
+
this.canRenderTextToSpeechToolbar = true;
|
|
12758
|
+
this.canRenderTextToSpeech = false;
|
|
12759
|
+
this.isPlayingTextToSpeech = true;
|
|
12760
|
+
this.speak();
|
|
12761
|
+
}
|
|
12762
|
+
onCloseToolbar() {
|
|
12763
|
+
this.canRenderTextToSpeechToolbar = false;
|
|
12764
|
+
this.canRenderTextToSpeech = true;
|
|
12765
|
+
this.isPlayingTextToSpeech = false;
|
|
12766
|
+
this.textToSpeechService.cancel();
|
|
12767
|
+
this.voiceSpeed = 1;
|
|
12768
|
+
}
|
|
12769
|
+
onDiscard() {
|
|
12770
|
+
this.canRenderAprove = false;
|
|
12771
|
+
this.canRenderDiscard = false;
|
|
12772
|
+
this.canRenderMicrophone = true;
|
|
12773
|
+
this.canRenderTextToSpeechToolbar = false;
|
|
12774
|
+
this.canRenderTextToSpeech = true;
|
|
12775
|
+
this._recognizedText = '';
|
|
12776
|
+
this.setTextAreaValue(this.originalTextAreaElementText);
|
|
12777
|
+
this.disabled = false;
|
|
12778
|
+
this.textToSpeechService.cancel();
|
|
12779
|
+
}
|
|
12780
|
+
onAprove() {
|
|
12781
|
+
this.canRenderAprove = false;
|
|
12782
|
+
this.canRenderDiscard = false;
|
|
12783
|
+
this.canRenderMicrophone = true;
|
|
12784
|
+
this.canRenderTextToSpeechToolbar = false;
|
|
12785
|
+
this.canRenderTextToSpeech = true;
|
|
12786
|
+
this.originalTextAreaElementText = this._recognizedText;
|
|
12787
|
+
this.recognizedText.emit(this._recognizedText);
|
|
12788
|
+
this._recognizedText = '';
|
|
12789
|
+
this.disabled = false;
|
|
12790
|
+
this.textToSpeechService.cancel();
|
|
12791
|
+
}
|
|
12792
|
+
ngOnDestroy() {
|
|
12793
|
+
this.onDestroy$.next();
|
|
12794
|
+
this.onDestroy$.complete();
|
|
12795
|
+
this.textAreaElement.removeEventListener('keydown', this.keydownEventListener);
|
|
12796
|
+
window.removeEventListener('resize', this.SPEECH_CONTAINER_WIDTH_CALLBACK);
|
|
12797
|
+
this.TEXT_AREA_ELEMENT_MUTATION_OBSERVER.disconnect();
|
|
12798
|
+
}
|
|
12799
|
+
toggleTextToSpeech() {
|
|
12800
|
+
if (this.isPlayingTextToSpeech) {
|
|
12801
|
+
this.textToSpeechService.pause();
|
|
12802
|
+
}
|
|
12803
|
+
else {
|
|
12804
|
+
if (this.isDoneSpeaking) {
|
|
12805
|
+
this.speak();
|
|
12806
|
+
}
|
|
12807
|
+
else {
|
|
12808
|
+
this.textToSpeechService.resume();
|
|
12809
|
+
}
|
|
12810
|
+
}
|
|
12811
|
+
this.isPlayingTextToSpeech = !this.isPlayingTextToSpeech;
|
|
12812
|
+
}
|
|
12813
|
+
restartTextToSpeech() {
|
|
12814
|
+
this.isPlayingTextToSpeech = true;
|
|
12815
|
+
this.textToSpeechService.cancel();
|
|
12816
|
+
this.speak();
|
|
12817
|
+
}
|
|
12818
|
+
updateVoiceSpeed() {
|
|
12819
|
+
const voiceSpeedIndex = this.VOICE_SPEEDS.indexOf(this.voiceSpeed);
|
|
12820
|
+
const nextVoiceSpeedIndex = this.VOICE_SPEEDS[voiceSpeedIndex + 1] ? voiceSpeedIndex + 1 : 0;
|
|
12821
|
+
this.voiceSpeed = this.VOICE_SPEEDS[nextVoiceSpeedIndex];
|
|
12822
|
+
this.textToSpeechService.cancel();
|
|
12823
|
+
this.speak();
|
|
12824
|
+
}
|
|
12825
|
+
stopListening() {
|
|
12826
|
+
this.speechRecognitionService.stop();
|
|
12827
|
+
}
|
|
12828
|
+
get isListening() {
|
|
12829
|
+
return this.speechRecognitionService.isListening;
|
|
12830
|
+
}
|
|
12831
|
+
get isDisabledTextToSpeech() {
|
|
12832
|
+
const hasTextToSpeechVoice = this.textToSpeechService.hasVoice;
|
|
12833
|
+
return !this._recognizedText || !hasTextToSpeechVoice || this.isListening;
|
|
12834
|
+
}
|
|
12835
|
+
setTextAreaValue(value) {
|
|
12836
|
+
this.textAreaElement.value = value;
|
|
12837
|
+
}
|
|
12838
|
+
speak() {
|
|
12839
|
+
this.isDoneSpeaking = false;
|
|
12840
|
+
this.textToSpeechService.speak(this._recognizedText, this.voiceSpeed).then(() => {
|
|
12841
|
+
this.isPlayingTextToSpeech = false;
|
|
12842
|
+
this.isDoneSpeaking = true;
|
|
12843
|
+
});
|
|
12844
|
+
}
|
|
12845
|
+
setSpeechContainerWidth() {
|
|
12846
|
+
this.speechRecognitionContainerWidth = this.textAreaElement.getBoundingClientRect().width - this.SPEECH_RECOGNITION_MARGIN_OFFSET;
|
|
12847
|
+
}
|
|
12848
|
+
};
|
|
12849
|
+
SpeechRecognitionComponent.ctorParameters = () => [
|
|
12850
|
+
{ type: SpeechRecognitionService },
|
|
12851
|
+
{ type: TextToSpeechService },
|
|
12852
|
+
{ type: TranslateService }
|
|
12853
|
+
];
|
|
12854
|
+
__decorate([
|
|
12855
|
+
Input()
|
|
12856
|
+
], SpeechRecognitionComponent.prototype, "textAreaElement", void 0);
|
|
12857
|
+
__decorate([
|
|
12858
|
+
Output()
|
|
12859
|
+
], SpeechRecognitionComponent.prototype, "recognizedText", void 0);
|
|
12860
|
+
SpeechRecognitionComponent = __decorate([
|
|
12861
|
+
Component({
|
|
12862
|
+
selector: 's-speech-recognition',
|
|
12863
|
+
template: "<section class=\"speech-recognition\" [style.width.px]=\"speechRecognitionContainerWidth\" *ngIf=\"speechRecognitionContainerWidth\">\n <div class=\"speech-recognition-text\">\n <ng-container *ngIf=\"canRenderMicrophone\">\n {{ 'platform.angular_components.text_area_before_speech' | translate }}\n </ng-container>\n\n <ng-container *ngIf=\"isSpeaking\">\n {{ 'platform.angular_components.text_area_while_speech' | translate }}\n </ng-container>\n\n <ng-container *ngIf=\"canRenderAprove && canRenderDiscard\">\n {{ 'platform.angular_components.text_area_end_speech' | translate }}\n </ng-container>\n </div>\n <div class=\"speech-recognition-buttons\">\n <span\n *ngIf=\"canRenderListeningText\"\n (click)=\"stopListening()\"\n class=\"speech-recognition-item speech-recognition-item-regular\">\n <i class=\"far fa-ellipsis-h\"></i>\n </span>\n\n <span\n *ngIf=\"canRenderMicrophone\"\n (click)=\"onListen()\"\n class=\"speech-recognition-item speech-recognition-item-microphone\"\n [class.speech-recognition-item-disabled]=\"isDisabledMicrophone || isListening || disabled\">\n <i class=\"fas fa-microphone\"></i>\n </span>\n\n <span\n *ngIf=\"canRenderAprove\"\n (click)=\"onAprove()\"\n class=\"speech-recognition-item speech-recognition-item-aprove\">\n <i class=\"fas fa-check\"></i>\n </span>\n\n <span *ngIf=\"canRenderDiscard\"\n (click)=\"onDiscard()\"\n class=\"speech-recognition-item speech-recognition-item-discard\">\n <i class=\"fas fa-times\"></i>\n </span>\n\n <span\n *ngIf=\"canRenderTextToSpeech\"\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 <span\n *ngIf=\"canRenderTextToSpeechToolbar\"\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 </div>\n</section>\n",
|
|
12864
|
+
styles: [".speech-recognition{display:-ms-flexbox;display:flex;gap:10px;-ms-flex-pack:justify;justify-content:space-between}.speech-recognition-buttons{display:-ms-flexbox;display:flex;gap:10px;position:relative;bottom:15px}.speech-recognition-item{display:-ms-inline-flexbox;display:inline-flex;height:25px;padding:4px 12px;-ms-flex-pack:center;justify-content:center;-ms-flex-align: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:-ms-flexbox;display:flex;border-radius:15px;-ms-flex-align:center;align-items:center;color:#fff}.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-item-toolbar span{height:25px}.speech-recognition-text{color:#212533;font-size:12px;font-style:normal;font-weight:400;word-break:break-word}"]
|
|
12865
|
+
})
|
|
12866
|
+
], SpeechRecognitionComponent);
|
|
12867
|
+
|
|
12868
|
+
let SpeechRecognitionModule = class SpeechRecognitionModule {
|
|
12869
|
+
};
|
|
12870
|
+
SpeechRecognitionModule = __decorate([
|
|
12871
|
+
NgModule({
|
|
12872
|
+
declarations: [SpeechRecognitionComponent],
|
|
12873
|
+
imports: [
|
|
12874
|
+
CommonModule,
|
|
12875
|
+
TranslateModule
|
|
12876
|
+
],
|
|
12877
|
+
exports: [SpeechRecognitionComponent]
|
|
12878
|
+
})
|
|
12879
|
+
], SpeechRecognitionModule);
|
|
12880
|
+
|
|
12881
|
+
let TextAreaModule = class TextAreaModule {
|
|
12882
|
+
};
|
|
12883
|
+
TextAreaModule = __decorate([
|
|
12884
|
+
NgModule({
|
|
12885
|
+
declarations: [TextAreaComponent],
|
|
12886
|
+
imports: [
|
|
12887
|
+
CommonModule,
|
|
12888
|
+
FormsModule,
|
|
12889
|
+
ReactiveFormsModule,
|
|
12890
|
+
SpeechRecognitionModule,
|
|
12891
|
+
KeyFilterModule
|
|
12892
|
+
],
|
|
12893
|
+
exports: [TextAreaComponent]
|
|
12894
|
+
})
|
|
12895
|
+
], TextAreaModule);
|
|
12896
|
+
|
|
12425
12897
|
let DynamicFormModule = class DynamicFormModule {
|
|
12426
12898
|
};
|
|
12427
12899
|
DynamicFormModule = __decorate([
|
|
@@ -12479,6 +12951,7 @@ DynamicFormModule = __decorate([
|
|
|
12479
12951
|
ProfilePictureModule,
|
|
12480
12952
|
EditorFieldModule,
|
|
12481
12953
|
FieldLabelModule,
|
|
12954
|
+
TextAreaModule
|
|
12482
12955
|
],
|
|
12483
12956
|
declarations: [
|
|
12484
12957
|
AutocompleteFieldComponent,
|
|
@@ -19141,8 +19614,8 @@ __decorate([
|
|
|
19141
19614
|
TimelineIconItemComponent = __decorate([
|
|
19142
19615
|
Component({
|
|
19143
19616
|
selector: "s-timeline-icon-item",
|
|
19144
|
-
template: "<ng-container *ngIf=\"item\">\n <div\n class=\"timeline__icon-item\"\n [ngClass]=\"{\n 'timeline__icon-item--small': item.testSize('small'),\n 'timeline__icon-item--normal': item.testSize('normal'),\n 'timeline__icon-item--warning': item.testSeverity('warning'),\n 'timeline__icon-item--error': item.testSeverity('error'),\n 'timeline__icon-item--completed': isComplete,\n 'timeline__icon-item--active': isActive,\n 'timeline__icon-item--active--highlight': isActive && highlightActive\n }\">\n <div\n class=\"timeline__icon-item__icon\"\n [pTooltip]=\"item.tooltip\"\n tooltipPosition=\"top\"\n [ngStyle]=\"{ backgroundColor: item.color }\">\n <ng-content *ngIf=\"item.icon; then icon_content; else label_text_content\"></ng-content>\n <ng-template #icon_content>\n <span [ngClass]=\"item.icon\"></span>\n </ng-template>\n <ng-template #label_text_content>\n <span class=\"timeline__icon-item__icon__label\">\n {{ item.label }}\n </span>\n </ng-template>\n </div>\n </div>\n</ng-container>\n",
|
|
19145
|
-
styles: [".timeline__icon-item .timeline__icon-item__icon{-ms-flex-align:center;align-items:center;background-color:#697882;border-radius:50%;color:#fff;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;margin:4px;-webkit-user-select:none;-ms-user-select:none;user-select:none}.timeline__icon-item .timeline__icon-item__icon .timeline__icon-item__icon__label{font-family:\"Open Sans\",sans-serif}.timeline__icon-item.timeline__icon-item--small .timeline__icon-item__icon{font-size:0;height:16px;width:16px}.timeline__icon-item.timeline__icon-item--normal .timeline__icon-item__icon{font-size:10px;height:24px;padding:8px;width:24px}.timeline__icon-item.timeline__icon-item--normal .timeline__icon-item__icon .timeline__icon-item__icon__label{font-size:14px}.timeline__icon-item.timeline__icon-item--active--highlight .timeline__icon-item__icon{font-size:20px;height:40px;padding:10px;width:40px}.timeline__icon-item.timeline__icon-item--active--highlight .timeline__icon-item__icon .timeline__icon-item__icon__label{font-size:22px}.timeline__icon-item.timeline__icon-item--active .timeline__icon-item__icon,.timeline__icon-item.timeline__icon-item--completed .timeline__icon-item__icon{background-color:#0c9348}.timeline__icon-item.timeline__icon-item--warning.timeline__icon-item--active .timeline__icon-item__icon{background-color:#fcbf10;color:#333}.timeline__icon-item.timeline__icon-item--danger.timeline__icon-item--active .timeline__icon-item__icon{background-color:#f8931f;color:#333}.timeline__icon-item.timeline__icon-item--error.timeline__icon-item--active .timeline__icon-item__icon{background-color:#c13018}"]
|
|
19617
|
+
template: "<ng-container *ngIf=\"item\">\n <div\n class=\"timeline__icon-item\"\n [ngClass]=\"{\n 'timeline__icon-item--small': item.testSize('small'),\n 'timeline__icon-item--normal': item.testSize('normal'),\n 'timeline__icon-item--warning': item.testSeverity('warning'),\n 'timeline__icon-item--error': item.testSeverity('error'),\n 'timeline__icon-item--completed': isComplete,\n 'timeline__icon-item--active': isActive,\n 'timeline__icon-item--active--highlight': isActive && highlightActive\n }\">\n <div\n class=\"timeline__icon-item__icon\"\n [pTooltip]=\"item.tooltip\"\n tooltipPosition=\"top\"\n [ngStyle]=\"{ backgroundColor: item.color }\">\n <ng-content *ngIf=\"item.icon; then icon_content; else label_text_content\"></ng-content>\n <ng-template #icon_content>\n <span [ngClass]=\"item.icon\"></span>\n </ng-template>\n <ng-template #label_text_content>\n <span class=\"timeline__icon-item__icon__label\" [class.large_label]=\"item.label?.length > 2\">\n {{ item.label }}\n </span>\n </ng-template>\n </div>\n </div>\n</ng-container>\n",
|
|
19618
|
+
styles: [".timeline__icon-item .timeline__icon-item__icon{-ms-flex-align:center;align-items:center;background-color:#697882;border-radius:50%;color:#fff;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;margin:4px;-webkit-user-select:none;-ms-user-select:none;user-select:none}.timeline__icon-item .timeline__icon-item__icon .timeline__icon-item__icon__label{font-family:\"Open Sans\",sans-serif}.timeline__icon-item.timeline__icon-item--small .timeline__icon-item__icon{font-size:0;height:16px;width:16px}.timeline__icon-item.timeline__icon-item--normal .timeline__icon-item__icon{font-size:10px;height:24px;padding:8px;width:24px}.timeline__icon-item.timeline__icon-item--normal .timeline__icon-item__icon .timeline__icon-item__icon__label{font-size:14px}.timeline__icon-item.timeline__icon-item--normal .timeline__icon-item__icon .timeline__icon-item__icon__label.large_label{font-size:12px}.timeline__icon-item.timeline__icon-item--active--highlight .timeline__icon-item__icon{font-size:20px;height:40px;padding:10px;width:40px}.timeline__icon-item.timeline__icon-item--active--highlight .timeline__icon-item__icon .timeline__icon-item__icon__label{font-size:22px}.timeline__icon-item.timeline__icon-item--active--highlight .timeline__icon-item__icon .timeline__icon-item__icon__label.large_label{font-size:18px}.timeline__icon-item.timeline__icon-item--active .timeline__icon-item__icon,.timeline__icon-item.timeline__icon-item--completed .timeline__icon-item__icon{background-color:#0c9348}.timeline__icon-item.timeline__icon-item--warning.timeline__icon-item--active .timeline__icon-item__icon{background-color:#fcbf10;color:#333}.timeline__icon-item.timeline__icon-item--danger.timeline__icon-item--active .timeline__icon-item__icon{background-color:#f8931f;color:#333}.timeline__icon-item.timeline__icon-item--error.timeline__icon-item--active .timeline__icon-item__icon{background-color:#c13018}"]
|
|
19146
19619
|
})
|
|
19147
19620
|
], TimelineIconItemComponent);
|
|
19148
19621
|
|
|
@@ -19386,7 +19859,7 @@ var TimelineItemSize;
|
|
|
19386
19859
|
TimelineItemSize["Small"] = "small";
|
|
19387
19860
|
})(TimelineItemSize || (TimelineItemSize = {}));
|
|
19388
19861
|
|
|
19389
|
-
const LABEL_MAX_LENGTH =
|
|
19862
|
+
const LABEL_MAX_LENGTH = 3;
|
|
19390
19863
|
class TimelineItem {
|
|
19391
19864
|
constructor(params) {
|
|
19392
19865
|
this.id = params.id;
|
|
@@ -19409,7 +19882,7 @@ class TimelineItem {
|
|
|
19409
19882
|
throw new Error("An icon and label string were passed to the item. Enter an icon or label text");
|
|
19410
19883
|
}
|
|
19411
19884
|
if (((_a = this.label) === null || _a === void 0 ? void 0 : _a.length) > LABEL_MAX_LENGTH) {
|
|
19412
|
-
throw new Error("Label text is expected to be a maximum of
|
|
19885
|
+
throw new Error("Label text is expected to be a maximum of three characters long");
|
|
19413
19886
|
}
|
|
19414
19887
|
}
|
|
19415
19888
|
testSize(value) {
|
|
@@ -20977,12 +21450,16 @@ const fallback = {
|
|
|
20977
21450
|
"platform.angular_components.add_all": "Adicionar todos",
|
|
20978
21451
|
"platform.angular_components.remove_all": "Remover todos",
|
|
20979
21452
|
"platform.angular_components.country_name_gb": "Reino Unido",
|
|
20980
|
-
"platform.angular_components.insight_footer": "Conteúdo gerado por inteligência artificial. Sujeito a imprecisões."
|
|
21453
|
+
"platform.angular_components.insight_footer": "Conteúdo gerado por inteligência artificial. Sujeito a imprecisões.",
|
|
21454
|
+
"platform.angular_components.text_area_speech_recognition_placeholder": "Preencha o campo, com pelo menos, uma frase",
|
|
21455
|
+
"platform.angular_components.text_area_before_speech": "Grave ou ouça o texto clicando nos Ícones",
|
|
21456
|
+
"platform.angular_components.text_area_while_speech": "Clique novamente no Ícone para finalizar",
|
|
21457
|
+
"platform.angular_components.text_area_end_speech": "Gravação finalizada"
|
|
20981
21458
|
};
|
|
20982
21459
|
|
|
20983
21460
|
/**
|
|
20984
21461
|
* Generated bundle index. Do not edit.
|
|
20985
21462
|
*/
|
|
20986
21463
|
|
|
20987
|
-
export { AccordionComponent, AccordionModule, AccordionPanelComponent, AlertComponent, AlertModule, AngularComponentsModule, AutocompleteField, BadgeColors, BadgeComponent, BadgeModule, BaseFieldComponent, BignumberField, BignumberInputDirective, BignumberInputModule, BooleanField, BooleanOptionsLabel, BreadcrumbComponent, BreadcrumbModule, Breakpoints, ButtonAnimation, ButtonComponent, ButtonField, ButtonModule, ButtonPriority, ButtonSize, CalendarField, CalendarLocaleOptions, CalendarMaskDirective, CalendarMaskModule, CardComponent, CardModule, CardTemplateTypes, ChatComponent, ChatModule, CheckDisabled, CheckboxComponent, CheckboxModule, ChipsComponent, ChipsField, ChipsModule, CodeEditorModule, CollapseLinkComponent, CollapseLinkModule, ControlErrorsComponent, ControlErrorsModule, CountryPhonePickerComponent, CountryPhonePickerModule, CurrencyField, CurrencyService, CustomFieldsComponent, CustomFieldsModule, CustomFieldsService, DEFAULT_CALENDAR_LOCALE_OPTIONS, DEFAULT_LOCALE_OPTIONS, DEFAULT_NUMBER_LOCALE_OPTIONS, DebounceUtils, DoubleClickDirective, DynamicConfig, DynamicFormComponent, DynamicFormModule, DynamicType, EditableOverlayDirective, EditableOverlayModule, EmptyStateComponent, EmptyStateModule, EnumBadgeColors, EnumColumnFieldType, EnumSeverity, ExportUtils, Field, FieldType, Fieldset, FileUploadComponent, FileUploadModule, FileUploadPermissions, FileValidation, FormField, GanttComponent, GanttModule, GlobalSearchComponent, GlobalSearchDropdownItemComponent, GlobalSearchModule, GlobalSearchSizeEnum, Grid, GridMenuComponent, GridMenuModule, GridType, HelpPopoverComponent, HelpPopoverDirective, HelpPopoverModule, HostProjectConfigsInjectionToken, IAInsightComponent, IAInsightModule, IAInsightTemplateTypes, ImageCropperComponent, ImageCropperModule, ImageCropperService, InfoSignDirective, InfoSignModule, InlineEditCalendarField, InlineEditComponent, InlineEditField, InlineEditLookupField, InlineEditModule, InlineEditNumberField, InlineEditTextAreaField, InlineEditTextAreaIAField, InlineEditTextField, KanbanComponent, KanbanModule, KanbanTemplateTypes, LabelValueComponent, LabelValueModule, Languages, LoadingStateComponent, LoadingStateDirective, LoadingStateModule, LocaleModule, LocaleOptions, LocaleService, LocalizedCurrencyPipe, LocalizedCurrencyPipeOptions, LocalizedDateImpurePipe, LocalizedDatePipe, LocalizedNumberInputDirective, LocalizedNumberInputModule, LocalizedNumberPipe, LocalizedTimeImpurePipe, LocalizedTimePipe, LongPressDirective, LookupComponent, LookupField, MaskFormatterModule, MaskFormatterPipe, MouseEventsModule, NavigationButtonComponent, NavigationButtonModule, NavigationDirective, NumberAlignmentOption, NumberField, NumberInputDirective, NumberInputModule, NumberLocaleOptions, NumericService, ObjectCardComponent, ObjectCardFieldComponent, ObjectCardMainComponent, ObjectCardModule, Option, Ordination, PanelComponent, PanelModule, PasswordField, PasswordStrengthComponent, PasswordStrengthDirective, PasswordStrengthModule, PasswordStrengthPositions, PasswordStrengths, PicklistComponent, PicklistModule, PicklistTemplateTypes, ProductHeaderComponent, ProductHeaderModule, ProfilePicturePickerComponent, ProfilePicturePickerModule, ProgressBarColors, ProgressBarComponent, ProgressBarModule, RadioButtonField, RatingScaleComponent, RatingScaleModule, RationButtonOption, Row, RowTogllerDirective, SVGFactoryDirective, SVGFactoryModule, Section, SelectButtonComponent, SelectButtonModule, SelectField, SelectOption, SidebarComponent, SidebarModule, SlidePanelComponent, SlidePanelModule, SliderComponent, SliderModule, SplitButtonComponent, SplitButtonModule, SplitButtonType, StatsCardComponent, StatsCardModule, StepState, StepsComponent, StepsModule, Structure, StructureType, SwitchComponent, SwitchModule, TableFrozenPositionDirective, TableHeaderCheckboxComponent, TableHeaderCheckboxModule, TableModule, TaxCalculationLanguageConfigs, TemplateDirective, TemplateModule, TextAreaField, TextAreaIAComponent, TextAreaIAModule, TextField, Themes, ThumbnailComponent, ThumbnailModule, ThumbnailSize, ThumbnailsComponent, ThumbnailsModule, TieredMenuDirective, TieredMenuModule, TileComponent, TileModule, TimelineComponent, TimelineItem, TimelineItemSeverity, TimelineItemSize, TimelineModule, ToastComponent, ToastModule, ToastService, TokenListComponent, TokenListModule, TooltipModule, TooltipPosition, ValidateErrors, ViewMode, WorkspaceSwitchComponent, WorkspaceSwitchModule, convertToMomentDateFormat, countries, fallback, getElementLeftoverContentAvailable, getElementPositionInfo, isMousePositionOutsideOfElement, isNullOrUndefined, parseItensPickList, ɵ0$3 as ɵ0, ɵ1$2 as ɵ1, ɵ2$1 as ɵ2, ɵ3$1 as ɵ3, ɵ4, TooltipComponent as ɵa, TooltipDirective as ɵb, TableColumnsComponent as ɵba, TablePagingComponent as ɵbb, PasswordFieldModule as ɵbc, FieldLabelModule as ɵbd, FieldLabelComponent as ɵbe, PasswordFieldComponent as ɵbf, TextFieldModule as ɵbg, TextFieldComponent as ɵbh, NumberFieldModule as ɵbi, NumberFieldComponent as ɵbj, CurrencyFieldModule as ɵbk, CurrencyFieldComponent as ɵbl, BignumberFieldModule as ɵbm, BignumberFieldComponent as ɵbn, CheckboxFieldModule as ɵbo, CheckboxFieldComponent as ɵbp, ProfilePictureModule as ɵbq, ThumbnailService as ɵbr, StructureModule as ɵbs, HeaderComponent as ɵbt, FooterComponent as ɵbu, ProfilePictureFieldComponent as ɵbv, EditorFieldModule as ɵbw, EditorFieldComponent as ɵbx,
|
|
21464
|
+
export { AccordionComponent, AccordionModule, AccordionPanelComponent, AlertComponent, AlertModule, AngularComponentsModule, AutocompleteField, BadgeColors, BadgeComponent, BadgeModule, BaseFieldComponent, BignumberField, BignumberInputDirective, BignumberInputModule, BooleanField, BooleanOptionsLabel, BreadcrumbComponent, BreadcrumbModule, Breakpoints, ButtonAnimation, ButtonComponent, ButtonField, ButtonModule, ButtonPriority, ButtonSize, CalendarField, CalendarLocaleOptions, CalendarMaskDirective, CalendarMaskModule, CardComponent, CardModule, CardTemplateTypes, ChatComponent, ChatModule, CheckDisabled, CheckboxComponent, CheckboxModule, ChipsComponent, ChipsField, ChipsModule, CodeEditorModule, CollapseLinkComponent, CollapseLinkModule, ControlErrorsComponent, ControlErrorsModule, CountryPhonePickerComponent, CountryPhonePickerModule, CurrencyField, CurrencyService, CustomFieldsComponent, CustomFieldsModule, CustomFieldsService, DEFAULT_CALENDAR_LOCALE_OPTIONS, DEFAULT_LOCALE_OPTIONS, DEFAULT_NUMBER_LOCALE_OPTIONS, DebounceUtils, DoubleClickDirective, DynamicConfig, DynamicFormComponent, DynamicFormModule, DynamicType, EditableOverlayDirective, EditableOverlayModule, EmptyStateComponent, EmptyStateModule, EnumBadgeColors, EnumColumnFieldType, EnumSeverity, ExportUtils, Field, FieldType, Fieldset, FileUploadComponent, FileUploadModule, FileUploadPermissions, FileValidation, FormField, GanttComponent, GanttModule, GlobalSearchComponent, GlobalSearchDropdownItemComponent, GlobalSearchModule, GlobalSearchSizeEnum, Grid, GridMenuComponent, GridMenuModule, GridType, HelpPopoverComponent, HelpPopoverDirective, HelpPopoverModule, HostProjectConfigsInjectionToken, IAInsightComponent, IAInsightModule, IAInsightTemplateTypes, ImageCropperComponent, ImageCropperModule, ImageCropperService, InfoSignDirective, InfoSignModule, InlineEditCalendarField, InlineEditComponent, InlineEditField, InlineEditLookupField, InlineEditModule, InlineEditNumberField, InlineEditTextAreaField, InlineEditTextAreaIAField, InlineEditTextField, KanbanComponent, KanbanModule, KanbanTemplateTypes, LabelValueComponent, LabelValueModule, Languages, LoadingStateComponent, LoadingStateDirective, LoadingStateModule, LocaleModule, LocaleOptions, LocaleService, LocalizedCurrencyPipe, LocalizedCurrencyPipeOptions, LocalizedDateImpurePipe, LocalizedDatePipe, LocalizedNumberInputDirective, LocalizedNumberInputModule, LocalizedNumberPipe, LocalizedTimeImpurePipe, LocalizedTimePipe, LongPressDirective, LookupComponent, LookupField, MaskFormatterModule, MaskFormatterPipe, MouseEventsModule, NavigationButtonComponent, NavigationButtonModule, NavigationDirective, NumberAlignmentOption, NumberField, NumberInputDirective, NumberInputModule, NumberLocaleOptions, NumericService, ObjectCardComponent, ObjectCardFieldComponent, ObjectCardMainComponent, ObjectCardModule, Option, Ordination, PanelComponent, PanelModule, PasswordField, PasswordStrengthComponent, PasswordStrengthDirective, PasswordStrengthModule, PasswordStrengthPositions, PasswordStrengths, PicklistComponent, PicklistModule, PicklistTemplateTypes, ProductHeaderComponent, ProductHeaderModule, ProfilePicturePickerComponent, ProfilePicturePickerModule, ProgressBarColors, ProgressBarComponent, ProgressBarModule, RadioButtonField, RatingScaleComponent, RatingScaleModule, RationButtonOption, Row, RowTogllerDirective, SVGFactoryDirective, SVGFactoryModule, Section, SelectButtonComponent, SelectButtonModule, SelectField, SelectOption, SidebarComponent, SidebarModule, SlidePanelComponent, SlidePanelModule, SliderComponent, SliderModule, SplitButtonComponent, SplitButtonModule, SplitButtonType, StatsCardComponent, StatsCardModule, StepState, StepsComponent, StepsModule, Structure, StructureType, SwitchComponent, SwitchModule, TableFrozenPositionDirective, TableHeaderCheckboxComponent, TableHeaderCheckboxModule, TableModule, TaxCalculationLanguageConfigs, TemplateDirective, TemplateModule, TextAreaComponent, TextAreaField, TextAreaIAComponent, TextAreaIAModule, TextAreaModule, TextField, Themes, ThumbnailComponent, ThumbnailModule, ThumbnailSize, ThumbnailsComponent, ThumbnailsModule, TieredMenuDirective, TieredMenuModule, TileComponent, TileModule, TimelineComponent, TimelineItem, TimelineItemSeverity, TimelineItemSize, TimelineModule, ToastComponent, ToastModule, ToastService, TokenListComponent, TokenListModule, TooltipModule, TooltipPosition, ValidateErrors, ViewMode, WorkspaceSwitchComponent, WorkspaceSwitchModule, convertToMomentDateFormat, countries, fallback, getElementLeftoverContentAvailable, getElementPositionInfo, isMousePositionOutsideOfElement, isNullOrUndefined, parseItensPickList, ɵ0$3 as ɵ0, ɵ1$2 as ɵ1, ɵ2$1 as ɵ2, ɵ3$1 as ɵ3, ɵ4, TooltipComponent as ɵa, TooltipDirective as ɵb, TableColumnsComponent as ɵba, TablePagingComponent as ɵbb, PasswordFieldModule as ɵbc, FieldLabelModule as ɵbd, FieldLabelComponent as ɵbe, PasswordFieldComponent as ɵbf, TextFieldModule as ɵbg, TextFieldComponent as ɵbh, NumberFieldModule as ɵbi, NumberFieldComponent as ɵbj, CurrencyFieldModule as ɵbk, CurrencyFieldComponent as ɵbl, BignumberFieldModule as ɵbm, BignumberFieldComponent as ɵbn, CheckboxFieldModule as ɵbo, CheckboxFieldComponent as ɵbp, ProfilePictureModule as ɵbq, ThumbnailService as ɵbr, StructureModule as ɵbs, HeaderComponent as ɵbt, FooterComponent as ɵbu, ProfilePictureFieldComponent as ɵbv, EditorFieldModule as ɵbw, EditorFieldComponent as ɵbx, SpeechRecognitionModule as ɵby, SpeechRecognitionComponent as ɵbz, InfoSignComponent as ɵc, SpeechRecognitionService as ɵca, TextToSpeechService as ɵcb, AutocompleteFieldComponent as ɵcc, BooleanFieldComponent as ɵcd, BooleanSwitchFieldComponent as ɵce, CalendarFieldComponent as ɵcf, ChipsFieldComponent as ɵcg, CountryPhonePickerFieldComponent as ɵch, DynamicFieldComponent as ɵci, DynamicFormDirective as ɵcj, FieldsetComponent as ɵck, FileUploadComponent$1 as ɵcl, LookupFieldComponent as ɵcm, RadioButtonComponent as ɵcn, RowComponent as ɵco, SectionComponent as ɵcp, SelectFieldComponent as ɵcq, SliderFieldComponent as ɵcr, TextAreaFieldComponent as ɵcs, TextAreaIAFieldComponent as ɵct, IAssistService as ɵcu, ButtonFieldComponent as ɵcv, DecimalField as ɵcx, SideTableComponent as ɵcy, InfiniteScrollModule as ɵcz, TieredMenuEventService as ɵd, InfiniteScrollDirective as ɵda, IAInsightSidebarComponent as ɵdb, IAInsightCardComponent as ɵdc, IAInsightCardLoaderComponent as ɵdd, GridMenuItemComponent as ɵde, InlineEditItemComponent as ɵdf, InlineEditCalendarComponent as ɵdg, InlineEditLookupComponent as ɵdh, InlineEditNumberComponent as ɵdi, InlineEditTextComponent as ɵdj, InlineEditTextAreaComponent as ɵdk, InlineEditTextAreaIAComponent as ɵdl, KanbanEventService as ɵdm, KanbanItemComponent as ɵdn, KanbanColumnComponent as ɵdo, KanbanItemDraggingComponent as ɵdp, NumberLocaleOptions as ɵdq, BorderButtonModule as ɵdr, BorderButtonComponent as ɵds, ProgressBarDeterminateComponent as ɵdt, ProgressBarIndeterminateComponent as ɵdu, SelectButtonItemComponent as ɵdv, SlidePanelService as ɵdw, ThumbnailItemComponent as ɵdx, ThumbnailItemVideoComponent as ɵdy, ThumbnailItemImageComponent as ɵdz, TieredMenuService as ɵe, TimelineItemModule as ɵea, TimelineIconItemComponent as ɵeb, HorizontalTimelineModule as ɵec, HorizontalTimelineComponent as ɵed, VerticalTimelineModule as ɵee, VerticalTimelineComponent as ɵef, RangeLineComponent as ɵeg, CollapseOptionComponent as ɵeh, CollapsedItemsComponent as ɵei, VerticalItemsComponent as ɵej, ChipItemComponent as ɵek, TieredMenuGlobalService as ɵf, TieredMenuComponent as ɵg, TieredMenuNestedComponent as ɵh, TieredMenuItemComponent as ɵi, TieredMenuDividerComponent as ɵj, LocalizedCurrencyImpurePipe as ɵk, LocalizedBignumberPipe as ɵl, LocalizedBignumberImpurePipe as ɵm, NumericPipe as ɵn, ChatMessageComponent as ɵo, CustomTranslationsModule as ɵp, CodeEditorComponent as ɵq, CoreFacade as ɵr, CodeMirror6Core as ɵs, CountryPhonePickerService as ɵt, EmptyStateGoBackComponent as ɵu, IAssistIconComponent as ɵv, SeniorIconComponent as ɵw, DotsIndicatorComponent as ɵx, LoadingIndicatorComponent as ɵy, FileUploadService as ɵz };
|
|
20988
21465
|
//# sourceMappingURL=seniorsistemas-angular-components.js.map
|