@seniorsistemas/angular-components 17.25.11 → 17.26.0-bugfix-sds-262-3164df87
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 +592 -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/field.d.ts +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/components/lookup/lookup.component.js +3 -3
- package/esm2015/components/dynamic-form/configurations/fields/field.js +4 -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/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/components/lookup/lookup.component.js +3 -3
- package/esm5/components/dynamic-form/configurations/fields/field.js +9 -3
- 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/locale/fallback.js +6 -2
- package/esm5/seniorsistemas-angular-components.js +65 -61
- package/fesm2015/seniorsistemas-angular-components.js +486 -7
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +528 -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';
|
|
@@ -6117,7 +6117,6 @@ class Field {
|
|
|
6117
6117
|
this.errorMessages = config.errorMessages;
|
|
6118
6118
|
this.bottomTemplate = config.bottomTemplate;
|
|
6119
6119
|
this.footer = config.footer;
|
|
6120
|
-
this.gridClass = Object.keys(this.size).map(key => `ui-${key}-${this.size[key]}`);
|
|
6121
6120
|
this.defaultValue = config.defaultValue;
|
|
6122
6121
|
this.representedBy = config.representedBy;
|
|
6123
6122
|
this.CustomFieldClass = config.CustomFieldClass;
|
|
@@ -6126,6 +6125,9 @@ class Field {
|
|
|
6126
6125
|
this.useInfoSignFocusedInputRef = (_f = config.useInfoSignFocusedInputRef) !== null && _f !== void 0 ? _f : true;
|
|
6127
6126
|
this.ignoreLabel = (_g = config.ignoreLabel) !== null && _g !== void 0 ? _g : false;
|
|
6128
6127
|
}
|
|
6128
|
+
get gridClass() {
|
|
6129
|
+
return Object.keys(this.size).map(key => `ui-${key}-${this.size[key]}`);
|
|
6130
|
+
}
|
|
6129
6131
|
}
|
|
6130
6132
|
|
|
6131
6133
|
class AutocompleteField extends Field {
|
|
@@ -6581,12 +6583,14 @@ class SliderField extends Field {
|
|
|
6581
6583
|
|
|
6582
6584
|
class TextAreaField extends Field {
|
|
6583
6585
|
constructor(config) {
|
|
6586
|
+
var _a;
|
|
6584
6587
|
super(config);
|
|
6585
6588
|
this.cols = config.cols;
|
|
6586
6589
|
this.rows = config.rows;
|
|
6587
6590
|
this.keyFilter = config.keyFilter;
|
|
6588
6591
|
this.style = config.style;
|
|
6589
6592
|
this.readonly = config.readonly;
|
|
6593
|
+
this.speechRecognition = (_a = config.speechRecognition) !== null && _a !== void 0 ? _a : false;
|
|
6590
6594
|
}
|
|
6591
6595
|
}
|
|
6592
6596
|
|
|
@@ -7277,7 +7281,7 @@ LookupComponent = LookupComponent_1 = __decorate([
|
|
|
7277
7281
|
Injectable(),
|
|
7278
7282
|
Component({
|
|
7279
7283
|
selector: "s-lookup",
|
|
7280
|
-
template: "<div [ngClass]=\"{ inputgroup: showSearch }\">\n <p-autoComplete\n #autocomplete\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"autocompleteForceSelection\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"lazyLoadLookup($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [emptyMessage]=\"lookupEmptyMessage\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\">\n <ng-template let-item pTemplate=\"selectedItem\">\n <span\n class=\"ui-autocomplete-token-label ng-tns-c65-43 ng-star-inserted\"\n [sTooltip]=\"lookupDisplayFieldTooltip ? item[lookupDisplayField] : null\"\n tooltipPosition=\"top\">\n {{item[lookupDisplayField]}}\n </span>\n </ng-template>\n </p-autoComplete>\n <button\n *ngIf=\"showSearch\"\n pButton\n type=\"button\"\n icon=\"fa fa-search\"\n class=\"button-addon\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\">\n </button>\n</div>\n<p-dialog\n appendTo=\"body\"\n styleClass=\"s-lookup-modal\"\n [header]=\"searchTitle || 'platform.angular_components.advanced_search' | translate\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n (onHide)=\"hideDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n #dialog>\n <div\n *ngIf=\"dialogVisible\"\n class=\"s-lookup-modal-container\">\n <div\n *ngIf=\"searchFields && searchFields.length\"\n class=\"filter\"\n [@collapseContent]=\"collapsed\n ? { value: 'hidden', params: { transitionParams: transitionOptions } }\n : { value: 'visible', params: { transitionParams: transitionOptions } }\"\n (@collapseContent.done)=\"onToggleDone()\">\n <form\n [formGroup]=\"formGroupDialog\"\n novalidate\n autocomplete=\"off\">\n <div\n *ngIf=\"!collapsed\"\n class=\"form-content\"\n [@childCollapseContent]=\"collapsed\n ? { value: ':leave', params: { transitionParams: transitionOptions } }\n : { value: ':enter', params: { transitionParams: transitionOptions } }\">\n <div class=\"filter-title sds-section-title\">\n {{ filterTitle || \"platform.angular_components.filters\" | translate }}\n </div>\n <div class=\"form-fields\">\n <s-dynamic-form\n [fields]=\"searchFields\"\n [form]=\"formGroupDialog\">\n </s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"filterLabel || 'platform.angular_components.filter' | translate\"\n (onClick)=\"search()\"\n sTooltip=\"(ALT + SHIFT + F)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"clearLabel || 'platform.angular_components.clear' | translate\"\n (onClick)=\"clear()\"\n priority=\"link\"\n sTooltip=\"(ALT + SHIFT + L)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n </div>\n </div>\n </div>\n </form>\n </div>\n <div\n *ngIf=\"searchFields && searchFields.length\"\n class=\"filter-toggle\">\n <div class=\"filter-toggle--start-border-mask\"></div>\n <button\n [id]=\"id + '-filter-toggle-button'\"\n type=\"button\"\n (click)=\"filterToggle()\">\n <span\n class=\"fa\"\n [ngClass]=\"{'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed}\"\n aria-hidden=\"true\">\n </span>\n </button>\n <div class=\"filter-toggle--end-border-mask\"></div>\n </div>\n <div\n class=\"content\"\n [ngClass]=\"{'empty-content': !searchTotalRecords && !loading}\">\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!searchTotalRecords && !loading\"\n [title]=\"searchEmptyTitle || 'platform.angular_components.no_records_found' | translate\"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\">\n </s-empty-state>\n\n <div>\n <s-button\n *ngIf=\"showAddOption\"\n priority=\"default\"\n [label]=\"'platform.angular_components.add' | translate\"\n (onClick)=\"onAdd.emit()\">\n </s-button>\n <s-button\n *ngIf=\"showEditOption\"\n priority=\"default\"\n [label]=\"'platform.angular_components.edit' | translate\"\n [disabled]=\"selected.length !== 1\"\n (onClick)=\"onEdit.emit(this.selected[0])\">\n </s-button>\n <s-button\n *ngIf=\"showRemoveOption\"\n priority=\"default\"\n [label]=\"'platform.angular_components.remove' | translate\"\n [disabled]=\"!selected.length\"\n (onClick)=\"onRemove.emit(this.selected)\">\n </s-button>\n </div>\n\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n *sLoadingState=\"{ loading: loading, indicator: 'logo' }\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\">\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col\n *ngIf=\"multiple\"\n style=\"width: 50px\" />\n <col\n *ngFor=\"let col of columns\"\n [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th\n *ngIf=\"multiple\"\n style=\"width: 50px\">\n <s-table-header-checkbox\n [useAllObject]=\"lookupRowProps ? false : true\"\n [rowProps]=\"lookupRowProps\">\n </s-table-header-checkbox>\n </th>\n <th\n [style.width]=\"col.width\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.sortableColumnName ? col.sortableColumnName : col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled?.includes(col.name)\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n <p-sortIcon\n [field]=\"col.name\"\n *ngIf=\"!sortableColumnsDisabled?.includes(col.name)\">\n </p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template\n pTemplate=\"body\"\n let-rowData\n let-columns\n let-rowIndex=\"rowIndex\">\n <tr\n sNavigation\n [pSelectableRow]=\"rowData\"\n [pSelectableRowIndex]=\"rowIndex\"\n sDoubleClick (onDoubleClick)=\"onTableRowDoubleClick(rowData)\">\n <td\n *ngIf=\"multiple\"\n style=\"width: 50px\"\n tabindex=\"0\">\n <p-tableCheckbox\n [value]=\"rowData\"\n [pSelectableRow]=\"rowData\">\n </p-tableCheckbox>\n </td>\n <td\n [style.width]=\"col['width']\"\n *ngFor=\"let col of searchGridFields\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\">\n <ng-container *ngSwitchCase=\"'Boolean'\">\n <ng-container *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getBooleanLabel(rowData, col.name, col.optionsLabel) }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Date'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate: col.calendarLocaleOptions?.dateFormat || \"L\" | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'DateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'LocalDateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Time'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedTime: col.calendarLocaleOptions?.dateFormat || \"LTS\" | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Integer'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getIntegerMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Double'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getDoubleMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Money'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getMoneyMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Number'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getNumberMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Enum'\">\n <ng-container *ngIf=\"getLabelForValue(getFieldValue(rowData, col.name), col.options); else emptyTemplate\">\n <ng-container *ngIf=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options); then withBadge; else withoutBadge\"></ng-container>\n <ng-template #withBadge>\n <s-badge\n [text]=\"getLabelForValue(getFieldValue(rowData, col.name), col.options)\"\n [color]=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options).color\"\n [type]=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options).type\"\n [iconClass]=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options).iconClass\"\n [iconPosition]=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options).iconPosition\">\n </s-badge>\n </ng-template>\n <ng-template #withoutBadge>\n <span> {{ getLabelForValue(getFieldValue(rowData, col.name), col.options) }} </span>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"col.mask && col.mask()\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name))\">\n <span>{{ getFieldValue(rowData, col.name) | sMaskFormatter: col.mask() }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(col.mask && col.mask())\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name)); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{ printRecordTotalizer() }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n <p-footer>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"selectLabel || 'platform.angular_components.select' | translate\"\n (onClick)=\"select()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [disabled]=\"!selected?.length\">\n </s-button>\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"cancelLabel || 'platform.angular_components.cancel' | translate\"\n (onClick)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n </p-footer>\n</p-dialog>\n<ng-template #emptyTemplate>\n <span [ngClass]=\"'sds-empty-value'\">\n {{ emptyFieldLabel || 'platform.angular_components.not_informed' | translate }}\n </span>\n</ng-template>\n",
|
|
7284
|
+
template: "<div [ngClass]=\"{ inputgroup: showSearch }\">\n <p-autoComplete\n #autocomplete\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"autocompleteForceSelection\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"lazyLoadLookup($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [emptyMessage]=\"lookupEmptyMessage\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\">\n <ng-template let-item pTemplate=\"selectedItem\">\n <span\n class=\"ui-autocomplete-token-label ng-tns-c65-43 ng-star-inserted\"\n [sTooltip]=\"lookupDisplayFieldTooltip ? item[lookupDisplayField] : null\"\n tooltipPosition=\"top\">\n {{item[lookupDisplayField]}}\n </span>\n </ng-template>\n </p-autoComplete>\n <button\n *ngIf=\"showSearch\"\n pButton\n type=\"button\"\n icon=\"fa fa-search\"\n class=\"button-addon\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\">\n </button>\n</div>\n<p-dialog\n appendTo=\"body\"\n styleClass=\"s-lookup-modal\"\n [header]=\"searchTitle || 'platform.angular_components.advanced_search' | translate\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n (onHide)=\"hideDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n #dialog>\n <div\n *ngIf=\"dialogVisible\"\n class=\"s-lookup-modal-container\">\n <div\n *ngIf=\"searchFields && searchFields.length\"\n class=\"filter\"\n [@collapseContent]=\"collapsed\n ? { value: 'hidden', params: { transitionParams: transitionOptions } }\n : { value: 'visible', params: { transitionParams: transitionOptions } }\"\n (@collapseContent.done)=\"onToggleDone()\">\n <form\n [formGroup]=\"formGroupDialog\"\n novalidate\n autocomplete=\"off\">\n <div\n *ngIf=\"!collapsed\"\n class=\"form-content\"\n [@childCollapseContent]=\"collapsed\n ? { value: ':leave', params: { transitionParams: transitionOptions } }\n : { value: ':enter', params: { transitionParams: transitionOptions } }\">\n <div class=\"filter-title sds-section-title\">\n {{ filterTitle || \"platform.angular_components.filters\" | translate }}\n </div>\n <div class=\"form-fields\">\n <s-dynamic-form\n [fields]=\"searchFields\"\n [form]=\"formGroupDialog\">\n </s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12 no-button-margin\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"filterLabel || 'platform.angular_components.filter' | translate\"\n (onClick)=\"search()\"\n sTooltip=\"(ALT + SHIFT + F)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"clearLabel || 'platform.angular_components.clear' | translate\"\n (onClick)=\"clear()\"\n priority=\"link\"\n sTooltip=\"(ALT + SHIFT + L)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n </div>\n </div>\n </div>\n </form>\n </div>\n <div\n *ngIf=\"searchFields && searchFields.length\"\n class=\"filter-toggle\">\n <button\n [id]=\"id + '-filter-toggle-button'\"\n type=\"button\"\n (click)=\"filterToggle()\">\n <span\n class=\"fa\"\n [ngClass]=\"{'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed}\"\n aria-hidden=\"true\">\n </span>\n </button>\n </div>\n <div\n class=\"content\"\n [ngClass]=\"{'empty-content': !searchTotalRecords && !loading}\">\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!searchTotalRecords && !loading\"\n [title]=\"searchEmptyTitle || 'platform.angular_components.no_records_found' | translate\"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\">\n </s-empty-state>\n\n <div class=\"content-child\">\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n *sLoadingState=\"{ loading: loading, indicator: 'logo' }\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\">\n <ng-template pTemplate=\"caption\">\n <div class=\"buttons-container no-button-margin\">\n <s-button\n *ngIf=\"showAddOption\"\n priority=\"default\"\n [label]=\"'platform.angular_components.add' | translate\"\n (onClick)=\"onAdd.emit()\">\n </s-button>\n <s-button\n *ngIf=\"showEditOption\"\n priority=\"default\"\n [label]=\"'platform.angular_components.edit' | translate\"\n [disabled]=\"selected.length !== 1\"\n (onClick)=\"onEdit.emit(this.selected[0])\">\n </s-button>\n <s-button\n *ngIf=\"showRemoveOption\"\n priority=\"default\"\n [label]=\"'platform.angular_components.remove' | translate\"\n [disabled]=\"!selected.length\"\n (onClick)=\"onRemove.emit(this.selected)\">\n </s-button>\n </div>\n </ng-template>\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col\n *ngIf=\"multiple\"\n style=\"width: 50px\" />\n <col\n *ngFor=\"let col of columns\"\n [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th\n *ngIf=\"multiple\"\n style=\"width: 50px\">\n <s-table-header-checkbox\n [useAllObject]=\"lookupRowProps ? false : true\"\n [rowProps]=\"lookupRowProps\">\n </s-table-header-checkbox>\n </th>\n <th\n [style.width]=\"col.width\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.sortableColumnName ? col.sortableColumnName : col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled?.includes(col.name)\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n <p-sortIcon\n [field]=\"col.name\"\n *ngIf=\"!sortableColumnsDisabled?.includes(col.name)\">\n </p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template\n pTemplate=\"body\"\n let-rowData\n let-columns\n let-rowIndex=\"rowIndex\">\n <tr\n sNavigation\n [pSelectableRow]=\"rowData\"\n [pSelectableRowIndex]=\"rowIndex\"\n sDoubleClick (onDoubleClick)=\"onTableRowDoubleClick(rowData)\">\n <td\n *ngIf=\"multiple\"\n style=\"width: 50px\"\n tabindex=\"0\">\n <p-tableCheckbox\n [value]=\"rowData\"\n [pSelectableRow]=\"rowData\">\n </p-tableCheckbox>\n </td>\n <td\n [style.width]=\"col['width']\"\n *ngFor=\"let col of searchGridFields\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\">\n <ng-container *ngSwitchCase=\"'Boolean'\">\n <ng-container *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getBooleanLabel(rowData, col.name, col.optionsLabel) }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Date'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate: col.calendarLocaleOptions?.dateFormat || \"L\" | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'DateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'LocalDateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Time'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedTime: col.calendarLocaleOptions?.dateFormat || \"LTS\" | async }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Integer'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getIntegerMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Double'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getDoubleMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Money'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getMoneyMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Number'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getNumberMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Enum'\">\n <ng-container *ngIf=\"getLabelForValue(getFieldValue(rowData, col.name), col.options); else emptyTemplate\">\n <ng-container *ngIf=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options); then withBadge; else withoutBadge\"></ng-container>\n <ng-template #withBadge>\n <s-badge\n [text]=\"getLabelForValue(getFieldValue(rowData, col.name), col.options)\"\n [color]=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options).color\"\n [type]=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options).type\"\n [iconClass]=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options).iconClass\"\n [iconPosition]=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options).iconPosition\">\n </s-badge>\n </ng-template>\n <ng-template #withoutBadge>\n <span> {{ getLabelForValue(getFieldValue(rowData, col.name), col.options) }} </span>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"col.mask && col.mask()\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name))\">\n <span>{{ getFieldValue(rowData, col.name) | sMaskFormatter: col.mask() }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(col.mask && col.mask())\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name)); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{ printRecordTotalizer() }}\n </span>\n </ng-template>\n </p-table>\n </div>\n\n </div>\n </div>\n <p-footer>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"selectLabel || 'platform.angular_components.select' | translate\"\n (onClick)=\"select()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [disabled]=\"!selected?.length\">\n </s-button>\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"cancelLabel || 'platform.angular_components.cancel' | translate\"\n (onClick)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n </p-footer>\n</p-dialog>\n<ng-template #emptyTemplate>\n <span [ngClass]=\"'sds-empty-value'\">\n {{ emptyFieldLabel || 'platform.angular_components.not_informed' | translate }}\n </span>\n</ng-template>\n",
|
|
7281
7285
|
providers: [
|
|
7282
7286
|
{
|
|
7283
7287
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -7307,7 +7311,7 @@ LookupComponent = LookupComponent_1 = __decorate([
|
|
|
7307
7311
|
transition("* <=> *", animate("{{transitionParams}}")),
|
|
7308
7312
|
]),
|
|
7309
7313
|
],
|
|
7310
|
-
styles: ["s-lookup.ng-dirty.ng-invalid .ui-inputtext{border-color:#c13018}s-lookup .ui-inputtext{border-top-right-radius:0;border-bottom-right-radius:0}s-lookup .inputgroup p-autocomplete+button,s-lookup p-autocomplete .ui-autocomplete-dropdown.ui-button{background-color:#fff;border-color:#ccc;border-width:1px 1px 1px 0;color:#333;min-height:35px;height:auto!important;min-width:auto;width:35px!important;overflow:hidden;border-top-left-radius:0;border-bottom-left-radius:0}s-lookup .inputgroup,s-lookup p-autocomplete span.ui-autocomplete-multiple{display:-ms-flexbox;display:flex}s-lookup .inputgroup p-autocomplete{display:inline-block}s-lookup .inputgroup p-autocomplete .ui-autocomplete-input{width:100%}s-lookup .inputgroup p-autocomplete+button:enabled:hover,s-lookup .inputgroup p-autocomplete+button:focus{background-color:#e6e6e6;border-color:#ccc}s-lookup .inputgroup p-autocomplete .ui-widget .ui-inputtext{border-right-width:1px;border-right-style:solid}s-lookup .ui-autocomplete-input-token,s-lookup .ui-autocomplete-input-token input{width:100%}s-lookup .ui-autocomplete .ui-autocomplete-token{max-width:100%}s-lookup .ui-autocomplete .ui-autocomplete-token-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body .s-lookup-modal.ui-dialog .ui-dialog-content{padding:0;margin-bottom:0;max-height:none}s-lookup .ui-table-scrollable-body{min-width:100%}.s-lookup-modal{height:80%!important;max-width:100%!important;max-height:inherit!important;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-direction:column;flex-direction:column}.s-lookup-modal .ui-dialog-content{height:auto!important;-ms-flex:1;flex:1;overflow:auto}.s-lookup-modal .ui-dialog-footer,.s-lookup-modal .ui-dialog-header{-ms-flex-negative:0;flex-shrink:0;border-radius:0 0 4px 4px}.s-lookup-modal .s-lookup-modal-container{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;height:100%;width:100%}.s-lookup-modal .s-lookup-modal-container .filter{position:relative;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0;width:85%;background-color:rgba(229,234,234,.5);height:100%;padding:.571rem}.s-lookup-modal .s-lookup-modal-container .filter form{width:100%;height:100%}.s-lookup-modal .s-lookup-modal-container .filter form .form-content{height:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.s-lookup-modal .s-lookup-modal-container .filter form .form-content .filter-title{padding-left:.5rem}.s-lookup-modal .s-lookup-modal-container .filter form .form-content .form-fields{overflow-y:auto}.s-lookup-modal .s-lookup-modal-container .filter-toggle{-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0;width:35px;border-radius:0 4px 4px 0}.s-lookup-modal .s-lookup-modal-container .filter-toggle button{-ms-flex-align:center;align-items:center;position:relative;background-color:rgba(229,234,234,.5);height:35px;width:100%;border:1px solid #e5eaea;outline:0;border-left:none;border-radius:0 4px 4px 0;cursor:pointer;text-decoration:none;text-transform:none;padding:7px;transition:background-color .2s ease-out,color .2s ease-out,border-color .2s ease-out}.s-lookup-modal .s-lookup-modal-container .filter-toggle button:focus,.s-lookup-modal .s-lookup-modal-container .filter-toggle button:hover{background-color:rgba(201,211,211,.5);border-color:#c9d3d3}.s-lookup-modal .s-lookup-modal-container .
|
|
7314
|
+
styles: [".no-button-margin s-button{margin-left:0}s-lookup.ng-dirty.ng-invalid .ui-inputtext{border-color:#c13018}s-lookup .ui-inputtext{border-top-right-radius:0;border-bottom-right-radius:0}s-lookup .inputgroup p-autocomplete+button,s-lookup p-autocomplete .ui-autocomplete-dropdown.ui-button{background-color:#fff;border-color:#ccc;border-width:1px 1px 1px 0;color:#333;min-height:35px;height:auto!important;min-width:auto;width:35px!important;overflow:hidden;border-top-left-radius:0;border-bottom-left-radius:0}s-lookup .inputgroup,s-lookup p-autocomplete span.ui-autocomplete-multiple{display:-ms-flexbox;display:flex}s-lookup .inputgroup p-autocomplete{display:inline-block}s-lookup .inputgroup p-autocomplete .ui-autocomplete-input{width:100%}s-lookup .inputgroup p-autocomplete+button:enabled:hover,s-lookup .inputgroup p-autocomplete+button:focus{background-color:#e6e6e6;border-color:#ccc}s-lookup .inputgroup p-autocomplete .ui-widget .ui-inputtext{border-right-width:1px;border-right-style:solid}s-lookup .ui-autocomplete-input-token,s-lookup .ui-autocomplete-input-token input{width:100%}s-lookup .ui-autocomplete .ui-autocomplete-token{max-width:100%}s-lookup .ui-autocomplete .ui-autocomplete-token-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body .s-lookup-modal.ui-dialog .ui-dialog-content{padding:0;margin-bottom:0;max-height:none}s-lookup .ui-table-scrollable-body{min-width:100%}.s-lookup-modal{height:80%!important;max-width:100%!important;max-height:inherit!important;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-direction:column;flex-direction:column}.s-lookup-modal .ui-dialog-content{height:auto!important;-ms-flex:1;flex:1;overflow:auto}.s-lookup-modal .ui-dialog-footer,.s-lookup-modal .ui-dialog-header{-ms-flex-negative:0;flex-shrink:0;border-radius:0 0 4px 4px}.s-lookup-modal .s-lookup-modal-container{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;height:100%;width:100%}.s-lookup-modal .s-lookup-modal-container .filter{position:relative;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0;width:85%;background-color:rgba(229,234,234,.5);height:100%;padding:.571rem}.s-lookup-modal .s-lookup-modal-container .filter form{width:100%;height:100%}.s-lookup-modal .s-lookup-modal-container .filter form .form-content{height:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.s-lookup-modal .s-lookup-modal-container .filter form .form-content .filter-title{padding-left:.5rem}.s-lookup-modal .s-lookup-modal-container .filter form .form-content .form-fields{overflow-y:auto}.s-lookup-modal .s-lookup-modal-container .filter-toggle{margin-top:15px;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0;width:35px;border-radius:0 4px 4px 0}.s-lookup-modal .s-lookup-modal-container .filter-toggle button{-ms-flex-align:center;align-items:center;position:relative;background-color:rgba(229,234,234,.5);height:35px;width:100%;border:1px solid #e5eaea;outline:0;border-left:none;border-radius:0 4px 4px 0;cursor:pointer;text-decoration:none;text-transform:none;padding:7px;transition:background-color .2s ease-out,color .2s ease-out,border-color .2s ease-out}.s-lookup-modal .s-lookup-modal-container .filter-toggle button:focus,.s-lookup-modal .s-lookup-modal-container .filter-toggle button:hover{background-color:rgba(201,211,211,.5);border-color:#c9d3d3}.s-lookup-modal .s-lookup-modal-container .content{-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow-x:auto;padding:.5rem}.s-lookup-modal .s-lookup-modal-container .content.empty-content{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.s-lookup-modal .s-lookup-modal-container .content.empty-content .content-child{display:none}.s-lookup-modal .s-lookup-modal-container .content .content-child{height:100%;overflow:auto}.s-lookup-modal .s-lookup-modal-container .content .buttons-container{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:10px}.s-lookup-modal .s-lookup-modal-container .content .s-loading-state-container,.s-lookup-modal .s-lookup-modal-container .content .s-loading-state-container .contents{height:100%}.s-lookup-modal .s-lookup-modal-container .content p-table>.ui-table{height:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.s-lookup-modal .s-lookup-modal-container .content p-table>.ui-table .ui-table-scrollable-wrapper{overflow:auto}@media (max-width:767px){.s-lookup-modal{border:none!important;top:0!important;left:0!important;width:100%!important;height:100%!important}}@media (min-width:768px){.s-lookup-modal{width:80%!important}.s-lookup-modal .s-lookup-modal-container .filter{width:40%}}@media (min-width:1200px){.s-lookup-modal{width:60%!important}.s-lookup-modal .s-lookup-modal-container .filter{width:30%}}.inputgroup p-autocomplete{width:calc(100% - 35px)}"]
|
|
7311
7315
|
})
|
|
7312
7316
|
], LookupComponent);
|
|
7313
7317
|
|
|
@@ -10646,7 +10650,7 @@ __decorate([
|
|
|
10646
10650
|
], TextAreaFieldComponent.prototype, "inputRef", void 0);
|
|
10647
10651
|
TextAreaFieldComponent = __decorate([
|
|
10648
10652
|
Component({
|
|
10649
|
-
template: "<s-field-label *ngIf=\"
|
|
10653
|
+
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
10654
|
})
|
|
10651
10655
|
], TextAreaFieldComponent);
|
|
10652
10656
|
|
|
@@ -12422,6 +12426,476 @@ TextFieldModule = __decorate([
|
|
|
12422
12426
|
})
|
|
12423
12427
|
], TextFieldModule);
|
|
12424
12428
|
|
|
12429
|
+
var TextAreaComponent_1;
|
|
12430
|
+
let TextAreaComponent = TextAreaComponent_1 = class TextAreaComponent {
|
|
12431
|
+
constructor() {
|
|
12432
|
+
this.onChange = () => { };
|
|
12433
|
+
this.onTouched = () => { };
|
|
12434
|
+
this.disabled = false;
|
|
12435
|
+
this.value = '';
|
|
12436
|
+
this.inputId = `textarea-${Math.random()}`;
|
|
12437
|
+
this.rows = 5;
|
|
12438
|
+
this.speechRecognition = false;
|
|
12439
|
+
this.readOnly = false;
|
|
12440
|
+
this.renderTextArea = false;
|
|
12441
|
+
}
|
|
12442
|
+
get textAreaElement() {
|
|
12443
|
+
return this._textAreaElement;
|
|
12444
|
+
}
|
|
12445
|
+
set textAreaElement(value) {
|
|
12446
|
+
this._textAreaElement = value;
|
|
12447
|
+
setTimeout(() => {
|
|
12448
|
+
this.renderTextArea = true;
|
|
12449
|
+
});
|
|
12450
|
+
}
|
|
12451
|
+
writeValue(obj) {
|
|
12452
|
+
this.value = obj;
|
|
12453
|
+
}
|
|
12454
|
+
registerOnChange(fn) {
|
|
12455
|
+
this.onChange = fn;
|
|
12456
|
+
}
|
|
12457
|
+
registerOnTouched(fn) {
|
|
12458
|
+
this.onTouched = fn;
|
|
12459
|
+
}
|
|
12460
|
+
setDisabledState(isDisabled) {
|
|
12461
|
+
this.disabled = isDisabled;
|
|
12462
|
+
}
|
|
12463
|
+
setValue(value) {
|
|
12464
|
+
if (this.disabled) {
|
|
12465
|
+
return;
|
|
12466
|
+
}
|
|
12467
|
+
this.value = value;
|
|
12468
|
+
this.writeValue(this.value);
|
|
12469
|
+
this.onChange(this.value);
|
|
12470
|
+
this.onTouched(this.value);
|
|
12471
|
+
}
|
|
12472
|
+
handleRecognizedText(recognizedText) {
|
|
12473
|
+
this.setValue(recognizedText);
|
|
12474
|
+
}
|
|
12475
|
+
};
|
|
12476
|
+
__decorate([
|
|
12477
|
+
ViewChild('textArea', { read: ElementRef })
|
|
12478
|
+
], TextAreaComponent.prototype, "textAreaElement", null);
|
|
12479
|
+
__decorate([
|
|
12480
|
+
Input()
|
|
12481
|
+
], TextAreaComponent.prototype, "inputId", void 0);
|
|
12482
|
+
__decorate([
|
|
12483
|
+
Input()
|
|
12484
|
+
], TextAreaComponent.prototype, "rows", void 0);
|
|
12485
|
+
__decorate([
|
|
12486
|
+
Input()
|
|
12487
|
+
], TextAreaComponent.prototype, "speechRecognition", void 0);
|
|
12488
|
+
__decorate([
|
|
12489
|
+
Input()
|
|
12490
|
+
], TextAreaComponent.prototype, "keyFilter", void 0);
|
|
12491
|
+
__decorate([
|
|
12492
|
+
Input()
|
|
12493
|
+
], TextAreaComponent.prototype, "inputStyle", void 0);
|
|
12494
|
+
__decorate([
|
|
12495
|
+
Input()
|
|
12496
|
+
], TextAreaComponent.prototype, "readOnly", void 0);
|
|
12497
|
+
TextAreaComponent = TextAreaComponent_1 = __decorate([
|
|
12498
|
+
Component({
|
|
12499
|
+
selector: 's-textarea',
|
|
12500
|
+
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",
|
|
12501
|
+
providers: [
|
|
12502
|
+
{
|
|
12503
|
+
provide: NG_VALUE_ACCESSOR,
|
|
12504
|
+
useExisting: forwardRef(() => TextAreaComponent_1),
|
|
12505
|
+
multi: true,
|
|
12506
|
+
},
|
|
12507
|
+
],
|
|
12508
|
+
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}"]
|
|
12509
|
+
})
|
|
12510
|
+
], TextAreaComponent);
|
|
12511
|
+
|
|
12512
|
+
let SpeechRecognitionService = class SpeechRecognitionService {
|
|
12513
|
+
constructor(localeService, ngZone) {
|
|
12514
|
+
this.localeService = localeService;
|
|
12515
|
+
this.ngZone = ngZone;
|
|
12516
|
+
this.isListening = false;
|
|
12517
|
+
this.TIMEOUT_NO_MESSAGE = 3000;
|
|
12518
|
+
this.setRecognition();
|
|
12519
|
+
}
|
|
12520
|
+
listen() {
|
|
12521
|
+
if (this.isListening) {
|
|
12522
|
+
return;
|
|
12523
|
+
}
|
|
12524
|
+
const speechSubject = new Subject();
|
|
12525
|
+
this.isListening = true;
|
|
12526
|
+
this.recognition.continuous = true;
|
|
12527
|
+
this.recognition.interimResults = true;
|
|
12528
|
+
this.recognition.maxAlternatives = 1;
|
|
12529
|
+
let silenceTimer;
|
|
12530
|
+
const restartSilenceTimer = () => {
|
|
12531
|
+
if (silenceTimer !== undefined) {
|
|
12532
|
+
clearTimeout(silenceTimer);
|
|
12533
|
+
}
|
|
12534
|
+
silenceTimer = setTimeout(() => {
|
|
12535
|
+
this.recognition.stop();
|
|
12536
|
+
}, this.TIMEOUT_NO_MESSAGE);
|
|
12537
|
+
};
|
|
12538
|
+
let fullTranscript = '';
|
|
12539
|
+
let interimTranscript = '';
|
|
12540
|
+
this.recognition.onresult = (event) => {
|
|
12541
|
+
this.ngZone.run(() => {
|
|
12542
|
+
restartSilenceTimer();
|
|
12543
|
+
let interimTranscript = '';
|
|
12544
|
+
for (let i = event.resultIndex; i < event.results.length; ++i) {
|
|
12545
|
+
const transcript = event.results[i][0].transcript;
|
|
12546
|
+
if (event.results[i].isFinal) {
|
|
12547
|
+
fullTranscript += transcript + '\n';
|
|
12548
|
+
}
|
|
12549
|
+
else {
|
|
12550
|
+
interimTranscript += transcript;
|
|
12551
|
+
}
|
|
12552
|
+
}
|
|
12553
|
+
interimTranscript = interimTranscript;
|
|
12554
|
+
speechSubject.next({ text: fullTranscript + interimTranscript, isFinal: false });
|
|
12555
|
+
});
|
|
12556
|
+
};
|
|
12557
|
+
this.recognition.onerror = () => {
|
|
12558
|
+
this.ngZone.run(() => {
|
|
12559
|
+
if (silenceTimer !== undefined) {
|
|
12560
|
+
clearTimeout(silenceTimer);
|
|
12561
|
+
}
|
|
12562
|
+
this.isListening = false;
|
|
12563
|
+
speechSubject.next({
|
|
12564
|
+
isFinal: true,
|
|
12565
|
+
text: ''
|
|
12566
|
+
});
|
|
12567
|
+
});
|
|
12568
|
+
};
|
|
12569
|
+
this.recognition.onend = () => {
|
|
12570
|
+
this.ngZone.run(() => {
|
|
12571
|
+
if (silenceTimer !== undefined) {
|
|
12572
|
+
clearTimeout(silenceTimer);
|
|
12573
|
+
}
|
|
12574
|
+
speechSubject.next({ text: fullTranscript + interimTranscript, isFinal: true });
|
|
12575
|
+
this.isListening = false;
|
|
12576
|
+
speechSubject.complete();
|
|
12577
|
+
});
|
|
12578
|
+
};
|
|
12579
|
+
this.recognition.start();
|
|
12580
|
+
return speechSubject;
|
|
12581
|
+
}
|
|
12582
|
+
stop() {
|
|
12583
|
+
this.recognition.stop();
|
|
12584
|
+
}
|
|
12585
|
+
setRecognition() {
|
|
12586
|
+
const SpeechRecognitionConstructor = window.SpeechRecognition || window.webkitSpeechRecognition;
|
|
12587
|
+
if (!SpeechRecognitionConstructor) {
|
|
12588
|
+
throw new Error('Speech recognition is not supported in this browser.');
|
|
12589
|
+
}
|
|
12590
|
+
this.recognition = new SpeechRecognitionConstructor();
|
|
12591
|
+
this.recognition.lang = this.localeService.getLocaleOptions().locale || 'pt-BR';
|
|
12592
|
+
this.recognition.interimResults = false;
|
|
12593
|
+
this.recognition.maxAlternatives = 1;
|
|
12594
|
+
}
|
|
12595
|
+
};
|
|
12596
|
+
SpeechRecognitionService.ctorParameters = () => [
|
|
12597
|
+
{ type: LocaleService },
|
|
12598
|
+
{ type: NgZone }
|
|
12599
|
+
];
|
|
12600
|
+
SpeechRecognitionService.ɵprov = ɵɵdefineInjectable({ factory: function SpeechRecognitionService_Factory() { return new SpeechRecognitionService(ɵɵinject(LocaleService), ɵɵinject(NgZone)); }, token: SpeechRecognitionService, providedIn: "root" });
|
|
12601
|
+
SpeechRecognitionService = __decorate([
|
|
12602
|
+
Injectable({
|
|
12603
|
+
providedIn: 'root'
|
|
12604
|
+
})
|
|
12605
|
+
], SpeechRecognitionService);
|
|
12606
|
+
|
|
12607
|
+
let TextToSpeechService = class TextToSpeechService {
|
|
12608
|
+
constructor(locale, ngZone) {
|
|
12609
|
+
this.locale = locale;
|
|
12610
|
+
this.ngZone = ngZone;
|
|
12611
|
+
this.utterance = new SpeechSynthesisUtterance();
|
|
12612
|
+
this.voices = [];
|
|
12613
|
+
this.setVoices();
|
|
12614
|
+
}
|
|
12615
|
+
setVoices() {
|
|
12616
|
+
let _voices = speechSynthesis.getVoices();
|
|
12617
|
+
if (!_voices.length) {
|
|
12618
|
+
speechSynthesis.onvoiceschanged = () => {
|
|
12619
|
+
this.ngZone.run(() => {
|
|
12620
|
+
_voices = speechSynthesis.getVoices();
|
|
12621
|
+
const currentLang = this.locale.getLocaleOptions().locale || 'pt-BR';
|
|
12622
|
+
this.voices = _voices.filter((voice) => voice.lang === currentLang);
|
|
12623
|
+
this.activeVoice = this.voices[0];
|
|
12624
|
+
});
|
|
12625
|
+
};
|
|
12626
|
+
}
|
|
12627
|
+
}
|
|
12628
|
+
/**
|
|
12629
|
+
* Updates the active voice
|
|
12630
|
+
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisVoice/voiceURI)
|
|
12631
|
+
* @param voiceUri
|
|
12632
|
+
*/
|
|
12633
|
+
updateVoice(voiceUri) {
|
|
12634
|
+
this.activeVoice = this.voices.find((voice) => voice.voiceURI === voiceUri);
|
|
12635
|
+
}
|
|
12636
|
+
speak(text, speed = 1) {
|
|
12637
|
+
if (!this.activeVoice) {
|
|
12638
|
+
return;
|
|
12639
|
+
}
|
|
12640
|
+
return new Promise((resolve) => {
|
|
12641
|
+
this.utterance.text = text;
|
|
12642
|
+
this.utterance.voice = this.activeVoice;
|
|
12643
|
+
this.utterance.rate = speed;
|
|
12644
|
+
speechSynthesis.speak(this.utterance);
|
|
12645
|
+
this.utterance.onend = () => {
|
|
12646
|
+
this.ngZone.run(() => {
|
|
12647
|
+
resolve(true);
|
|
12648
|
+
});
|
|
12649
|
+
};
|
|
12650
|
+
});
|
|
12651
|
+
}
|
|
12652
|
+
pause() {
|
|
12653
|
+
speechSynthesis.pause();
|
|
12654
|
+
}
|
|
12655
|
+
resume() {
|
|
12656
|
+
speechSynthesis.resume();
|
|
12657
|
+
}
|
|
12658
|
+
cancel() {
|
|
12659
|
+
speechSynthesis.cancel();
|
|
12660
|
+
}
|
|
12661
|
+
get hasVoice() {
|
|
12662
|
+
return !!this.activeVoice;
|
|
12663
|
+
}
|
|
12664
|
+
};
|
|
12665
|
+
TextToSpeechService.ctorParameters = () => [
|
|
12666
|
+
{ type: LocaleService },
|
|
12667
|
+
{ type: NgZone }
|
|
12668
|
+
];
|
|
12669
|
+
TextToSpeechService.ɵprov = ɵɵdefineInjectable({ factory: function TextToSpeechService_Factory() { return new TextToSpeechService(ɵɵinject(LocaleService), ɵɵinject(NgZone)); }, token: TextToSpeechService, providedIn: "root" });
|
|
12670
|
+
TextToSpeechService = __decorate([
|
|
12671
|
+
Injectable({
|
|
12672
|
+
providedIn: 'root'
|
|
12673
|
+
})
|
|
12674
|
+
], TextToSpeechService);
|
|
12675
|
+
|
|
12676
|
+
let SpeechRecognitionComponent = class SpeechRecognitionComponent {
|
|
12677
|
+
constructor(speechRecognitionService, textToSpeechService, translateService) {
|
|
12678
|
+
this.speechRecognitionService = speechRecognitionService;
|
|
12679
|
+
this.textToSpeechService = textToSpeechService;
|
|
12680
|
+
this.translateService = translateService;
|
|
12681
|
+
this._recognizedText = '';
|
|
12682
|
+
this.originalTextAreaElementText = '';
|
|
12683
|
+
this.isDoneSpeaking = false;
|
|
12684
|
+
this.onDestroy$ = new Subject();
|
|
12685
|
+
this.VOICE_SPEEDS = [0.5, 1, 1.5, 2];
|
|
12686
|
+
this.SPEECH_RECOGNITION_MARGIN_OFFSET = 13;
|
|
12687
|
+
this.keydownEventListener = (event) => {
|
|
12688
|
+
if (this.disabled) {
|
|
12689
|
+
event.preventDefault();
|
|
12690
|
+
}
|
|
12691
|
+
};
|
|
12692
|
+
this.TEXT_AREA_ELEMENT_MUTATION_OBSERVER = new MutationObserver(() => {
|
|
12693
|
+
this.SPEECH_CONTAINER_WIDTH_CALLBACK();
|
|
12694
|
+
});
|
|
12695
|
+
this.SPEECH_CONTAINER_WIDTH_CALLBACK = () => {
|
|
12696
|
+
this.setSpeechContainerWidth();
|
|
12697
|
+
};
|
|
12698
|
+
this.speechRecognitionContainerWidth = 0;
|
|
12699
|
+
this.disabled = false;
|
|
12700
|
+
this.isSpeaking = false;
|
|
12701
|
+
this.voiceSpeed = 1;
|
|
12702
|
+
this.isDisabledMicrophone = false;
|
|
12703
|
+
this.canRenderMicrophone = true;
|
|
12704
|
+
this.canRenderTextToSpeech = true;
|
|
12705
|
+
this.canRenderListeningText = false;
|
|
12706
|
+
this.canRenderDiscard = false;
|
|
12707
|
+
this.canRenderAprove = false;
|
|
12708
|
+
this.canRenderTextToSpeechToolbar = false;
|
|
12709
|
+
this.isPlayingTextToSpeech = false;
|
|
12710
|
+
this.recognizedText = new EventEmitter();
|
|
12711
|
+
}
|
|
12712
|
+
ngOnInit() {
|
|
12713
|
+
if (!this.textAreaElement) {
|
|
12714
|
+
throw new Error('textAreaElement is required');
|
|
12715
|
+
}
|
|
12716
|
+
this.textAreaElement.placeholder = this.translateService.instant("platform.angular_components.text_area_speech_recognition_placeholder");
|
|
12717
|
+
this.textAreaElement.addEventListener('keydown', this.keydownEventListener);
|
|
12718
|
+
const config = { attributes: true, childList: true, subtree: true };
|
|
12719
|
+
this.TEXT_AREA_ELEMENT_MUTATION_OBSERVER.observe(this.textAreaElement, config);
|
|
12720
|
+
window.addEventListener('resize', this.SPEECH_CONTAINER_WIDTH_CALLBACK);
|
|
12721
|
+
}
|
|
12722
|
+
ngAfterViewInit() {
|
|
12723
|
+
setTimeout(() => {
|
|
12724
|
+
this.setSpeechContainerWidth();
|
|
12725
|
+
});
|
|
12726
|
+
}
|
|
12727
|
+
onListen() {
|
|
12728
|
+
if (this.isDisabledMicrophone || this.isListening) {
|
|
12729
|
+
return;
|
|
12730
|
+
}
|
|
12731
|
+
this.disabled = true;
|
|
12732
|
+
this.canRenderMicrophone = false;
|
|
12733
|
+
this.canRenderListeningText = true;
|
|
12734
|
+
if (this.textAreaElement.value && !this.originalTextAreaElementText) {
|
|
12735
|
+
this.originalTextAreaElementText = this.textAreaElement.value;
|
|
12736
|
+
}
|
|
12737
|
+
this.textAreaElement.value = '';
|
|
12738
|
+
this.isSpeaking = true;
|
|
12739
|
+
this.speechRecognitionService.listen()
|
|
12740
|
+
.pipe(takeUntil(this.onDestroy$))
|
|
12741
|
+
.subscribe(({ text, isFinal }) => {
|
|
12742
|
+
this._recognizedText = text;
|
|
12743
|
+
this.setTextAreaValue(text);
|
|
12744
|
+
setTimeout(() => {
|
|
12745
|
+
this.textAreaElement.scrollTop = this.textAreaElement.scrollHeight;
|
|
12746
|
+
}, 120);
|
|
12747
|
+
if (isFinal) {
|
|
12748
|
+
this.canRenderAprove = true;
|
|
12749
|
+
this.canRenderDiscard = true;
|
|
12750
|
+
this.canRenderListeningText = false;
|
|
12751
|
+
this.isSpeaking = false;
|
|
12752
|
+
}
|
|
12753
|
+
});
|
|
12754
|
+
}
|
|
12755
|
+
onOpenToolbar() {
|
|
12756
|
+
if (this.isDisabledTextToSpeech) {
|
|
12757
|
+
return;
|
|
12758
|
+
}
|
|
12759
|
+
this.canRenderTextToSpeechToolbar = true;
|
|
12760
|
+
this.canRenderTextToSpeech = false;
|
|
12761
|
+
this.isPlayingTextToSpeech = true;
|
|
12762
|
+
this.speak();
|
|
12763
|
+
}
|
|
12764
|
+
onCloseToolbar() {
|
|
12765
|
+
this.canRenderTextToSpeechToolbar = false;
|
|
12766
|
+
this.canRenderTextToSpeech = true;
|
|
12767
|
+
this.isPlayingTextToSpeech = false;
|
|
12768
|
+
this.textToSpeechService.cancel();
|
|
12769
|
+
this.voiceSpeed = 1;
|
|
12770
|
+
}
|
|
12771
|
+
onDiscard() {
|
|
12772
|
+
this.canRenderAprove = false;
|
|
12773
|
+
this.canRenderDiscard = false;
|
|
12774
|
+
this.canRenderMicrophone = true;
|
|
12775
|
+
this.canRenderTextToSpeechToolbar = false;
|
|
12776
|
+
this.canRenderTextToSpeech = true;
|
|
12777
|
+
this._recognizedText = '';
|
|
12778
|
+
this.setTextAreaValue(this.originalTextAreaElementText);
|
|
12779
|
+
this.disabled = false;
|
|
12780
|
+
this.textToSpeechService.cancel();
|
|
12781
|
+
}
|
|
12782
|
+
onAprove() {
|
|
12783
|
+
this.canRenderAprove = false;
|
|
12784
|
+
this.canRenderDiscard = false;
|
|
12785
|
+
this.canRenderMicrophone = true;
|
|
12786
|
+
this.canRenderTextToSpeechToolbar = false;
|
|
12787
|
+
this.canRenderTextToSpeech = true;
|
|
12788
|
+
this.originalTextAreaElementText = this._recognizedText;
|
|
12789
|
+
this.recognizedText.emit(this._recognizedText);
|
|
12790
|
+
this._recognizedText = '';
|
|
12791
|
+
this.disabled = false;
|
|
12792
|
+
this.textToSpeechService.cancel();
|
|
12793
|
+
}
|
|
12794
|
+
ngOnDestroy() {
|
|
12795
|
+
this.onDestroy$.next();
|
|
12796
|
+
this.onDestroy$.complete();
|
|
12797
|
+
this.textAreaElement.removeEventListener('keydown', this.keydownEventListener);
|
|
12798
|
+
window.removeEventListener('resize', this.SPEECH_CONTAINER_WIDTH_CALLBACK);
|
|
12799
|
+
this.TEXT_AREA_ELEMENT_MUTATION_OBSERVER.disconnect();
|
|
12800
|
+
}
|
|
12801
|
+
toggleTextToSpeech() {
|
|
12802
|
+
if (this.isPlayingTextToSpeech) {
|
|
12803
|
+
this.textToSpeechService.pause();
|
|
12804
|
+
}
|
|
12805
|
+
else {
|
|
12806
|
+
if (this.isDoneSpeaking) {
|
|
12807
|
+
this.speak();
|
|
12808
|
+
}
|
|
12809
|
+
else {
|
|
12810
|
+
this.textToSpeechService.resume();
|
|
12811
|
+
}
|
|
12812
|
+
}
|
|
12813
|
+
this.isPlayingTextToSpeech = !this.isPlayingTextToSpeech;
|
|
12814
|
+
}
|
|
12815
|
+
restartTextToSpeech() {
|
|
12816
|
+
this.isPlayingTextToSpeech = true;
|
|
12817
|
+
this.textToSpeechService.cancel();
|
|
12818
|
+
this.speak();
|
|
12819
|
+
}
|
|
12820
|
+
updateVoiceSpeed() {
|
|
12821
|
+
const voiceSpeedIndex = this.VOICE_SPEEDS.indexOf(this.voiceSpeed);
|
|
12822
|
+
const nextVoiceSpeedIndex = this.VOICE_SPEEDS[voiceSpeedIndex + 1] ? voiceSpeedIndex + 1 : 0;
|
|
12823
|
+
this.voiceSpeed = this.VOICE_SPEEDS[nextVoiceSpeedIndex];
|
|
12824
|
+
this.textToSpeechService.cancel();
|
|
12825
|
+
this.speak();
|
|
12826
|
+
}
|
|
12827
|
+
stopListening() {
|
|
12828
|
+
this.speechRecognitionService.stop();
|
|
12829
|
+
}
|
|
12830
|
+
get isListening() {
|
|
12831
|
+
return this.speechRecognitionService.isListening;
|
|
12832
|
+
}
|
|
12833
|
+
get isDisabledTextToSpeech() {
|
|
12834
|
+
const hasTextToSpeechVoice = this.textToSpeechService.hasVoice;
|
|
12835
|
+
return !this._recognizedText || !hasTextToSpeechVoice || this.isListening;
|
|
12836
|
+
}
|
|
12837
|
+
setTextAreaValue(value) {
|
|
12838
|
+
this.textAreaElement.value = value;
|
|
12839
|
+
}
|
|
12840
|
+
speak() {
|
|
12841
|
+
this.isDoneSpeaking = false;
|
|
12842
|
+
this.textToSpeechService.speak(this._recognizedText, this.voiceSpeed).then(() => {
|
|
12843
|
+
this.isPlayingTextToSpeech = false;
|
|
12844
|
+
this.isDoneSpeaking = true;
|
|
12845
|
+
});
|
|
12846
|
+
}
|
|
12847
|
+
setSpeechContainerWidth() {
|
|
12848
|
+
this.speechRecognitionContainerWidth = this.textAreaElement.getBoundingClientRect().width - this.SPEECH_RECOGNITION_MARGIN_OFFSET;
|
|
12849
|
+
}
|
|
12850
|
+
};
|
|
12851
|
+
SpeechRecognitionComponent.ctorParameters = () => [
|
|
12852
|
+
{ type: SpeechRecognitionService },
|
|
12853
|
+
{ type: TextToSpeechService },
|
|
12854
|
+
{ type: TranslateService }
|
|
12855
|
+
];
|
|
12856
|
+
__decorate([
|
|
12857
|
+
Input()
|
|
12858
|
+
], SpeechRecognitionComponent.prototype, "textAreaElement", void 0);
|
|
12859
|
+
__decorate([
|
|
12860
|
+
Output()
|
|
12861
|
+
], SpeechRecognitionComponent.prototype, "recognizedText", void 0);
|
|
12862
|
+
SpeechRecognitionComponent = __decorate([
|
|
12863
|
+
Component({
|
|
12864
|
+
selector: 's-speech-recognition',
|
|
12865
|
+
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",
|
|
12866
|
+
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}"]
|
|
12867
|
+
})
|
|
12868
|
+
], SpeechRecognitionComponent);
|
|
12869
|
+
|
|
12870
|
+
let SpeechRecognitionModule = class SpeechRecognitionModule {
|
|
12871
|
+
};
|
|
12872
|
+
SpeechRecognitionModule = __decorate([
|
|
12873
|
+
NgModule({
|
|
12874
|
+
declarations: [SpeechRecognitionComponent],
|
|
12875
|
+
imports: [
|
|
12876
|
+
CommonModule,
|
|
12877
|
+
TranslateModule
|
|
12878
|
+
],
|
|
12879
|
+
exports: [SpeechRecognitionComponent]
|
|
12880
|
+
})
|
|
12881
|
+
], SpeechRecognitionModule);
|
|
12882
|
+
|
|
12883
|
+
let TextAreaModule = class TextAreaModule {
|
|
12884
|
+
};
|
|
12885
|
+
TextAreaModule = __decorate([
|
|
12886
|
+
NgModule({
|
|
12887
|
+
declarations: [TextAreaComponent],
|
|
12888
|
+
imports: [
|
|
12889
|
+
CommonModule,
|
|
12890
|
+
FormsModule,
|
|
12891
|
+
ReactiveFormsModule,
|
|
12892
|
+
SpeechRecognitionModule,
|
|
12893
|
+
KeyFilterModule
|
|
12894
|
+
],
|
|
12895
|
+
exports: [TextAreaComponent]
|
|
12896
|
+
})
|
|
12897
|
+
], TextAreaModule);
|
|
12898
|
+
|
|
12425
12899
|
let DynamicFormModule = class DynamicFormModule {
|
|
12426
12900
|
};
|
|
12427
12901
|
DynamicFormModule = __decorate([
|
|
@@ -12479,6 +12953,7 @@ DynamicFormModule = __decorate([
|
|
|
12479
12953
|
ProfilePictureModule,
|
|
12480
12954
|
EditorFieldModule,
|
|
12481
12955
|
FieldLabelModule,
|
|
12956
|
+
TextAreaModule
|
|
12482
12957
|
],
|
|
12483
12958
|
declarations: [
|
|
12484
12959
|
AutocompleteFieldComponent,
|
|
@@ -20977,12 +21452,16 @@ const fallback = {
|
|
|
20977
21452
|
"platform.angular_components.add_all": "Adicionar todos",
|
|
20978
21453
|
"platform.angular_components.remove_all": "Remover todos",
|
|
20979
21454
|
"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."
|
|
21455
|
+
"platform.angular_components.insight_footer": "Conteúdo gerado por inteligência artificial. Sujeito a imprecisões.",
|
|
21456
|
+
"platform.angular_components.text_area_speech_recognition_placeholder": "Preencha o campo, com pelo menos, uma frase",
|
|
21457
|
+
"platform.angular_components.text_area_before_speech": "Grave ou ouça o texto clicando nos Ícones",
|
|
21458
|
+
"platform.angular_components.text_area_while_speech": "Clique novamente no Ícone para finalizar",
|
|
21459
|
+
"platform.angular_components.text_area_end_speech": "Gravação finalizada"
|
|
20981
21460
|
};
|
|
20982
21461
|
|
|
20983
21462
|
/**
|
|
20984
21463
|
* Generated bundle index. Do not edit.
|
|
20985
21464
|
*/
|
|
20986
21465
|
|
|
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,
|
|
21466
|
+
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
21467
|
//# sourceMappingURL=seniorsistemas-angular-components.js.map
|