@seniorsistemas/angular-components 17.25.11 → 17.26.0-bugfix-sds-262-150ffd6b

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.
Files changed (51) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +592 -66
  2. package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
  4. package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
  5. package/components/dynamic-form/configurations/fields/field.d.ts +1 -1
  6. package/components/dynamic-form/configurations/fields/text-area-field.d.ts +2 -0
  7. package/components/index.d.ts +1 -0
  8. package/components/speech-recognition/speech-recognition/speech-recognition.component.d.ts +50 -0
  9. package/components/speech-recognition/speech-recognition.module.d.ts +2 -0
  10. package/components/speech-recognition/speech-recognition.service.d.ts +18 -0
  11. package/components/speech-recognition/text-to-speech.service.d.ts +22 -0
  12. package/components/text-area/index.d.ts +2 -0
  13. package/components/text-area/text-area/text-area.component.d.ts +24 -0
  14. package/components/text-area/text-area.module.d.ts +2 -0
  15. package/esm2015/components/dynamic-form/components/fields/text-area/text-area-field.component.js +2 -2
  16. package/esm2015/components/dynamic-form/components/lookup/lookup.component.js +3 -3
  17. package/esm2015/components/dynamic-form/configurations/fields/field.js +4 -2
  18. package/esm2015/components/dynamic-form/configurations/fields/text-area-field.js +3 -1
  19. package/esm2015/components/dynamic-form/dynamic-form.module.js +3 -1
  20. package/esm2015/components/index.js +2 -1
  21. package/esm2015/components/speech-recognition/speech-recognition/speech-recognition.component.js +202 -0
  22. package/esm2015/components/speech-recognition/speech-recognition.module.js +19 -0
  23. package/esm2015/components/speech-recognition/speech-recognition.service.js +102 -0
  24. package/esm2015/components/speech-recognition/text-to-speech.service.js +75 -0
  25. package/esm2015/components/text-area/index.js +3 -0
  26. package/esm2015/components/text-area/text-area/text-area.component.js +87 -0
  27. package/esm2015/components/text-area/text-area.module.js +24 -0
  28. package/esm2015/locale/fallback.js +6 -2
  29. package/esm2015/seniorsistemas-angular-components.js +65 -61
  30. package/esm5/components/dynamic-form/components/fields/text-area/text-area-field.component.js +2 -2
  31. package/esm5/components/dynamic-form/components/lookup/lookup.component.js +3 -3
  32. package/esm5/components/dynamic-form/configurations/fields/field.js +9 -3
  33. package/esm5/components/dynamic-form/configurations/fields/text-area-field.js +3 -1
  34. package/esm5/components/dynamic-form/dynamic-form.module.js +3 -1
  35. package/esm5/components/index.js +2 -1
  36. package/esm5/components/speech-recognition/speech-recognition/speech-recognition.component.js +216 -0
  37. package/esm5/components/speech-recognition/speech-recognition.module.js +22 -0
  38. package/esm5/components/speech-recognition/speech-recognition.service.js +104 -0
  39. package/esm5/components/speech-recognition/text-to-speech.service.js +83 -0
  40. package/esm5/components/text-area/index.js +3 -0
  41. package/esm5/components/text-area/text-area/text-area.component.js +94 -0
  42. package/esm5/components/text-area/text-area.module.js +27 -0
  43. package/esm5/locale/fallback.js +6 -2
  44. package/esm5/seniorsistemas-angular-components.js +65 -61
  45. package/fesm2015/seniorsistemas-angular-components.js +486 -7
  46. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  47. package/fesm5/seniorsistemas-angular-components.js +528 -8
  48. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  49. package/package.json +1 -1
  50. package/seniorsistemas-angular-components.d.ts +64 -60
  51. 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 .filter-toggle--start-border-mask{height:15px;border-left:1px solid #e5eaea}.s-lookup-modal .s-lookup-modal-container .filter-toggle--end-border-mask{height:calc(100% - 49px);border-left:1px solid #e5eaea}.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 .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{position:relative;height:100%}.s-lookup-modal .s-lookup-modal-container .content p-table .ui-table{height:100%}.s-lookup-modal .s-lookup-modal-container .content p-table .ui-table .ui-table-scrollable-wrapper{height:calc(100% - 60px)}.s-lookup-modal .s-lookup-modal-container .content p-table .ui-table .ui-table-scrollable-wrapper .ui-table-scrollable-view{height:100%}.s-lookup-modal .s-lookup-modal-container .content p-table .ui-table .ui-table-scrollable-wrapper .ui-table-scrollable-view .ui-table-scrollable-body{position:relative;height:calc(100% - 60px)}@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)}"]
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;-ms-flex:1;flex:1}.s-lookup-modal .s-lookup-modal-container .content p-table>.ui-table .ui-table-scrollable-wrapper .ui-table-scrollable-body{overflow:visible}@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=\"inputRef\" [field]=\"field\"\n [fieldContainerRef]=\"inputRef?.nativeElement\"></s-field-label>\n\n<textarea #inputRef\n [id]=\"(field.id || field.name)\"\n *ngIf=\"!field.keyFilter\"\n pInputTextarea\n [rows]=\"field.rows\"\n [cols]=\"field.cols\"\n [formControl]=\"formControl\"\n style=\"resize: vertical;\"\n [ngStyle]=\"field.style\"\n [readonly]=\"field.readonly ? field.readonly() : false\"\n></textarea>\n<textarea #inputRef\n [id]=\"(field.id || field.name)\"\n *ngIf=\"field.keyFilter\"\n pInputTextarea\n [rows]=\"field.rows\"\n [cols]=\"field.cols\"\n [formControl]=\"formControl\"\n style=\"resize: vertical;\"\n [pKeyFilter]=\"field.keyFilter\"\n [ngStyle]=\"field.style\"\n [readonly]=\"field.readonly ? field.readonly() : false\"\n></textarea>\n"
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, AutocompleteFieldComponent as ɵby, BooleanFieldComponent as ɵbz, InfoSignComponent as ɵc, BooleanSwitchFieldComponent as ɵca, CalendarFieldComponent as ɵcb, ChipsFieldComponent as ɵcc, CountryPhonePickerFieldComponent as ɵcd, DynamicFieldComponent as ɵce, DynamicFormDirective as ɵcf, FieldsetComponent as ɵcg, FileUploadComponent$1 as ɵch, LookupFieldComponent as ɵci, RadioButtonComponent as ɵcj, RowComponent as ɵck, SectionComponent as ɵcl, SelectFieldComponent as ɵcm, SliderFieldComponent as ɵcn, TextAreaFieldComponent as ɵco, TextAreaIAFieldComponent as ɵcp, IAssistService as ɵcq, ButtonFieldComponent as ɵcr, DecimalField as ɵct, SideTableComponent as ɵcu, InfiniteScrollModule as ɵcv, InfiniteScrollDirective as ɵcw, IAInsightSidebarComponent as ɵcx, IAInsightCardComponent as ɵcy, IAInsightCardLoaderComponent as ɵcz, TieredMenuEventService as ɵd, GridMenuItemComponent as ɵda, InlineEditItemComponent as ɵdb, InlineEditCalendarComponent as ɵdc, InlineEditLookupComponent as ɵdd, InlineEditNumberComponent as ɵde, InlineEditTextComponent as ɵdf, InlineEditTextAreaComponent as ɵdg, InlineEditTextAreaIAComponent as ɵdh, KanbanEventService as ɵdi, KanbanItemComponent as ɵdj, KanbanColumnComponent as ɵdk, KanbanItemDraggingComponent as ɵdl, NumberLocaleOptions as ɵdm, BorderButtonModule as ɵdn, BorderButtonComponent as ɵdo, ProgressBarDeterminateComponent as ɵdp, ProgressBarIndeterminateComponent as ɵdq, SelectButtonItemComponent as ɵdr, SlidePanelService as ɵds, ThumbnailItemComponent as ɵdt, ThumbnailItemVideoComponent as ɵdu, ThumbnailItemImageComponent as ɵdv, TimelineItemModule as ɵdw, TimelineIconItemComponent as ɵdx, HorizontalTimelineModule as ɵdy, HorizontalTimelineComponent as ɵdz, TieredMenuService as ɵe, VerticalTimelineModule as ɵea, VerticalTimelineComponent as ɵeb, RangeLineComponent as ɵec, CollapseOptionComponent as ɵed, CollapsedItemsComponent as ɵee, VerticalItemsComponent as ɵef, ChipItemComponent as ɵeg, 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 };
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