@seniorsistemas/angular-components 17.26.5 → 17.26.6
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 +142 -69
- 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/bignumber-input/{number-input.directive.d.ts → bignumber-input.directive.d.ts} +3 -1
- package/components/bignumber-input/index.d.ts +2 -2
- package/components/card/card.component.d.ts +5 -2
- package/components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component.d.ts +4 -5
- package/components/dynamic-form/configurations/fields/text-area-ia-field.d.ts +4 -6
- package/components/number-input/number-input.directive.d.ts +11 -9
- package/components/speech-recognition/speech-recognition/speech-recognition.component.d.ts +2 -8
- package/components/speech-recognition/text-to-speech.service.d.ts +1 -0
- package/components/text-area/text-area/text-area.component.d.ts +6 -2
- package/components/text-area-ia/text-area-ia.component.d.ts +1 -0
- package/esm2015/components/bignumber-input/bignumber-input.directive.js +150 -0
- package/esm2015/components/bignumber-input/bignumber-input.module.js +15 -0
- package/esm2015/components/bignumber-input/index.js +3 -3
- package/esm2015/components/card/card.component.js +22 -7
- package/esm2015/components/dynamic-form/components/fields/bignumber/bignumber-field.module.js +2 -2
- package/esm2015/components/dynamic-form/components/fields/text-area/text-area-field.component.js +2 -2
- package/esm2015/components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component.js +10 -11
- package/esm2015/components/dynamic-form/configurations/fields/text-area-ia-field.js +7 -2
- package/esm2015/components/dynamic-form/dynamic-form.module.js +2 -2
- package/esm2015/components/inline-edit/inline-edit.module.js +2 -2
- package/esm2015/components/number-input/number-input.directive.js +41 -21
- package/esm2015/components/speech-recognition/speech-recognition/speech-recognition.component.js +3 -25
- package/esm2015/components/speech-recognition/speech-recognition.service.js +4 -2
- package/esm2015/components/speech-recognition/text-to-speech.service.js +13 -4
- package/esm2015/components/text-area/text-area/text-area.component.js +18 -4
- package/esm2015/components/text-area-ia/text-area-ia.component.js +8 -3
- package/esm2015/components/text-area-ia/text-area-ia.module.js +3 -3
- package/esm2015/locale/fallback.js +4 -4
- package/esm5/components/bignumber-input/bignumber-input.directive.js +155 -0
- package/esm5/components/bignumber-input/bignumber-input.module.js +18 -0
- package/esm5/components/bignumber-input/index.js +3 -3
- package/esm5/components/card/card.component.js +26 -7
- package/esm5/components/dynamic-form/components/fields/bignumber/bignumber-field.module.js +2 -2
- package/esm5/components/dynamic-form/components/fields/text-area/text-area-field.component.js +2 -2
- package/esm5/components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component.js +10 -11
- package/esm5/components/dynamic-form/configurations/fields/text-area-ia-field.js +8 -3
- package/esm5/components/dynamic-form/dynamic-form.module.js +2 -2
- package/esm5/components/inline-edit/inline-edit.module.js +2 -2
- package/esm5/components/number-input/number-input.directive.js +42 -22
- package/esm5/components/speech-recognition/speech-recognition/speech-recognition.component.js +3 -26
- package/esm5/components/speech-recognition/speech-recognition.service.js +5 -2
- package/esm5/components/speech-recognition/text-to-speech.service.js +13 -4
- package/esm5/components/text-area/text-area/text-area.component.js +23 -5
- package/esm5/components/text-area-ia/text-area-ia.component.js +8 -3
- package/esm5/components/text-area-ia/text-area-ia.module.js +3 -3
- package/esm5/locale/fallback.js +4 -4
- package/fesm2015/seniorsistemas-angular-components.js +133 -68
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +143 -70
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/seniorsistemas-angular-components.metadata.json +1 -1
- package/esm2015/components/bignumber-input/number-input.directive.js +0 -132
- package/esm2015/components/bignumber-input/number-input.module.js +0 -15
- package/esm5/components/bignumber-input/number-input.directive.js +0 -137
- package/esm5/components/bignumber-input/number-input.module.js +0 -18
- /package/components/bignumber-input/{number-input.module.d.ts → bignumber-input.module.d.ts} +0 -0
|
@@ -1435,6 +1435,7 @@
|
|
|
1435
1435
|
_this.scale = 0;
|
|
1436
1436
|
_this.alignTo = ng2CurrencyMask.AlignmentOptions.LEFT;
|
|
1437
1437
|
_this.allowNegative = true;
|
|
1438
|
+
_this.pasteRejected = new core.EventEmitter();
|
|
1438
1439
|
_this.onLocaleService();
|
|
1439
1440
|
return _this;
|
|
1440
1441
|
}
|
|
@@ -1457,6 +1458,17 @@
|
|
|
1457
1458
|
this.updateVariables();
|
|
1458
1459
|
}
|
|
1459
1460
|
};
|
|
1461
|
+
BignumberInputDirective.prototype.onPaste = function (event) {
|
|
1462
|
+
var _a, _b;
|
|
1463
|
+
var pastedText = (_b = (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData("text")) !== null && _b !== void 0 ? _b : "";
|
|
1464
|
+
var numericText = pastedText.replace(new RegExp("\\" + this.thousandsSeparator, "g"), "").replace(this.decimalSeparator, ".");
|
|
1465
|
+
var _c = __read(numericText.split("."), 2), intPart = _c[0], _d = _c[1], decimalPart = _d === void 0 ? "" : _d;
|
|
1466
|
+
var totalDigits = intPart.replace(/\D/g, "").length + decimalPart.slice(0, this.scale).length;
|
|
1467
|
+
if (totalDigits > this.precision) {
|
|
1468
|
+
event.preventDefault();
|
|
1469
|
+
this.pasteRejected.emit(pastedText);
|
|
1470
|
+
}
|
|
1471
|
+
};
|
|
1460
1472
|
BignumberInputDirective.prototype.onKeypress = function (event) {
|
|
1461
1473
|
var code = event.code;
|
|
1462
1474
|
if (code === "Minus" || code === "NumpadSubtract") {
|
|
@@ -1538,6 +1550,12 @@
|
|
|
1538
1550
|
__decorate([
|
|
1539
1551
|
core.HostBinding("attr.maxLength")
|
|
1540
1552
|
], BignumberInputDirective.prototype, "maxLength", void 0);
|
|
1553
|
+
__decorate([
|
|
1554
|
+
core.Output()
|
|
1555
|
+
], BignumberInputDirective.prototype, "pasteRejected", void 0);
|
|
1556
|
+
__decorate([
|
|
1557
|
+
core.HostListener("paste", ["$event"])
|
|
1558
|
+
], BignumberInputDirective.prototype, "onPaste", null);
|
|
1541
1559
|
__decorate([
|
|
1542
1560
|
core.HostListener("keypress", ["$event"])
|
|
1543
1561
|
], BignumberInputDirective.prototype, "onKeypress", null);
|
|
@@ -3315,13 +3333,24 @@
|
|
|
3315
3333
|
var CardComponent = /** @class */ (function () {
|
|
3316
3334
|
function CardComponent() {
|
|
3317
3335
|
this.fullWidth = false;
|
|
3336
|
+
this.title = '';
|
|
3337
|
+
this.subtitle = '';
|
|
3338
|
+
this.icon = '';
|
|
3318
3339
|
this.showBanner = false;
|
|
3319
|
-
this.hasCustomTemplates = false;
|
|
3320
3340
|
}
|
|
3321
3341
|
CardComponent.prototype.ngAfterContentInit = function () {
|
|
3322
3342
|
this._getTemplates();
|
|
3323
|
-
this.
|
|
3343
|
+
this._loadImage();
|
|
3324
3344
|
};
|
|
3345
|
+
Object.defineProperty(CardComponent.prototype, "hasHeader", {
|
|
3346
|
+
get: function () {
|
|
3347
|
+
var headerTemplate = !!this.headerTemplate;
|
|
3348
|
+
var hasHeaderAttributes = this.title || this.subtitle || this.icon;
|
|
3349
|
+
return headerTemplate || hasHeaderAttributes;
|
|
3350
|
+
},
|
|
3351
|
+
enumerable: true,
|
|
3352
|
+
configurable: true
|
|
3353
|
+
});
|
|
3325
3354
|
CardComponent.prototype._getHeaderTemplate = function () {
|
|
3326
3355
|
return this._getCustomTemplate(exports.CardTemplateTypes.Header);
|
|
3327
3356
|
};
|
|
@@ -3339,9 +3368,8 @@
|
|
|
3339
3368
|
this.headerTemplate = this._getHeaderTemplate();
|
|
3340
3369
|
this.bodyTemplate = this._getBodyTemplate();
|
|
3341
3370
|
this.footerTemplate = this._getFooterTemplate();
|
|
3342
|
-
this.hasCustomTemplates = !!(this.headerTemplate || this.bodyTemplate || this.footerTemplate);
|
|
3343
3371
|
};
|
|
3344
|
-
CardComponent.prototype.
|
|
3372
|
+
CardComponent.prototype._loadImage = function () {
|
|
3345
3373
|
var _this = this;
|
|
3346
3374
|
var img = new Image();
|
|
3347
3375
|
img.src = this.bannerImage;
|
|
@@ -3354,14 +3382,23 @@
|
|
|
3354
3382
|
__decorate([
|
|
3355
3383
|
core.Input()
|
|
3356
3384
|
], CardComponent.prototype, "fullWidth", void 0);
|
|
3385
|
+
__decorate([
|
|
3386
|
+
core.Input()
|
|
3387
|
+
], CardComponent.prototype, "title", void 0);
|
|
3388
|
+
__decorate([
|
|
3389
|
+
core.Input()
|
|
3390
|
+
], CardComponent.prototype, "subtitle", void 0);
|
|
3391
|
+
__decorate([
|
|
3392
|
+
core.Input()
|
|
3393
|
+
], CardComponent.prototype, "icon", void 0);
|
|
3357
3394
|
__decorate([
|
|
3358
3395
|
core.ContentChildren(TemplateDirective)
|
|
3359
3396
|
], CardComponent.prototype, "templates", void 0);
|
|
3360
3397
|
CardComponent = __decorate([
|
|
3361
3398
|
core.Component({
|
|
3362
3399
|
selector: "s-card",
|
|
3363
|
-
template: "<div class=\"card\" [ngClass]=\"{ 'card--full-width': fullWidth }\">\n <div\n *ngIf=\"showBanner\"\n class=\"banner\"\n [ngStyle]=\"{'background-image': 'url(' + bannerImage + ')'}\">\n </div>\n\n <ng-container *ngIf=\"
|
|
3364
|
-
styles: [".card{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;background-color:#fff;border-radius:4px;box-shadow:0 1px 5px 0 #00000040;overflow:hidden}.card--full-width{width:100%}.card .banner{background-repeat:no-repeat;background-size:cover;height:150px;width:100%}.card .header{padding:16px 12px}.card .body,.card .footer{padding:16px}.card .body+.footer,.card .header+.body{border-top:1px solid #c1c1cc}"]
|
|
3400
|
+
template: "<div class=\"card\" [ngClass]=\"{ 'card--full-width': fullWidth }\">\n <div\n *ngIf=\"showBanner\"\n class=\"banner\"\n [ngStyle]=\"{'background-image': 'url(' + bannerImage + ')'}\">\n </div>\n\n <ng-container *ngIf=\"hasHeader\">\n <div class=\"header\">\n <ng-container *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!headerTemplate\">\n <div class=\"header-content\">\n <div class=\"header-icon\" *ngIf=\"icon\">\n <i [class]=\"icon\"></i>\n </div>\n <div>\n <div class=\"header-title\" *ngIf=\"title\">\n {{ title }}\n </div>\n <div class=\"header-subtitle\" *ngIf=\"subtitle\">\n {{ subtitle }}\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n <div *ngIf=\"bodyTemplate\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"!bodyTemplate\">\n <div class=\"body\">\n <ng-content></ng-content>\n </div>\n </ng-container>\n <div *ngIf=\"footerTemplate\" class=\"footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n</div>\n",
|
|
3401
|
+
styles: [".card{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;background-color:#fff;border-radius:4px;box-shadow:0 1px 5px 0 #00000040;overflow:hidden}.card--full-width{width:100%}.card .banner{background-repeat:no-repeat;background-size:cover;height:150px;width:100%}.card .header{padding:16px 12px}.card .header-content{display:-ms-flexbox;display:flex;gap:12px}.card .header-title{color:#212533;font-size:14px;font-style:normal;font-weight:700}.card .header-subtitle{color:#6e7280;font-size:14px;font-style:normal;font-weight:400}.card .header-icon{border-radius:50%;background-color:#dedce5;width:3em;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-height:3em}.card .body,.card .footer{padding:16px}.card .body+.footer,.card .header+.body{border-top:1px solid #c1c1cc}"]
|
|
3365
3402
|
})
|
|
3366
3403
|
], CardComponent);
|
|
3367
3404
|
return CardComponent;
|
|
@@ -6834,14 +6871,15 @@
|
|
|
6834
6871
|
*/
|
|
6835
6872
|
var NumberInputDirective = /** @class */ (function (_super) {
|
|
6836
6873
|
__extends(NumberInputDirective, _super);
|
|
6837
|
-
function NumberInputDirective(
|
|
6874
|
+
function NumberInputDirective(_keyValueDiffers, _elementRef, localeService) {
|
|
6838
6875
|
var _this = _super.call(this, null, _elementRef, _keyValueDiffers) || this;
|
|
6876
|
+
_this._elementRef = _elementRef;
|
|
6839
6877
|
_this.localeService = localeService;
|
|
6840
6878
|
_this.precision = 15;
|
|
6841
6879
|
_this.scale = 0;
|
|
6842
6880
|
_this.alignTo = exports.NumberAlignmentOption.LEFT;
|
|
6843
6881
|
_this.allowNegative = true;
|
|
6844
|
-
_this.
|
|
6882
|
+
_this.pasteRejected = new core.EventEmitter();
|
|
6845
6883
|
_this.onLocaleService();
|
|
6846
6884
|
return _this;
|
|
6847
6885
|
}
|
|
@@ -6849,6 +6887,10 @@
|
|
|
6849
6887
|
NumberInputDirective.prototype.ngOnInit = function () {
|
|
6850
6888
|
this.updateVariables();
|
|
6851
6889
|
_super.prototype.ngOnInit.call(this);
|
|
6890
|
+
this.pasteListener = this._onPaste.bind(this);
|
|
6891
|
+
this._elementRef.nativeElement.addEventListener("paste", this.pasteListener);
|
|
6892
|
+
this.keypressListener = this._onKeypress.bind(this);
|
|
6893
|
+
this._elementRef.nativeElement.addEventListener("keypress", this.keypressListener);
|
|
6852
6894
|
};
|
|
6853
6895
|
NumberInputDirective.prototype.ngOnChanges = function (changes) {
|
|
6854
6896
|
var placeholderChange = changes.placeholder && changes.placeholder.currentValue;
|
|
@@ -6863,6 +6905,33 @@
|
|
|
6863
6905
|
this.updateVariables();
|
|
6864
6906
|
}
|
|
6865
6907
|
};
|
|
6908
|
+
NumberInputDirective.prototype.ngOnDestroy = function () {
|
|
6909
|
+
this._elementRef.nativeElement.removeEventListener("paste", this.pasteListener);
|
|
6910
|
+
this._elementRef.nativeElement.removeEventListener("keypress", this.keypressListener);
|
|
6911
|
+
};
|
|
6912
|
+
NumberInputDirective.prototype._onPaste = function (event) {
|
|
6913
|
+
var _a, _b;
|
|
6914
|
+
var pastedText = (_b = (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData("text")) !== null && _b !== void 0 ? _b : "";
|
|
6915
|
+
var numericText = pastedText.replace(new RegExp("\\" + this.thousandsSeparator, "g"), "").replace(this.decimalSeparator, ".");
|
|
6916
|
+
var _c = __read(numericText.split("."), 2), intPart = _c[0], _d = _c[1], decimalPart = _d === void 0 ? "" : _d;
|
|
6917
|
+
var totalDigits = intPart.replace(/\D/g, "").length + decimalPart.slice(0, this.scale).length;
|
|
6918
|
+
if (totalDigits > this.precision) {
|
|
6919
|
+
event.preventDefault();
|
|
6920
|
+
event.stopPropagation();
|
|
6921
|
+
this.pasteRejected.emit(pastedText);
|
|
6922
|
+
}
|
|
6923
|
+
};
|
|
6924
|
+
NumberInputDirective.prototype._onKeypress = function (event) {
|
|
6925
|
+
var code = event.code;
|
|
6926
|
+
if (code === "Minus" || code === "NumpadSubtract") {
|
|
6927
|
+
if (this.allowNegative) {
|
|
6928
|
+
this.maxLength = this._maxLength + 1;
|
|
6929
|
+
}
|
|
6930
|
+
}
|
|
6931
|
+
else if (code === "Equal" || code === "NumpadAdd") {
|
|
6932
|
+
this.maxLength = this._maxLength;
|
|
6933
|
+
}
|
|
6934
|
+
};
|
|
6866
6935
|
/**
|
|
6867
6936
|
* Update the options values according to the directive input values.
|
|
6868
6937
|
*/
|
|
@@ -6886,24 +6955,9 @@
|
|
|
6886
6955
|
var thoSepLength = this.thousandsSeparator.length;
|
|
6887
6956
|
var maxLength = this.precision + (this.scale ? decSepLength : 0);
|
|
6888
6957
|
maxLength += Math.ceil((this.precision - (this.scale ? this.scale : 0)) / 3 - 1) * thoSepLength;
|
|
6958
|
+
this._maxLength = maxLength;
|
|
6889
6959
|
this.maxLength = maxLength;
|
|
6890
6960
|
};
|
|
6891
|
-
/**
|
|
6892
|
-
* Prevents the default CurrencyMask behavior when typed a incorrect value.
|
|
6893
|
-
* By default the CurrencyMask inputs the mask value to the component value when typed a incorrect value.
|
|
6894
|
-
*/
|
|
6895
|
-
NumberInputDirective.prototype.handleKeypress = function (event) {
|
|
6896
|
-
var negativeOperator = "-";
|
|
6897
|
-
var key = event.key;
|
|
6898
|
-
if (this.thousandsSeparator.includes(key) ||
|
|
6899
|
-
this.decimalSeparator.includes(key) ||
|
|
6900
|
-
negativeOperator.includes(key) ||
|
|
6901
|
-
this.regex.test(key) ||
|
|
6902
|
-
"Enter".toUpperCase() === key.toUpperCase())
|
|
6903
|
-
_super.prototype.handleKeypress.call(this, event);
|
|
6904
|
-
else
|
|
6905
|
-
event.preventDefault();
|
|
6906
|
-
};
|
|
6907
6961
|
NumberInputDirective.prototype.onLocaleService = function () {
|
|
6908
6962
|
var _this = this;
|
|
6909
6963
|
this.localeService
|
|
@@ -6917,8 +6971,8 @@
|
|
|
6917
6971
|
};
|
|
6918
6972
|
var NumberInputDirective_1;
|
|
6919
6973
|
NumberInputDirective.ctorParameters = function () { return [
|
|
6920
|
-
{ type: core.ElementRef },
|
|
6921
6974
|
{ type: core.KeyValueDiffers },
|
|
6975
|
+
{ type: core.ElementRef },
|
|
6922
6976
|
{ type: LocaleService }
|
|
6923
6977
|
]; };
|
|
6924
6978
|
__decorate([
|
|
@@ -6946,6 +7000,9 @@
|
|
|
6946
7000
|
__decorate([
|
|
6947
7001
|
core.HostBinding("attr.maxLength")
|
|
6948
7002
|
], NumberInputDirective.prototype, "maxLength", void 0);
|
|
7003
|
+
__decorate([
|
|
7004
|
+
core.Output()
|
|
7005
|
+
], NumberInputDirective.prototype, "pasteRejected", void 0);
|
|
6949
7006
|
NumberInputDirective = NumberInputDirective_1 = __decorate([
|
|
6950
7007
|
core.Directive({
|
|
6951
7008
|
selector: "input[sNumberInput]",
|
|
@@ -7191,13 +7248,18 @@
|
|
|
7191
7248
|
var TextAreaIAField = /** @class */ (function (_super) {
|
|
7192
7249
|
__extends(TextAreaIAField, _super);
|
|
7193
7250
|
function TextAreaIAField(config) {
|
|
7251
|
+
var _a;
|
|
7194
7252
|
var _this = _super.call(this, config) || this;
|
|
7253
|
+
_this.style = {
|
|
7254
|
+
resize: 'vertical'
|
|
7255
|
+
};
|
|
7195
7256
|
_this.cols = config.cols;
|
|
7196
7257
|
_this.rows = config.rows;
|
|
7197
7258
|
_this.keyFilter = config.keyFilter;
|
|
7198
|
-
_this.style = config.style;
|
|
7259
|
+
_this.style = __assign(__assign({}, config.style), _this.style);
|
|
7199
7260
|
_this.prompt = config.prompt;
|
|
7200
7261
|
_this.readonly = config.readonly;
|
|
7262
|
+
_this.speechRecognition = (_a = config.speechRecognition) !== null && _a !== void 0 ? _a : false;
|
|
7201
7263
|
return _this;
|
|
7202
7264
|
}
|
|
7203
7265
|
return TextAreaIAField;
|
|
@@ -11469,12 +11531,14 @@
|
|
|
11469
11531
|
this.hideDialog();
|
|
11470
11532
|
};
|
|
11471
11533
|
TextAreaIAFieldComponent.prototype._createDialogFields = function () {
|
|
11534
|
+
var _a;
|
|
11472
11535
|
this.fields = [
|
|
11473
11536
|
new FormField({
|
|
11474
11537
|
name: "context",
|
|
11475
11538
|
type: exports.FieldType.Text,
|
|
11476
11539
|
label: this._translateService.instant("platform.angular_components.context"),
|
|
11477
11540
|
size: { sm: 12, md: 12, lg: 12, xl: 12 },
|
|
11541
|
+
speechRecognition: (_a = this.field.speechRecognition) !== null && _a !== void 0 ? _a : false
|
|
11478
11542
|
}),
|
|
11479
11543
|
];
|
|
11480
11544
|
};
|
|
@@ -11494,13 +11558,10 @@
|
|
|
11494
11558
|
__decorate([
|
|
11495
11559
|
core.Input()
|
|
11496
11560
|
], TextAreaIAFieldComponent.prototype, "formControl", void 0);
|
|
11497
|
-
__decorate([
|
|
11498
|
-
core.ViewChild('inputRef')
|
|
11499
|
-
], TextAreaIAFieldComponent.prototype, "inputRef", void 0);
|
|
11500
11561
|
TextAreaIAFieldComponent = __decorate([
|
|
11501
11562
|
core.Component({
|
|
11502
|
-
template: "<s-field-label [field]=\"field\"\n [fieldContainerRef]=\"
|
|
11503
|
-
styles: [".footer-content{display:-ms-flexbox;display:flex;-ms-flex-positive:0;flex-grow:0}.textarea-ia{display:-ms-flexbox;display:flex;-ms-flex-align:end;align-items:flex-end;gap:8px}.iassist-button{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;border:none;border-radius:50%;box-shadow:none;cursor:pointer;height:32px;width:32px}.dialog-header{display:-ms-flexbox;display:flex;gap:12px}.dialog-header .iassist-icon{display:block;height:24px;width:24px}"]
|
|
11563
|
+
template: "<s-field-label [field]=\"field\"\n *ngIf=\"textArea.renderTextArea\"\n [fieldContainerRef]=\"textArea.textAreaElement?.nativeElement\"></s-field-label>\n\n<s-loading-state\n [loading]=\"isLoading\"\n [blockWindow]=\"true\">\n</s-loading-state>\n\n<p-dialog\n [(visible)]=\"isVisible\"\n [modal]=\"true\"\n [style]=\"{ width: '50vw' }\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n (onHide)=\"onHideDialog()\">\n <p-header>\n <div class=\"dialog-header\">\n <span class=\"iassist-icon\">\n <ng-container [ngTemplateOutlet]=\"iassistIcon\"></ng-container>\n </span>\n IAssist - Content Generator\n </div>\n </p-header>\n <s-dynamic-form\n [fields]=\"fields\"\n [form]=\"formGroup\">\n </s-dynamic-form>\n <p-footer>\n <div class=\"footer-content\">\n <s-button\n id=\"-submit-button\"\n type=\"button\"\n [label]=\"'platform.angular_components.generate_text' | translate\"\n (onClick)=\"submitContext()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\">\n </s-button>\n <s-button\n id=\"-cancel-button\"\n type=\"button\"\n priority=\"link\"\n [label]=\"'platform.angular_components.cancel' | translate\"\n (onClick)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\">\n </s-button>\n </div>\n </p-footer>\n</p-dialog>\n\n<div class=\"textarea-ia\">\n <s-textarea\n #textArea\n [inputId]=\"(field.id || field.name)\"\n [rows]=\"field.rows\"\n [formControl]=\"formControl\"\n [inputStyle]=\"field.style\"\n [readOnly]=\"field.readonly ? field.readonly() : false\"\n [speechRecognition]=\"field.speechRecognition\"\n ></s-textarea>\n <button\n class=\"iassist-button\"\n [class.speech-recognition]=\"field.speechRecognition\"\n (click)=\"showDialog()\"\n sTooltip=\"IAssist - Content Generator\">\n <ng-container [ngTemplateOutlet]=\"iassistIcon\"></ng-container>\n </button>\n</div>\n\n<ng-template #iassistIcon>\n <svg style=\"width: 100%; height: 100%;\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5.81451 18.1054L5.99593 17.6059L7.52166 13.4099L7.60877 13.1726L7.61277 13.1614L7.94285 12.2543L8.01159 12.0648L8.05394 11.949L5.2998 8.52426L5.02726 8.18379C5.00569 8.15821 4.9881 8.13104 4.97292 8.10226C4.90099 7.9632 4.85063 7.81294 4.82186 7.6531C4.73075 7.1344 4.90418 6.60771 5.28382 6.24326C5.29421 6.23447 5.3038 6.22567 5.31419 6.21688L5.47164 6.0914L9.3439 3.00238L9.5469 2.84094L9.57088 2.82096L10.4101 2.15041L11.8007 1.04188C11.2181 0.925188 10.6163 0.863647 10.0001 0.863647C4.95374 0.863647 0.863281 4.9541 0.863281 9.99963C0.863281 13.5346 2.87254 16.5989 5.80971 18.1182\" fill=\"#0FA389\"/>\n <path d=\"M14.099 1.83472L13.9495 2.24632L11.997 7.61074L11.9427 7.7594L11.9003 7.87369L14.7448 11.4103C14.7463 11.4127 14.7479 11.4143 14.7495 11.4167L14.9414 11.654C14.9541 11.67 14.9661 11.6868 14.9765 11.7044C15.0764 11.8698 15.1444 12.0505 15.1779 12.2431C15.273 12.7826 15.0812 13.3284 14.676 13.6897C14.656 13.7129 14.6345 13.7344 14.6105 13.7536L11.8563 15.9507L11.6789 16.0922L11.6022 16.1537L10.7406 16.8402V16.841L10.3937 17.1176L9.85747 17.5452L9.39951 17.9112L8.11035 18.9398C8.72016 19.0677 9.35155 19.1364 9.99973 19.1364C15.0461 19.1364 19.1365 15.046 19.1365 9.99964C19.1365 6.42789 17.0857 3.33727 14.099 1.83472Z\" fill=\"#0FA389\"/>\n <path d=\"M14.7287 12.3222C14.7047 12.1832 14.6551 12.0545 14.5864 11.941L14.3954 11.7036C14.3954 11.7036 14.3946 11.7028 14.3938 11.7028L11.3839 7.96005L10.5031 6.86511L10.4256 6.7676L9.03255 5.03487L8.83674 4.79191C8.79278 4.71678 8.75681 4.63446 8.73204 4.54814C8.72085 4.51058 8.71286 4.47222 8.70566 4.43465C8.68568 4.32196 8.68408 4.21007 8.69847 4.10217L8.62334 4.16291L8.44511 4.30438L5.75731 6.44871L5.60066 6.57339C5.34011 6.82275 5.20584 7.19279 5.27218 7.57482C5.29296 7.68751 5.32892 7.79541 5.37927 7.89292C5.37927 7.89292 5.37927 7.89292 5.38007 7.89371L5.6566 8.23818L8.57139 11.8627L8.63293 11.9394L9.53047 13.0559L9.59041 13.1303L9.98363 13.6186L11.0178 14.9046C11.0186 14.9054 11.0194 14.9069 11.0202 14.9077L11.1361 15.0516V15.0524C11.2184 15.1755 11.2768 15.317 11.3048 15.4728C11.3239 15.5807 11.3263 15.6878 11.3143 15.7925L11.3175 15.7965L11.3943 15.735L11.5717 15.5935L14.3266 13.3964L14.3218 13.3908C14.6335 13.1438 14.8022 12.7394 14.7287 12.3222Z\" fill=\"#F3F3F5\"/>\n <path d=\"M10.6822 15.0082C10.6814 15.0074 10.6806 15.0058 10.6806 15.005L10.5672 14.8643L10.3809 14.6325L10.3282 14.567L10.2211 14.4335L9.40028 13.4129L9.32835 13.3242L8.77289 12.6345L8.68098 12.5194L8.44121 12.2205L8.37168 12.4099L8.04159 13.317L8.0376 13.329L7.95128 13.5664L6.42475 17.7623L6.24333 18.2618L5.90605 19.1881L5.73262 19.6645C5.73182 19.6661 5.73102 19.6677 5.73102 19.6685C5.72863 19.6749 5.72703 19.6821 5.72543 19.6885C5.71584 19.7228 5.71424 19.758 5.72063 19.7948C5.74461 19.929 5.87329 20.0193 6.00836 19.9962C6.04112 19.9898 6.07229 19.9778 6.09867 19.9602C6.09867 19.9602 6.09947 19.9602 6.10027 19.9594L6.14103 19.9266L7.39422 18.9268L9.11496 17.5537L9.57292 17.1877L10.1092 16.7601L10.4561 16.4827L10.4537 16.4811C10.7582 16.2382 10.9236 15.8402 10.8509 15.4294C10.8237 15.2735 10.7654 15.1313 10.6822 15.0082Z\" fill=\"#0C847B\"/>\n <path d=\"M9.17644 4.56325C9.2124 4.68713 9.26915 4.80062 9.34268 4.90053C9.34348 4.90053 9.34428 4.90213 9.34428 4.90213L9.40342 4.97645C9.40502 4.97805 9.40582 4.97885 9.40662 4.98045L9.56806 5.17946L9.64878 5.28096L9.67915 5.31932L9.8414 5.51993L10.5559 6.40947L10.7054 6.59569L11.2169 7.23188L11.5142 7.60192L11.5693 7.45247L13.5202 2.08964L14.1596 0.332135C14.1596 0.330536 14.1604 0.328139 14.1612 0.32654C14.174 0.288177 14.1772 0.246617 14.17 0.205058C14.1468 0.0699879 14.0182 -0.0195258 13.8823 0.00365186C13.8407 0.0116442 13.8024 0.028428 13.7712 0.0540033L12.578 1.00589L12.498 1.06982L10.6958 2.50844L9.85658 3.17819L9.8326 3.19737L9.6296 3.35961L9.45297 3.50028C9.2116 3.73925 9.08692 4.08931 9.15006 4.44976C9.15726 4.48813 9.16525 4.52649 9.17644 4.56325Z\" fill=\"#0C847B\"/>\n </svg>\n</ng-template>\n",
|
|
11564
|
+
styles: [".footer-content{display:-ms-flexbox;display:flex;-ms-flex-positive:0;flex-grow:0}.textarea-ia{display:-ms-flexbox;display:flex;-ms-flex-align:end;align-items:flex-end;gap:8px}.textarea-ia s-textarea{width:100%}.iassist-button{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;border:none;border-radius:50%;box-shadow:none;cursor:pointer;height:32px;width:32px}.dialog-header{display:-ms-flexbox;display:flex;gap:12px}.dialog-header .iassist-icon{display:block;height:24px;width:24px}.speech-recognition{margin-bottom:12.5px}"]
|
|
11504
11565
|
})
|
|
11505
11566
|
], TextAreaIAFieldComponent);
|
|
11506
11567
|
return TextAreaIAFieldComponent;
|
|
@@ -11527,7 +11588,7 @@
|
|
|
11527
11588
|
], TextAreaFieldComponent.prototype, "inputRef", void 0);
|
|
11528
11589
|
TextAreaFieldComponent = __decorate([
|
|
11529
11590
|
core.Component({
|
|
11530
|
-
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
|
|
11591
|
+
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 [inputStyle]=\"field.style\"\n [readOnly]=\"field.readonly ? field.readonly() : false\"\n [keyFilter]=\"field.keyFilter\"\n [speechRecognition]=\"field.speechRecognition\">\n</s-textarea>\n"
|
|
11531
11592
|
})
|
|
11532
11593
|
], TextAreaFieldComponent);
|
|
11533
11594
|
return TextAreaFieldComponent;
|
|
@@ -13392,7 +13453,8 @@
|
|
|
13392
13453
|
}());
|
|
13393
13454
|
|
|
13394
13455
|
var TextAreaComponent = /** @class */ (function () {
|
|
13395
|
-
function TextAreaComponent() {
|
|
13456
|
+
function TextAreaComponent(cdr) {
|
|
13457
|
+
this.cdr = cdr;
|
|
13396
13458
|
this.onChange = function () { };
|
|
13397
13459
|
this.onTouched = function () { };
|
|
13398
13460
|
this.disabled = false;
|
|
@@ -13400,6 +13462,9 @@
|
|
|
13400
13462
|
this.inputId = "textarea-" + Math.random();
|
|
13401
13463
|
this.rows = 5;
|
|
13402
13464
|
this.speechRecognition = false;
|
|
13465
|
+
this._inputStyle = {
|
|
13466
|
+
resize: 'vertical'
|
|
13467
|
+
};
|
|
13403
13468
|
this.readOnly = false;
|
|
13404
13469
|
this.renderTextArea = false;
|
|
13405
13470
|
}
|
|
@@ -13413,11 +13478,22 @@
|
|
|
13413
13478
|
this._textAreaElement = value;
|
|
13414
13479
|
setTimeout(function () {
|
|
13415
13480
|
_this.renderTextArea = true;
|
|
13481
|
+
_this.cdr.detectChanges();
|
|
13416
13482
|
});
|
|
13417
13483
|
},
|
|
13418
13484
|
enumerable: true,
|
|
13419
13485
|
configurable: true
|
|
13420
13486
|
});
|
|
13487
|
+
Object.defineProperty(TextAreaComponent.prototype, "inputStyle", {
|
|
13488
|
+
get: function () {
|
|
13489
|
+
return this._inputStyle;
|
|
13490
|
+
},
|
|
13491
|
+
set: function (value) {
|
|
13492
|
+
this._inputStyle = __assign(__assign({}, value), this._inputStyle);
|
|
13493
|
+
},
|
|
13494
|
+
enumerable: true,
|
|
13495
|
+
configurable: true
|
|
13496
|
+
});
|
|
13421
13497
|
TextAreaComponent.prototype.writeValue = function (obj) {
|
|
13422
13498
|
this.value = obj;
|
|
13423
13499
|
};
|
|
@@ -13443,6 +13519,9 @@
|
|
|
13443
13519
|
this.setValue(recognizedText);
|
|
13444
13520
|
};
|
|
13445
13521
|
var TextAreaComponent_1;
|
|
13522
|
+
TextAreaComponent.ctorParameters = function () { return [
|
|
13523
|
+
{ type: core.ChangeDetectorRef }
|
|
13524
|
+
]; };
|
|
13446
13525
|
__decorate([
|
|
13447
13526
|
core.ViewChild('textArea', { read: core.ElementRef })
|
|
13448
13527
|
], TextAreaComponent.prototype, "textAreaElement", null);
|
|
@@ -13460,7 +13539,7 @@
|
|
|
13460
13539
|
], TextAreaComponent.prototype, "keyFilter", void 0);
|
|
13461
13540
|
__decorate([
|
|
13462
13541
|
core.Input()
|
|
13463
|
-
], TextAreaComponent.prototype, "inputStyle",
|
|
13542
|
+
], TextAreaComponent.prototype, "inputStyle", null);
|
|
13464
13543
|
__decorate([
|
|
13465
13544
|
core.Input()
|
|
13466
13545
|
], TextAreaComponent.prototype, "readOnly", void 0);
|
|
@@ -13556,14 +13635,17 @@
|
|
|
13556
13635
|
this.recognition.stop();
|
|
13557
13636
|
};
|
|
13558
13637
|
SpeechRecognitionService.prototype.setRecognition = function () {
|
|
13638
|
+
var _this = this;
|
|
13639
|
+
var _a;
|
|
13559
13640
|
var SpeechRecognitionConstructor = window.SpeechRecognition || window.webkitSpeechRecognition;
|
|
13560
13641
|
if (!SpeechRecognitionConstructor) {
|
|
13561
13642
|
throw new Error('Speech recognition is not supported in this browser.');
|
|
13562
13643
|
}
|
|
13563
13644
|
this.recognition = new SpeechRecognitionConstructor();
|
|
13564
|
-
this.recognition.lang = this.localeService.getLocaleOptions().locale || 'pt-BR';
|
|
13645
|
+
this.recognition.lang = ((_a = this.localeService.getLocaleOptions()) === null || _a === void 0 ? void 0 : _a.locale) || 'pt-BR';
|
|
13565
13646
|
this.recognition.interimResults = false;
|
|
13566
13647
|
this.recognition.maxAlternatives = 1;
|
|
13648
|
+
this.localeService.getLocale().subscribe(function (locale) { return _this.recognition.lang = locale; });
|
|
13567
13649
|
};
|
|
13568
13650
|
SpeechRecognitionService.ctorParameters = function () { return [
|
|
13569
13651
|
{ type: LocaleService },
|
|
@@ -13592,10 +13674,13 @@
|
|
|
13592
13674
|
if (!_voices.length) {
|
|
13593
13675
|
speechSynthesis.onvoiceschanged = function () {
|
|
13594
13676
|
_this.ngZone.run(function () {
|
|
13677
|
+
var _a;
|
|
13595
13678
|
_voices = speechSynthesis.getVoices();
|
|
13596
|
-
var currentLang = _this.locale.getLocaleOptions().locale || 'pt-BR';
|
|
13597
|
-
_this.
|
|
13598
|
-
_this.
|
|
13679
|
+
var currentLang = ((_a = _this.locale.getLocaleOptions()) === null || _a === void 0 ? void 0 : _a.locale) || 'pt-BR';
|
|
13680
|
+
_this.setActiveVoice(_voices, currentLang);
|
|
13681
|
+
_this.locale.getLocale().subscribe(function (locale) {
|
|
13682
|
+
_this.setActiveVoice(_voices, locale);
|
|
13683
|
+
});
|
|
13599
13684
|
});
|
|
13600
13685
|
};
|
|
13601
13686
|
}
|
|
@@ -13642,6 +13727,12 @@
|
|
|
13642
13727
|
enumerable: true,
|
|
13643
13728
|
configurable: true
|
|
13644
13729
|
});
|
|
13730
|
+
TextToSpeechService.prototype.setActiveVoice = function (voices, lang) {
|
|
13731
|
+
var _voice = voices.find(function (voice) { return voice.lang === lang; });
|
|
13732
|
+
if (_voice) {
|
|
13733
|
+
this.activeVoice = _voice;
|
|
13734
|
+
}
|
|
13735
|
+
};
|
|
13645
13736
|
TextToSpeechService.ctorParameters = function () { return [
|
|
13646
13737
|
{ type: LocaleService },
|
|
13647
13738
|
{ type: core.NgZone }
|
|
@@ -13666,19 +13757,11 @@
|
|
|
13666
13757
|
this.isDoneSpeaking = false;
|
|
13667
13758
|
this.onDestroy$ = new rxjs.Subject();
|
|
13668
13759
|
this.VOICE_SPEEDS = [0.5, 1, 1.5, 2];
|
|
13669
|
-
this.SPEECH_RECOGNITION_MARGIN_OFFSET = 13;
|
|
13670
13760
|
this.keydownEventListener = function (event) {
|
|
13671
13761
|
if (_this.disabled) {
|
|
13672
13762
|
event.preventDefault();
|
|
13673
13763
|
}
|
|
13674
13764
|
};
|
|
13675
|
-
this.TEXT_AREA_ELEMENT_MUTATION_OBSERVER = new MutationObserver(function () {
|
|
13676
|
-
_this.SPEECH_CONTAINER_WIDTH_CALLBACK();
|
|
13677
|
-
});
|
|
13678
|
-
this.SPEECH_CONTAINER_WIDTH_CALLBACK = function () {
|
|
13679
|
-
_this.setSpeechContainerWidth();
|
|
13680
|
-
};
|
|
13681
|
-
this.speechRecognitionContainerWidth = 0;
|
|
13682
13765
|
this.disabled = false;
|
|
13683
13766
|
this.isSpeaking = false;
|
|
13684
13767
|
this.voiceSpeed = 1;
|
|
@@ -13698,15 +13781,6 @@
|
|
|
13698
13781
|
}
|
|
13699
13782
|
this.textAreaElement.placeholder = this.translateService.instant("platform.angular_components.text_area_speech_recognition_placeholder");
|
|
13700
13783
|
this.textAreaElement.addEventListener('keydown', this.keydownEventListener);
|
|
13701
|
-
var config = { attributes: true, childList: true, subtree: true };
|
|
13702
|
-
this.TEXT_AREA_ELEMENT_MUTATION_OBSERVER.observe(this.textAreaElement, config);
|
|
13703
|
-
window.addEventListener('resize', this.SPEECH_CONTAINER_WIDTH_CALLBACK);
|
|
13704
|
-
};
|
|
13705
|
-
SpeechRecognitionComponent.prototype.ngAfterViewInit = function () {
|
|
13706
|
-
var _this = this;
|
|
13707
|
-
setTimeout(function () {
|
|
13708
|
-
_this.setSpeechContainerWidth();
|
|
13709
|
-
});
|
|
13710
13784
|
};
|
|
13711
13785
|
SpeechRecognitionComponent.prototype.onListen = function () {
|
|
13712
13786
|
var _this = this;
|
|
@@ -13780,9 +13854,6 @@
|
|
|
13780
13854
|
SpeechRecognitionComponent.prototype.ngOnDestroy = function () {
|
|
13781
13855
|
this.onDestroy$.next();
|
|
13782
13856
|
this.onDestroy$.complete();
|
|
13783
|
-
this.textAreaElement.removeEventListener('keydown', this.keydownEventListener);
|
|
13784
|
-
window.removeEventListener('resize', this.SPEECH_CONTAINER_WIDTH_CALLBACK);
|
|
13785
|
-
this.TEXT_AREA_ELEMENT_MUTATION_OBSERVER.disconnect();
|
|
13786
13857
|
};
|
|
13787
13858
|
SpeechRecognitionComponent.prototype.toggleTextToSpeech = function () {
|
|
13788
13859
|
if (this.isPlayingTextToSpeech) {
|
|
@@ -13839,9 +13910,6 @@
|
|
|
13839
13910
|
_this.isDoneSpeaking = true;
|
|
13840
13911
|
});
|
|
13841
13912
|
};
|
|
13842
|
-
SpeechRecognitionComponent.prototype.setSpeechContainerWidth = function () {
|
|
13843
|
-
this.speechRecognitionContainerWidth = this.textAreaElement.getBoundingClientRect().width - this.SPEECH_RECOGNITION_MARGIN_OFFSET;
|
|
13844
|
-
};
|
|
13845
13913
|
SpeechRecognitionComponent.ctorParameters = function () { return [
|
|
13846
13914
|
{ type: SpeechRecognitionService },
|
|
13847
13915
|
{ type: TextToSpeechService },
|
|
@@ -13856,8 +13924,8 @@
|
|
|
13856
13924
|
SpeechRecognitionComponent = __decorate([
|
|
13857
13925
|
core.Component({
|
|
13858
13926
|
selector: 's-speech-recognition',
|
|
13859
|
-
template: "<section class=\"speech-recognition\"
|
|
13860
|
-
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}"]
|
|
13927
|
+
template: "<section class=\"speech-recognition\">\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",
|
|
13928
|
+
styles: [".speech-recognition{display:-ms-flexbox;display:flex;gap:10px;-ms-flex-pack:justify;justify-content:space-between;width:100%}.speech-recognition-buttons{display:-ms-flexbox;display:flex;gap:10px;position:relative;bottom:15px;margin-right:16px}.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}"]
|
|
13861
13929
|
})
|
|
13862
13930
|
], SpeechRecognitionComponent);
|
|
13863
13931
|
return SpeechRecognitionComponent;
|
|
@@ -17829,6 +17897,7 @@
|
|
|
17829
17897
|
this._iassistService = _iassistService;
|
|
17830
17898
|
this._formBuilder = _formBuilder;
|
|
17831
17899
|
this._translateService = _translateService;
|
|
17900
|
+
this.speechRecognition = false;
|
|
17832
17901
|
this.isVisible = false;
|
|
17833
17902
|
this.isLoading = false;
|
|
17834
17903
|
}
|
|
@@ -17893,6 +17962,7 @@
|
|
|
17893
17962
|
type: exports.FieldType.Text,
|
|
17894
17963
|
label: this._translateService.instant("platform.angular_components.context"),
|
|
17895
17964
|
size: { sm: 12, md: 12, lg: 12, xl: 12 },
|
|
17965
|
+
speechRecognition: this.speechRecognition
|
|
17896
17966
|
}),
|
|
17897
17967
|
];
|
|
17898
17968
|
};
|
|
@@ -17928,10 +17998,13 @@
|
|
|
17928
17998
|
__decorate([
|
|
17929
17999
|
core.Input()
|
|
17930
18000
|
], TextAreaIAComponent.prototype, "cols", void 0);
|
|
18001
|
+
__decorate([
|
|
18002
|
+
core.Input()
|
|
18003
|
+
], TextAreaIAComponent.prototype, "speechRecognition", void 0);
|
|
17931
18004
|
TextAreaIAComponent = TextAreaIAComponent_1 = __decorate([
|
|
17932
18005
|
core.Component({
|
|
17933
18006
|
selector: "s-text-area-ia",
|
|
17934
|
-
template: "<s-loading-state\n [loading]=\"isLoading\"\n [blockWindow]=\"true\"
|
|
18007
|
+
template: "<s-loading-state\n [loading]=\"isLoading\"\n [blockWindow]=\"true\">\n</s-loading-state>\n\n<p-dialog\n [(visible)]=\"isVisible\"\n [modal]=\"true\"\n [style]=\"{ width: '50vw' }\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n (onHide)=\"onHideDialog()\">\n <p-header>\n <div class=\"dialog-header\">\n <span class=\"iassist-icon\">\n <ng-container [ngTemplateOutlet]=\"iassistIcon\"></ng-container>\n </span>\n IAssist - Content Generator\n </div>\n </p-header>\n <s-dynamic-form\n [fields]=\"fields\"\n [form]=\"formGroup\">\n </s-dynamic-form>\n <p-footer>\n <div class=\"footer-content\">\n <s-button\n id=\"-submit-button\"\n type=\"button\"\n [label]=\"'platform.angular_components.generate_text' | translate\"\n (onClick)=\"submitContext()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\">\n </s-button>\n <s-button\n id=\"-cancel-button\"\n type=\"button\"\n priority=\"link\"\n [label]=\"'platform.angular_components.cancel' | translate\"\n (onClick)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\">\n </s-button>\n </div>\n </p-footer>\n</p-dialog>\n\n<div class=\"textarea-ia\">\n <s-textarea\n [inputId]=\"id\"\n [rows]=\"rows\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n [readOnly]=\"readonly\"\n [speechRecognition]=\"speechRecognition\"\n ></s-textarea>\n <button\n class=\"iassist-button\"\n [class.speech-recognition]=\"speechRecognition\"\n (click)=\"showDialog()\"\n sTooltip=\"IAssist - Content Generator\">\n <ng-container [ngTemplateOutlet]=\"iassistIcon\"></ng-container>\n </button>\n</div>\n\n<ng-template #iassistIcon>\n <svg style=\"width: 100%; height: 100%;\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5.81451 18.1054L5.99593 17.6059L7.52166 13.4099L7.60877 13.1726L7.61277 13.1614L7.94285 12.2543L8.01159 12.0648L8.05394 11.949L5.2998 8.52426L5.02726 8.18379C5.00569 8.15821 4.9881 8.13104 4.97292 8.10226C4.90099 7.9632 4.85063 7.81294 4.82186 7.6531C4.73075 7.1344 4.90418 6.60771 5.28382 6.24326C5.29421 6.23447 5.3038 6.22567 5.31419 6.21688L5.47164 6.0914L9.3439 3.00238L9.5469 2.84094L9.57088 2.82096L10.4101 2.15041L11.8007 1.04188C11.2181 0.925188 10.6163 0.863647 10.0001 0.863647C4.95374 0.863647 0.863281 4.9541 0.863281 9.99963C0.863281 13.5346 2.87254 16.5989 5.80971 18.1182\" fill=\"#0FA389\"/>\n <path d=\"M14.099 1.83472L13.9495 2.24632L11.997 7.61074L11.9427 7.7594L11.9003 7.87369L14.7448 11.4103C14.7463 11.4127 14.7479 11.4143 14.7495 11.4167L14.9414 11.654C14.9541 11.67 14.9661 11.6868 14.9765 11.7044C15.0764 11.8698 15.1444 12.0505 15.1779 12.2431C15.273 12.7826 15.0812 13.3284 14.676 13.6897C14.656 13.7129 14.6345 13.7344 14.6105 13.7536L11.8563 15.9507L11.6789 16.0922L11.6022 16.1537L10.7406 16.8402V16.841L10.3937 17.1176L9.85747 17.5452L9.39951 17.9112L8.11035 18.9398C8.72016 19.0677 9.35155 19.1364 9.99973 19.1364C15.0461 19.1364 19.1365 15.046 19.1365 9.99964C19.1365 6.42789 17.0857 3.33727 14.099 1.83472Z\" fill=\"#0FA389\"/>\n <path d=\"M14.7287 12.3222C14.7047 12.1832 14.6551 12.0545 14.5864 11.941L14.3954 11.7036C14.3954 11.7036 14.3946 11.7028 14.3938 11.7028L11.3839 7.96005L10.5031 6.86511L10.4256 6.7676L9.03255 5.03487L8.83674 4.79191C8.79278 4.71678 8.75681 4.63446 8.73204 4.54814C8.72085 4.51058 8.71286 4.47222 8.70566 4.43465C8.68568 4.32196 8.68408 4.21007 8.69847 4.10217L8.62334 4.16291L8.44511 4.30438L5.75731 6.44871L5.60066 6.57339C5.34011 6.82275 5.20584 7.19279 5.27218 7.57482C5.29296 7.68751 5.32892 7.79541 5.37927 7.89292C5.37927 7.89292 5.37927 7.89292 5.38007 7.89371L5.6566 8.23818L8.57139 11.8627L8.63293 11.9394L9.53047 13.0559L9.59041 13.1303L9.98363 13.6186L11.0178 14.9046C11.0186 14.9054 11.0194 14.9069 11.0202 14.9077L11.1361 15.0516V15.0524C11.2184 15.1755 11.2768 15.317 11.3048 15.4728C11.3239 15.5807 11.3263 15.6878 11.3143 15.7925L11.3175 15.7965L11.3943 15.735L11.5717 15.5935L14.3266 13.3964L14.3218 13.3908C14.6335 13.1438 14.8022 12.7394 14.7287 12.3222Z\" fill=\"#F3F3F5\"/>\n <path d=\"M10.6822 15.0082C10.6814 15.0074 10.6806 15.0058 10.6806 15.005L10.5672 14.8643L10.3809 14.6325L10.3282 14.567L10.2211 14.4335L9.40028 13.4129L9.32835 13.3242L8.77289 12.6345L8.68098 12.5194L8.44121 12.2205L8.37168 12.4099L8.04159 13.317L8.0376 13.329L7.95128 13.5664L6.42475 17.7623L6.24333 18.2618L5.90605 19.1881L5.73262 19.6645C5.73182 19.6661 5.73102 19.6677 5.73102 19.6685C5.72863 19.6749 5.72703 19.6821 5.72543 19.6885C5.71584 19.7228 5.71424 19.758 5.72063 19.7948C5.74461 19.929 5.87329 20.0193 6.00836 19.9962C6.04112 19.9898 6.07229 19.9778 6.09867 19.9602C6.09867 19.9602 6.09947 19.9602 6.10027 19.9594L6.14103 19.9266L7.39422 18.9268L9.11496 17.5537L9.57292 17.1877L10.1092 16.7601L10.4561 16.4827L10.4537 16.4811C10.7582 16.2382 10.9236 15.8402 10.8509 15.4294C10.8237 15.2735 10.7654 15.1313 10.6822 15.0082Z\" fill=\"#0C847B\"/>\n <path d=\"M9.17644 4.56325C9.2124 4.68713 9.26915 4.80062 9.34268 4.90053C9.34348 4.90053 9.34428 4.90213 9.34428 4.90213L9.40342 4.97645C9.40502 4.97805 9.40582 4.97885 9.40662 4.98045L9.56806 5.17946L9.64878 5.28096L9.67915 5.31932L9.8414 5.51993L10.5559 6.40947L10.7054 6.59569L11.2169 7.23188L11.5142 7.60192L11.5693 7.45247L13.5202 2.08964L14.1596 0.332135C14.1596 0.330536 14.1604 0.328139 14.1612 0.32654C14.174 0.288177 14.1772 0.246617 14.17 0.205058C14.1468 0.0699879 14.0182 -0.0195258 13.8823 0.00365186C13.8407 0.0116442 13.8024 0.028428 13.7712 0.0540033L12.578 1.00589L12.498 1.06982L10.6958 2.50844L9.85658 3.17819L9.8326 3.19737L9.6296 3.35961L9.45297 3.50028C9.2116 3.73925 9.08692 4.08931 9.15006 4.44976C9.15726 4.48813 9.16525 4.52649 9.17644 4.56325Z\" fill=\"#0C847B\"/>\n </svg>\n</ng-template>\n",
|
|
17935
18008
|
providers: [
|
|
17936
18009
|
{
|
|
17937
18010
|
provide: forms.NG_VALUE_ACCESSOR,
|
|
@@ -17939,7 +18012,7 @@
|
|
|
17939
18012
|
multi: true,
|
|
17940
18013
|
},
|
|
17941
18014
|
],
|
|
17942
|
-
styles: [".footer-content{display:-ms-flexbox;display:flex;-ms-flex-positive:0;flex-grow:0}.textarea-ia{display:-ms-flexbox;display:flex;-ms-flex-align:end;align-items:flex-end;gap:8px}.textarea-ia
|
|
18015
|
+
styles: [".footer-content{display:-ms-flexbox;display:flex;-ms-flex-positive:0;flex-grow:0}.textarea-ia{display:-ms-flexbox;display:flex;-ms-flex-align:end;align-items:flex-end;gap:8px}.textarea-ia s-textarea{width:100%}.iassist-button{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;border:none;border-radius:50%;box-shadow:none;cursor:pointer;height:32px;width:32px}.dialog-header{display:-ms-flexbox;display:flex;gap:12px}.dialog-header .iassist-icon{display:block;height:24px;width:24px}.speech-recognition{margin-bottom:12.5px}"]
|
|
17943
18016
|
})
|
|
17944
18017
|
], TextAreaIAComponent);
|
|
17945
18018
|
return TextAreaIAComponent;
|
|
@@ -17956,10 +18029,10 @@
|
|
|
17956
18029
|
forms.ReactiveFormsModule,
|
|
17957
18030
|
core$1.TranslateModule,
|
|
17958
18031
|
dialog.DialogModule,
|
|
17959
|
-
inputtextarea.InputTextareaModule,
|
|
17960
18032
|
ButtonModule,
|
|
17961
18033
|
DynamicFormModule,
|
|
17962
18034
|
LoadingStateModule,
|
|
18035
|
+
TextAreaModule
|
|
17963
18036
|
],
|
|
17964
18037
|
declarations: [TextAreaIAComponent],
|
|
17965
18038
|
exports: [TextAreaIAComponent],
|
|
@@ -23153,9 +23226,9 @@
|
|
|
23153
23226
|
"platform.angular_components.remove_all": "Remover todos",
|
|
23154
23227
|
"platform.angular_components.country_name_gb": "Reino Unido",
|
|
23155
23228
|
"platform.angular_components.insight_footer": "Conteúdo gerado por inteligência artificial. Sujeito a imprecisões.",
|
|
23156
|
-
"platform.angular_components.text_area_speech_recognition_placeholder": "Preencha o campo
|
|
23157
|
-
"platform.angular_components.text_area_before_speech": "Grave ou ouça o texto clicando nos
|
|
23158
|
-
"platform.angular_components.text_area_while_speech": "Clique novamente no
|
|
23229
|
+
"platform.angular_components.text_area_speech_recognition_placeholder": "Preencha o campo com, pelo menos, uma frase",
|
|
23230
|
+
"platform.angular_components.text_area_before_speech": "Grave ou ouça o texto clicando nos ícones",
|
|
23231
|
+
"platform.angular_components.text_area_while_speech": "Clique novamente no ícone para finalizar",
|
|
23159
23232
|
"platform.angular_components.text_area_end_speech": "Gravação finalizada"
|
|
23160
23233
|
};
|
|
23161
23234
|
|