appproject-framework 1.0.9 → 1.0.11

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.
@@ -8,18 +8,18 @@ import * as i1$1 from '@angular/common/http';
8
8
  import { HttpHeaders } from '@angular/common/http';
9
9
  import * as i1$2 from '@angular/router';
10
10
  import { BehaviorSubject, filter, Subject, debounceTime, switchMap, of, Observable } from 'rxjs';
11
- import * as i2 from '@ionic/angular/standalone';
12
- import { IonButton, IonIcon, IonItem, IonLabel, IonInput, ModalController, IonContent, IonButtons, IonTitle, IonToolbar, IonHeader, IonList, IonSpinner, IonTextarea, IonCheckbox, IonSelect, IonSelectOption, IonRadio, IonCol, IonRow, IonRadioGroup, IonListHeader } from '@ionic/angular/standalone';
11
+ import * as i2 from '@ionic/angular';
12
+ import { IonButton, IonIcon, IonItem, IonLabel, IonInput, ModalController, IonContent, IonButtons, IonTitle, IonToolbar, IonHeader, IonList, IonSpinner, IonTextarea, IonCheckbox, IonSelect, IonSelectOption, IonRadio, IonCol, IonRow, IonRadioGroup, IonListHeader } from '@ionic/angular';
13
13
  import { NgClass, DatePipe, DecimalPipe } from '@angular/common';
14
14
  import { ClassicEditor, AccessibilityHelp, Alignment, Autoformat, AutoImage, AutoLink, Autosave, BlockQuote, Bold, CloudServices, Code, CodeBlock, Essentials, FindAndReplace, FontBackgroundColor, FontColor, FontFamily, FontSize, GeneralHtmlSupport, Heading, Highlight, HorizontalLine, ImageBlock, ImageCaption, ImageInline, ImageInsertViaUrl, ImageResize, ImageStyle, ImageTextAlternative, ImageToolbar, ImageUpload, Indent, IndentBlock, Italic, Link, LinkImage, List, ListProperties, MediaEmbed, Paragraph, PasteFromOffice, RemoveFormat, SelectAll, SpecialCharacters, SpecialCharactersArrows, SpecialCharactersCurrency, SpecialCharactersEssentials, SpecialCharactersLatin, SpecialCharactersMathematical, SpecialCharactersText, Strikethrough, Style, Subscript, Superscript, Table, TableCaption, TableCellProperties, TableColumnResize, TableProperties, TableToolbar, TextTransformation, TodoList, Underline, Undo } from 'ckeditor5';
15
15
  import * as i1$4 from '@ckeditor/ckeditor5-angular';
16
16
  import { CKEditorModule } from '@ckeditor/ckeditor5-angular';
17
17
 
18
18
  class AppprojectFramework {
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: AppprojectFramework, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: AppprojectFramework, isStandalone: true, selector: "kb-appproject-framework", ngImport: i0, template: ` <p>appproject-framework works!</p> `, isInline: true, styles: [""] });
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AppprojectFramework, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: AppprojectFramework, isStandalone: true, selector: "kb-appproject-framework", ngImport: i0, template: ` <p>appproject-framework works!</p> `, isInline: true, styles: [""] });
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: AppprojectFramework, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AppprojectFramework, decorators: [{
23
23
  type: Component,
24
24
  args: [{ selector: 'kb-appproject-framework', imports: [], template: ` <p>appproject-framework works!</p> ` }]
25
25
  }] });
@@ -81,10 +81,10 @@ class LibService {
81
81
  else
82
82
  return null;
83
83
  }
84
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LibService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
85
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LibService, providedIn: 'root' });
84
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LibService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
85
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LibService, providedIn: 'root' });
86
86
  }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: LibService, decorators: [{
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LibService, decorators: [{
88
88
  type: Injectable,
89
89
  args: [{
90
90
  providedIn: 'root'
@@ -621,10 +621,10 @@ class NomePipe {
621
621
  return "";
622
622
  return value.split(' ')[0];
623
623
  }
624
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: NomePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
625
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.1", ngImport: i0, type: NomePipe, isStandalone: true, name: "nome" });
624
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: NomePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
625
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: NomePipe, isStandalone: true, name: "nome" });
626
626
  }
627
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: NomePipe, decorators: [{
627
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: NomePipe, decorators: [{
628
628
  type: Pipe,
629
629
  args: [{
630
630
  name: 'nome',
@@ -650,10 +650,10 @@ class ValorFormatPipe {
650
650
  }
651
651
  return null;
652
652
  }
653
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: ValorFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
654
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.1", ngImport: i0, type: ValorFormatPipe, isStandalone: true, name: "valorFormat" });
653
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ValorFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
654
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: ValorFormatPipe, isStandalone: true, name: "valorFormat" });
655
655
  }
656
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: ValorFormatPipe, decorators: [{
656
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ValorFormatPipe, decorators: [{
657
657
  type: Pipe,
658
658
  args: [{
659
659
  name: 'valorFormat',
@@ -669,10 +669,10 @@ class SafeHtmlPipe {
669
669
  transform(value, ...args) {
670
670
  return this.sanitized.bypassSecurityTrustHtml(value);
671
671
  }
672
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
673
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.1", ngImport: i0, type: SafeHtmlPipe, isStandalone: true, name: "safeHtml" });
672
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
673
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: SafeHtmlPipe, isStandalone: true, name: "safeHtml" });
674
674
  }
675
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: SafeHtmlPipe, decorators: [{
675
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SafeHtmlPipe, decorators: [{
676
676
  type: Pipe,
677
677
  args: [{
678
678
  name: 'safeHtml',
@@ -1449,10 +1449,73 @@ class UtilsGeralService {
1449
1449
  comparaData = new Date();
1450
1450
  return data >= comparaData;
1451
1451
  }
1452
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: UtilsGeralService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1453
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: UtilsGeralService, providedIn: 'root' });
1452
+ //erros
1453
+ extractErrorCode = (error) => {
1454
+ let erroCode;
1455
+ if (error instanceof Response) {
1456
+ const body = (error.json() || '');
1457
+ const err = body['error'] || JSON.stringify(body);
1458
+ erroCode = error.status;
1459
+ }
1460
+ else {
1461
+ erroCode = error.status;
1462
+ }
1463
+ console.log('LogD erro service Code ', erroCode);
1464
+ return erroCode;
1465
+ };
1466
+ extractError = (error) => {
1467
+ let erroMsg;
1468
+ if (error instanceof Response) {
1469
+ const body = (error.json() || '');
1470
+ const err = body['error'] || JSON.stringify(body);
1471
+ erroMsg = `${error.status} - ${error.statusText || ''} ${err}`;
1472
+ //erroMsg = 'Erro response'; //error.error['message'] != null ? error.error['message'] : error.error
1473
+ }
1474
+ else {
1475
+ if (error.error instanceof Blob) {
1476
+ return error.error.text();
1477
+ }
1478
+ erroMsg = error.error['message'] != null ? error.error['message'] : error.error; //error.message ? error.message : error.toString();
1479
+ }
1480
+ console.log('LogD erro service ', erroMsg);
1481
+ return new Promise((resolve, reject) => {
1482
+ resolve(erroMsg);
1483
+ });
1484
+ };
1485
+ handleObservableError(error) {
1486
+ let code = this.extractErrorCode(error);
1487
+ console.log('error code', code);
1488
+ if (code == 401 || code == 404 || code == 0 || code == 502 || code == 503) {
1489
+ return new Promise((resolve, reject) => {
1490
+ if (code == 401) {
1491
+ /*
1492
+ if (this.authServiceBase) {
1493
+ this.authServiceBase.logout(true);
1494
+ }
1495
+ */
1496
+ /*
1497
+ if (this.routerBase) {
1498
+ this.routerBase.navigateByUrl('login');
1499
+ }
1500
+ */
1501
+ resolve('Acesso não autorizado. Faça login novamente.');
1502
+ }
1503
+ else if (code == 404) {
1504
+ resolve('Serviço não encontrado.');
1505
+ }
1506
+ else if (code == 0 || code == 502 || code == 503) {
1507
+ resolve('Não foi possivel conectar com o servidor');
1508
+ }
1509
+ });
1510
+ }
1511
+ else {
1512
+ return this.extractError(error);
1513
+ }
1514
+ }
1515
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UtilsGeralService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1516
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UtilsGeralService, providedIn: 'root' });
1454
1517
  }
1455
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: UtilsGeralService, decorators: [{
1518
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UtilsGeralService, decorators: [{
1456
1519
  type: Injectable,
1457
1520
  args: [{
1458
1521
  providedIn: 'root'
@@ -1609,10 +1672,10 @@ class UtilsService {
1609
1672
  });
1610
1673
  console.log('getFormValues', entity);
1611
1674
  }
1612
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: UtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1613
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: UtilsService, providedIn: 'root' });
1675
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1676
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UtilsService, providedIn: 'root' });
1614
1677
  }
1615
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: UtilsService, decorators: [{
1678
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UtilsService, decorators: [{
1616
1679
  type: Injectable,
1617
1680
  args: [{
1618
1681
  providedIn: 'root'
@@ -1743,10 +1806,10 @@ class DataService {
1743
1806
  return this.httpClient.delete(`${this.BASE_API}/${url}`);
1744
1807
  }
1745
1808
  }
1746
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DataService, deps: [{ token: LibConfigService }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1747
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DataService, providedIn: 'root' });
1809
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DataService, deps: [{ token: LibConfigService }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1810
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DataService, providedIn: 'root' });
1748
1811
  }
1749
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: DataService, decorators: [{
1812
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DataService, decorators: [{
1750
1813
  type: Injectable,
1751
1814
  args: [{
1752
1815
  providedIn: 'root'
@@ -1819,10 +1882,10 @@ class BasePage {
1819
1882
  return extractError(error);
1820
1883
  }
1821
1884
  }
1822
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BasePage, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Component });
1823
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: BasePage, isStandalone: true, selector: "ng-component", ngImport: i0, template: '', isInline: true });
1885
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BasePage, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Component });
1886
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: BasePage, isStandalone: true, selector: "ng-component", ngImport: i0, template: '', isInline: true });
1824
1887
  }
1825
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BasePage, decorators: [{
1888
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BasePage, decorators: [{
1826
1889
  type: Component,
1827
1890
  args: [{
1828
1891
  template: ''
@@ -1835,10 +1898,10 @@ class CadastroService {
1835
1898
  novoMaster = new BehaviorSubject({ Cadastro: 'Cadastro', Id: 0 });
1836
1899
  novoRegistro = new BehaviorSubject({ Cadastro: 'Cadastro', Id: 0 });
1837
1900
  focoCampo = new BehaviorSubject({ Campo: 'input' });
1838
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: CadastroService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1839
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: CadastroService, providedIn: 'root' });
1901
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: CadastroService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1902
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: CadastroService, providedIn: 'root' });
1840
1903
  }
1841
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: CadastroService, decorators: [{
1904
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: CadastroService, decorators: [{
1842
1905
  type: Injectable,
1843
1906
  args: [{
1844
1907
  providedIn: 'root'
@@ -2308,10 +2371,10 @@ class BaseCadastro extends BasePage {
2308
2371
  });
2309
2372
  console.log('getFormValues', entity);
2310
2373
  }
2311
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BaseCadastro, deps: [{ token: 'type' }, { token: i1$2.ActivatedRoute }, { token: i1$2.Router }, { token: CadastroService }], target: i0.ɵɵFactoryTarget.Component });
2312
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: BaseCadastro, isStandalone: true, selector: "ng-component", inputs: { itensLista: "itensLista", masterId: "masterId" }, outputs: { entidadePosted: "entidadePosted", atualizarItensEvent: "atualizarItensEvent" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
2374
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BaseCadastro, deps: [{ token: 'type' }, { token: i1$2.ActivatedRoute }, { token: i1$2.Router }, { token: CadastroService }], target: i0.ɵɵFactoryTarget.Component });
2375
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: BaseCadastro, isStandalone: true, selector: "ng-component", inputs: { itensLista: "itensLista", masterId: "masterId" }, outputs: { entidadePosted: "entidadePosted", atualizarItensEvent: "atualizarItensEvent" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
2313
2376
  }
2314
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BaseCadastro, decorators: [{
2377
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BaseCadastro, decorators: [{
2315
2378
  type: Component,
2316
2379
  args: [{
2317
2380
  template: ''
@@ -2403,10 +2466,10 @@ class BaseInputComponent {
2403
2466
  this.Obrigatorio = this.validation_messages.find(m => m.type == 'required');
2404
2467
  }
2405
2468
  }
2406
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BaseInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2407
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: BaseInputComponent, isStandalone: true, selector: "ng-component", inputs: { label: "label", tabindex: "tabindex", labelPosition: "labelPosition", validationClass: "validationClass", debounce: "debounce", placeholder: "placeholder", form: "form", campo: "campo", formControlName: "formControlName", max: "max", validation_messages: "validation_messages", type: "type", readonly: "readonly", itemClass: "itemClass", botaoLimpar: "botaoLimpar", labelColor: "labelColor", inputBackgroungColor: "inputBackgroungColor", showObrigatorio: "showObrigatorio", fontSize: "fontSize", icon: "icon", iconSrc: "iconSrc", fill: "fill", mode: "mode", classic: "classic", blurArgs: "blurArgs", showSeeCopy: "showSeeCopy", focusField: "focusField", campoFoco: "campoFoco", shape: "shape" }, outputs: { blur: "blur" }, ngImport: i0, template: '', isInline: true });
2469
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BaseInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2470
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: BaseInputComponent, isStandalone: true, selector: "ng-component", inputs: { label: "label", tabindex: "tabindex", labelPosition: "labelPosition", validationClass: "validationClass", debounce: "debounce", placeholder: "placeholder", form: "form", campo: "campo", formControlName: "formControlName", max: "max", validation_messages: "validation_messages", type: "type", readonly: "readonly", itemClass: "itemClass", botaoLimpar: "botaoLimpar", labelColor: "labelColor", inputBackgroungColor: "inputBackgroungColor", showObrigatorio: "showObrigatorio", fontSize: "fontSize", icon: "icon", iconSrc: "iconSrc", fill: "fill", mode: "mode", classic: "classic", blurArgs: "blurArgs", showSeeCopy: "showSeeCopy", focusField: "focusField", campoFoco: "campoFoco", shape: "shape" }, outputs: { blur: "blur" }, ngImport: i0, template: '', isInline: true });
2408
2471
  }
2409
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BaseInputComponent, decorators: [{
2472
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BaseInputComponent, decorators: [{
2410
2473
  type: Component,
2411
2474
  args: [{
2412
2475
  template: ''
@@ -2576,16 +2639,16 @@ class InputTextComponent extends BaseInputComponent {
2576
2639
  navigator.clipboard.writeText(texto);
2577
2640
  //this.utils.showToast('Copiado')
2578
2641
  }
2579
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputTextComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
2580
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: InputTextComponent, isStandalone: true, selector: "kb-input-text", inputs: { showSeePassword: "showSeePassword" }, outputs: { inputChange: "inputChange" }, providers: [
2642
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputTextComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
2643
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InputTextComponent, isStandalone: true, selector: "kb-input-text", inputs: { showSeePassword: "showSeePassword" }, outputs: { inputChange: "inputChange" }, providers: [
2581
2644
  {
2582
2645
  provide: NG_VALUE_ACCESSOR,
2583
2646
  useExisting: InputTextComponent,
2584
2647
  multi: true,
2585
2648
  },
2586
- ], viewQueries: [{ propertyName: "itemInput", first: true, predicate: ["itemInput"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<!-- \n se label position = floating colocar padding = 12px \n \n -->\n<div [class]=\"{ 'input-text-padding': !classic }\">\n <!-- [label]=\"label\"\n [labelPlacement]=\"labelPosition\" -->\n @if(classic) {\n <ion-item #itemInput lines=\"none\"\n style=\" --background: inherited; --background-focused: transparent; padding-right: 0px;\"\n [class]=\"itemClass + ' classic'\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\n\n <!--\n <ion-label class=\"label-focus\" [position]=\"labelPosition\">{{ label }}</ion-label>\n -->\n @if (label) {\n <ion-label style=\"color: var(--input-label-color);\" position=\"{{ labelPosition }}\">{{ label }}</ion-label>\n }\n\n <!-- \n <ion-icon slot=\"start\" name=\"lock-closed\" aria-hidden=\"true\"></ion-icon>\n -->\n\n <ion-input #inputText [type]=\"type\" [placeholder]=\"placeholder\" [readonly]=\"readonly\" \n (input)=\"writeValue(inputText.value, type)\" [value]=\"data\" (ionBlur)=\"onBlur()\" (ionFocus)=\"entered()\">\n </ion-input>\n\n\n @if (showSeePassword) {\n\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\n (click)=\"changeTypeOfInput()\">\n <ion-icon slot=\"icon-only\" [icon]=\"type == 'password' ? 'eye-outline' : 'eye-off-outline' \"></ion-icon>\n </ion-button>\n\n }\n\n @if (showSeeCopy) {\n\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\" (click)=\"copiarClick()\">\n <ion-icon slot=\"icon-only\" icon=\"copy-outline\"></ion-icon>\n </ion-button>\n\n }\n\n\n </ion-item>\n }\n @else {\n <ion-input #inputText [type]=\"type\" [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\"\n [placeholder]=\"placeholder\" class=\"modern\" maxlength=\"{{ max }}\" \n [value]=\"data\" mode=\"md\"\n (input)=\"writeValue(inputText.value, type)\" \n (ionInput)=\"onInputChange($event)\" \n (ionBlur)=\"onBlur()\" \n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake-modern' : '' \"\n [disabled]=\"readonly\" [shape]=\"shape\">\n @if (icon || iconSrc) {\n <ion-icon slot=\"start\" [icon]=\"icon\" [src]=\"iconSrc\" aria-hidden=\"true\"></ion-icon>\n }\n\n @if (showSeePassword) {\n\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\n (click)=\"changeTypeOfInput()\">\n <ion-icon slot=\"icon-only\" [icon]=\"type == 'password' ? 'eye-outline' : 'eye-off-outline' \"></ion-icon>\n </ion-button>\n\n }\n\n @if (showSeeCopy) {\n\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\" (click)=\"copiarClick()\">\n <ion-icon slot=\"icon-only\" icon=\"copy-outline\"></ion-icon>\n </ion-button>\n\n }\n </ion-input>\n }\n\n @if(form) {\n <div class=\"validation-errors\">\n\n @for(validation of validation_messages; track validation.type) {\n <ng-container>\n @if(form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\n form.get(formControlName)?.touched)) {\n <div class=\"error-message\" [ngClass]=\"validationClass\">\n &#8226; {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n\n </div>\n }\n\n</div>", styles: [".classic .btn-show-password{margin-top:auto;margin-bottom:calc((var(--input-min-height, 30px) - 30px) * .57142857 + 2px);margin-left:4px}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.Eager });
2649
+ ], viewQueries: [{ propertyName: "itemInput", first: true, predicate: ["itemInput"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<!-- \n se label position = floating colocar padding = 12px \n \n -->\n<div [class]=\"{ 'input-text-padding': !classic }\">\n <!-- [label]=\"label\"\n [labelPlacement]=\"labelPosition\" -->\n @if(classic) {\n <ion-item #itemInput lines=\"none\"\n style=\" --background: inherited; --background-focused: transparent; padding-right: 0px;\"\n [class]=\"itemClass + ' classic'\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\n\n <!--\n <ion-label class=\"label-focus\" [position]=\"labelPosition\">{{ label }}</ion-label>\n -->\n @if (label) {\n <ion-label style=\"color: var(--input-label-color);\" position=\"{{ labelPosition }}\">{{ label }}</ion-label>\n }\n\n <!-- \n <ion-icon slot=\"start\" name=\"lock-closed\" aria-hidden=\"true\"></ion-icon>\n -->\n\n <ion-input #inputText [type]=\"type\" [placeholder]=\"placeholder\" [readonly]=\"readonly\" \n (input)=\"writeValue(inputText.value, type)\" [value]=\"data\" (ionBlur)=\"onBlur()\" (ionFocus)=\"entered()\">\n </ion-input>\n\n\n @if (showSeePassword) {\n\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\n (click)=\"changeTypeOfInput()\">\n <ion-icon slot=\"icon-only\" [icon]=\"type == 'password' ? 'eye-outline' : 'eye-off-outline' \"></ion-icon>\n </ion-button>\n\n }\n\n @if (showSeeCopy) {\n\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\" (click)=\"copiarClick()\">\n <ion-icon slot=\"icon-only\" icon=\"copy-outline\"></ion-icon>\n </ion-button>\n\n }\n\n\n </ion-item>\n }\n @else {\n <ion-input #inputText [type]=\"type\" [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\"\n [placeholder]=\"placeholder\" class=\"modern\" maxlength=\"{{ max }}\" \n [value]=\"data\" mode=\"md\"\n (input)=\"writeValue(inputText.value, type)\" \n (ionInput)=\"onInputChange($event)\" \n (ionBlur)=\"onBlur()\" \n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake-modern' : '' \"\n [disabled]=\"readonly\" [shape]=\"shape\">\n @if (icon || iconSrc) {\n <ion-icon slot=\"start\" [icon]=\"icon\" [src]=\"iconSrc\" aria-hidden=\"true\"></ion-icon>\n }\n\n @if (showSeePassword) {\n\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\n (click)=\"changeTypeOfInput()\">\n <ion-icon slot=\"icon-only\" [icon]=\"type == 'password' ? 'eye-outline' : 'eye-off-outline' \"></ion-icon>\n </ion-button>\n\n }\n\n @if (showSeeCopy) {\n\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\" (click)=\"copiarClick()\">\n <ion-icon slot=\"icon-only\" icon=\"copy-outline\"></ion-icon>\n </ion-button>\n\n }\n </ion-input>\n }\n\n @if(form) {\n <div class=\"validation-errors\">\n\n @for(validation of validation_messages; track validation.type) {\n <ng-container>\n @if(form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\n form.get(formControlName)?.touched)) {\n <div class=\"error-message\" [ngClass]=\"validationClass\">\n &#8226; {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n\n </div>\n }\n\n</div>", styles: [".classic .btn-show-password{margin-top:auto;margin-bottom:calc((var(--input-min-height, 30px) - 30px) * .57142857 + 2px);margin-left:4px}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.Eager });
2587
2650
  }
2588
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputTextComponent, decorators: [{
2651
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputTextComponent, decorators: [{
2589
2652
  type: Component,
2590
2653
  args: [{ selector: 'kb-input-text', imports: [IonButton, IonIcon, IonItem, IonLabel, IonInput, NgClass, FormsModule], changeDetection: ChangeDetectionStrategy.Eager, providers: [
2591
2654
  {
@@ -2636,10 +2699,10 @@ class TreeViewNivelComponent {
2636
2699
  return texto;
2637
2700
  }
2638
2701
  }
2639
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: TreeViewNivelComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
2640
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: TreeViewNivelComponent, isStandalone: true, selector: "kb-tree-view-nivel", inputs: { node: "node", nivel: "nivel", currentSearch: "currentSearch" }, outputs: { nivelClick: "nivelClick" }, ngImport: i0, template: "<span [innerHtml]=\"identacao\" class=\"node-link\"></span>\n<!-- mostrar a seta se tiver filhos ou se for raiz (nivel = 0)-->\n@if (!node.Expandido && (node.Filhos.length > 0 || nivel == 0)) {\n<span class=\"node-link\" (click)=\"node.Expandido = !node.Expandido\" class=\"boxSeta\">\n <ion-icon name=\"chevron-forward-outline\"></ion-icon>\n</span>\n} \n@if (node.Expandido) {\n<span class=\"node-link\" (click)=\"node.Expandido = !node.Expandido\" class=\"boxSeta\">\n <ion-icon name=\"chevron-down-outline\"></ion-icon>\n</span>\n}\n<!--\n<span *ngIf=\"!node.Expandido\">&nbsp;&nbsp;&nbsp;</span>\n-->\n\n<!-- \n<span [class]=\"{ 'node-link' : node.Clicable === true, 'node-disabled': node.Clicable === false }\" (click)=\"nodeClick()\" title=\"{{ node.Label }}\"> {{ node.Label }}</span>\n-->\n<span [class]=\"{ 'node-link' : node.Clicable === true, 'node-disabled': node.Clicable === false }\" (click)=\"nodeClick()\"\n title=\"{{ node.Label }}\" [innerHTML]=\"highlight(node.Label)\"></span>", styles: [".node-link{cursor:pointer}.node-disabled{cursor:auto;color:#a9a9a9}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
2702
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TreeViewNivelComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
2703
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: TreeViewNivelComponent, isStandalone: true, selector: "kb-tree-view-nivel", inputs: { node: "node", nivel: "nivel", currentSearch: "currentSearch" }, outputs: { nivelClick: "nivelClick" }, ngImport: i0, template: "<span [innerHtml]=\"identacao\" class=\"node-link\"></span>\n<!-- mostrar a seta se tiver filhos ou se for raiz (nivel = 0)-->\n@if (!node.Expandido && (node.Filhos.length > 0 || nivel == 0)) {\n<span class=\"node-link\" (click)=\"node.Expandido = !node.Expandido\" class=\"boxSeta\">\n <ion-icon name=\"chevron-forward-outline\"></ion-icon>\n</span>\n} \n@if (node.Expandido) {\n<span class=\"node-link\" (click)=\"node.Expandido = !node.Expandido\" class=\"boxSeta\">\n <ion-icon name=\"chevron-down-outline\"></ion-icon>\n</span>\n}\n<!--\n<span *ngIf=\"!node.Expandido\">&nbsp;&nbsp;&nbsp;</span>\n-->\n\n<!-- \n<span [class]=\"{ 'node-link' : node.Clicable === true, 'node-disabled': node.Clicable === false }\" (click)=\"nodeClick()\" title=\"{{ node.Label }}\"> {{ node.Label }}</span>\n-->\n<span [class]=\"{ 'node-link' : node.Clicable === true, 'node-disabled': node.Clicable === false }\" (click)=\"nodeClick()\"\n title=\"{{ node.Label }}\" [innerHTML]=\"highlight(node.Label)\"></span>", styles: [".node-link{cursor:pointer}.node-disabled{cursor:auto;color:#a9a9a9}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
2641
2704
  }
2642
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: TreeViewNivelComponent, decorators: [{
2705
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TreeViewNivelComponent, decorators: [{
2643
2706
  type: Component,
2644
2707
  args: [{ selector: 'kb-tree-view-nivel', imports: [IonIcon,], changeDetection: ChangeDetectionStrategy.Eager, template: "<span [innerHtml]=\"identacao\" class=\"node-link\"></span>\n<!-- mostrar a seta se tiver filhos ou se for raiz (nivel = 0)-->\n@if (!node.Expandido && (node.Filhos.length > 0 || nivel == 0)) {\n<span class=\"node-link\" (click)=\"node.Expandido = !node.Expandido\" class=\"boxSeta\">\n <ion-icon name=\"chevron-forward-outline\"></ion-icon>\n</span>\n} \n@if (node.Expandido) {\n<span class=\"node-link\" (click)=\"node.Expandido = !node.Expandido\" class=\"boxSeta\">\n <ion-icon name=\"chevron-down-outline\"></ion-icon>\n</span>\n}\n<!--\n<span *ngIf=\"!node.Expandido\">&nbsp;&nbsp;&nbsp;</span>\n-->\n\n<!-- \n<span [class]=\"{ 'node-link' : node.Clicable === true, 'node-disabled': node.Clicable === false }\" (click)=\"nodeClick()\" title=\"{{ node.Label }}\"> {{ node.Label }}</span>\n-->\n<span [class]=\"{ 'node-link' : node.Clicable === true, 'node-disabled': node.Clicable === false }\" (click)=\"nodeClick()\"\n title=\"{{ node.Label }}\" [innerHTML]=\"highlight(node.Label)\"></span>", styles: [".node-link{cursor:pointer}.node-disabled{cursor:auto;color:#a9a9a9}\n"] }]
2645
2708
  }], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { nivelClick: [{
@@ -2729,10 +2792,10 @@ class TreeViewComponent {
2729
2792
  console.log('carrega registro', node);
2730
2793
  this.selecionarRegistro.next({ Cadastro: this.cadastro, Id: node.Id });
2731
2794
  }
2732
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: TreeViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2733
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: TreeViewComponent, isStandalone: true, selector: "kb-tree-view", inputs: { itens: "itens", campoId: "campoId", campoPai: "campoPai", campoLabel: "campoLabel", cadastro: "cadastro", caixaClass: "caixaClass", currentSearch: "currentSearch" }, outputs: { beforeUpdate: "beforeUpdate", selecionarRegistro: "selecionarRegistro" }, ngImport: i0, template: "<div style=\"position: relative; height: auto; padding-left: 2%; background-color: white;\">\n @if (arvore) {\n <div [class]=\"caixaClass\" style=\"padding-left: 6px; font-size: 12px;\">\n <!-- raiz --> \n @for (raiz of arvore; track raiz.Id) { \n <div class=\"coluna\">\n <kb-tree-view-nivel [nivel]=\"0\" [node]=\"raiz\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"raiz.Clicable === true ? carregarRegistro(raiz) : null\">\n </kb-tree-view-nivel>\n \n @if(raiz.Expandido) {\n <div class=\"filho\">\n @for (nivel1 of raiz.Filhos; track nivel1.Id) {\n <div draggable=\"true\">\n <kb-tree-view-nivel [nivel]=\"1\" [node]=\"nivel1\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel1.Clicable === true ? carregarRegistro(nivel1): null\">\n </kb-tree-view-nivel>\n\n @if (nivel1 && nivel1.Expandido) {\n <div class=\"filho\">\n @for(nivel2 of nivel1.Filhos; track nivel2.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"2\" [node]=\"nivel2\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel2.Clicable === true ? carregarRegistro(nivel2): null\">\n </kb-tree-view-nivel>\n\n @if(nivel2 && nivel2.Expandido) {\n <div class=\"filho\">\n @for (nivel3 of nivel2.Filhos; track nivel3.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"3\" [node]=\"nivel3\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel3.Clicable === true ? carregarRegistro(nivel3): null\">\n </kb-tree-view-nivel>\n @if (nivel3 && nivel3.Expandido) {\n <div class=\"filho\">\n @for (nivel4 of nivel3.Filhos; track nivel4.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"4\" [node]=\"nivel4\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel4.Clicable === true ? carregarRegistro(nivel4): null\">\n </kb-tree-view-nivel>\n @if (nivel4 && nivel4.Expandido) {\n <div class=\"filho\">\n @for (nivel5 of nivel4.Filhos; track nivel5.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"5\" [node]=\"nivel5\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel5.Clicable === true ? carregarRegistro(nivel5): null\"></kb-tree-view-nivel>\n @if (nivel5 && nivel5.Expandido) {\n <div class=\"filho\">\n @for(nivel6 of nivel5.Filhos; track nivel6.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"6\" [node]=\"nivel6\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel6.Clicable === true ? carregarRegistro(nivel6): null\"></kb-tree-view-nivel>\n @if (nivel6 && nivel6.Expandido) {\n <div class=\"filho\">\n @for (nivel7 of nivel6.Filhos; track nivel7.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"7\" [node]=\"nivel7\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel7.Clicable === true ? carregarRegistro(nivel7): null\"></kb-tree-view-nivel>\n @if (nivel7 && nivel7.Expandido) {\n <div class=\"filho\">\n @for (nivel8 of nivel7.Filhos; track nivel8.Id)\n {\n <div>\n <kb-tree-view-nivel [nivel]=\"8\"\n [node]=\"nivel8\"\n (nivelClick)=\"nivel8.Clicable === true ? carregarRegistro(nivel8): null\"></kb-tree-view-nivel>\n @if (nivel8 && nivel8.Expandido) {\n <div class=\"filho\">\n @for (nivel9 of nivel8.Filhos; track\n nivel9.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"9\"\n [node]=\"nivel9\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel9.Clicable === true ? carregarRegistro(nivel9): null\"></kb-tree-view-nivel>\n\n @if (nivel9 && nivel9.Filhos) {\n <div class=\"filho\">\n @for (nivel10 of nivel9.Filhos;\n track nivel10.Id) {\n <div>\n <kb-tree-view-nivel\n [nivel]=\"10\"\n [node]=\"nivel10\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel10.Clicable === true ? carregarRegistro(nivel10): null\"></kb-tree-view-nivel>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }", styles: [".boxSeta{margin:2px;font-size:large;color:#09459e;cursor:pointer}.caixa{border:2px transparent solid;padding:3px;width:100%;position:relative;overflow-y:auto;background-color:#fff;border-radius:5px;height:100%}.coluna{padding-bottom:10px}.filho{padding-top:6px}.node-link{cursor:pointer}.caixa-agrupado{border:2px transparent solid;padding:3px;height:701px;width:100%;position:relative;overflow-y:auto;border-radius:5px;background-color:#fff}.caixa-empresa{border:2px transparent solid;padding:3px;height:340px;width:100%;position:relative;overflow-y:auto;border-radius:5px;background-color:#fff}\n"], dependencies: [{ kind: "component", type: TreeViewNivelComponent, selector: "kb-tree-view-nivel", inputs: ["node", "nivel", "currentSearch"], outputs: ["nivelClick"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
2795
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TreeViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2796
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: TreeViewComponent, isStandalone: true, selector: "kb-tree-view", inputs: { itens: "itens", campoId: "campoId", campoPai: "campoPai", campoLabel: "campoLabel", cadastro: "cadastro", caixaClass: "caixaClass", currentSearch: "currentSearch" }, outputs: { beforeUpdate: "beforeUpdate", selecionarRegistro: "selecionarRegistro" }, ngImport: i0, template: "<div style=\"position: relative; height: auto; padding-left: 2%; background-color: white;\">\n @if (arvore) {\n <div [class]=\"caixaClass\" style=\"padding-left: 6px; font-size: 12px;\">\n <!-- raiz --> \n @for (raiz of arvore; track raiz.Id) { \n <div class=\"coluna\">\n <kb-tree-view-nivel [nivel]=\"0\" [node]=\"raiz\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"raiz.Clicable === true ? carregarRegistro(raiz) : null\">\n </kb-tree-view-nivel>\n \n @if(raiz.Expandido) {\n <div class=\"filho\">\n @for (nivel1 of raiz.Filhos; track nivel1.Id) {\n <div draggable=\"true\">\n <kb-tree-view-nivel [nivel]=\"1\" [node]=\"nivel1\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel1.Clicable === true ? carregarRegistro(nivel1): null\">\n </kb-tree-view-nivel>\n\n @if (nivel1 && nivel1.Expandido) {\n <div class=\"filho\">\n @for(nivel2 of nivel1.Filhos; track nivel2.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"2\" [node]=\"nivel2\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel2.Clicable === true ? carregarRegistro(nivel2): null\">\n </kb-tree-view-nivel>\n\n @if(nivel2 && nivel2.Expandido) {\n <div class=\"filho\">\n @for (nivel3 of nivel2.Filhos; track nivel3.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"3\" [node]=\"nivel3\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel3.Clicable === true ? carregarRegistro(nivel3): null\">\n </kb-tree-view-nivel>\n @if (nivel3 && nivel3.Expandido) {\n <div class=\"filho\">\n @for (nivel4 of nivel3.Filhos; track nivel4.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"4\" [node]=\"nivel4\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel4.Clicable === true ? carregarRegistro(nivel4): null\">\n </kb-tree-view-nivel>\n @if (nivel4 && nivel4.Expandido) {\n <div class=\"filho\">\n @for (nivel5 of nivel4.Filhos; track nivel5.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"5\" [node]=\"nivel5\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel5.Clicable === true ? carregarRegistro(nivel5): null\"></kb-tree-view-nivel>\n @if (nivel5 && nivel5.Expandido) {\n <div class=\"filho\">\n @for(nivel6 of nivel5.Filhos; track nivel6.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"6\" [node]=\"nivel6\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel6.Clicable === true ? carregarRegistro(nivel6): null\"></kb-tree-view-nivel>\n @if (nivel6 && nivel6.Expandido) {\n <div class=\"filho\">\n @for (nivel7 of nivel6.Filhos; track nivel7.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"7\" [node]=\"nivel7\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel7.Clicable === true ? carregarRegistro(nivel7): null\"></kb-tree-view-nivel>\n @if (nivel7 && nivel7.Expandido) {\n <div class=\"filho\">\n @for (nivel8 of nivel7.Filhos; track nivel8.Id)\n {\n <div>\n <kb-tree-view-nivel [nivel]=\"8\"\n [node]=\"nivel8\"\n (nivelClick)=\"nivel8.Clicable === true ? carregarRegistro(nivel8): null\"></kb-tree-view-nivel>\n @if (nivel8 && nivel8.Expandido) {\n <div class=\"filho\">\n @for (nivel9 of nivel8.Filhos; track\n nivel9.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"9\"\n [node]=\"nivel9\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel9.Clicable === true ? carregarRegistro(nivel9): null\"></kb-tree-view-nivel>\n\n @if (nivel9 && nivel9.Filhos) {\n <div class=\"filho\">\n @for (nivel10 of nivel9.Filhos;\n track nivel10.Id) {\n <div>\n <kb-tree-view-nivel\n [nivel]=\"10\"\n [node]=\"nivel10\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel10.Clicable === true ? carregarRegistro(nivel10): null\"></kb-tree-view-nivel>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }", styles: [".boxSeta{margin:2px;font-size:large;color:#09459e;cursor:pointer}.caixa{border:2px transparent solid;padding:3px;width:100%;position:relative;overflow-y:auto;background-color:#fff;border-radius:5px;height:100%}.coluna{padding-bottom:10px}.filho{padding-top:6px}.node-link{cursor:pointer}.caixa-agrupado{border:2px transparent solid;padding:3px;height:701px;width:100%;position:relative;overflow-y:auto;border-radius:5px;background-color:#fff}.caixa-empresa{border:2px transparent solid;padding:3px;height:340px;width:100%;position:relative;overflow-y:auto;border-radius:5px;background-color:#fff}\n"], dependencies: [{ kind: "component", type: TreeViewNivelComponent, selector: "kb-tree-view-nivel", inputs: ["node", "nivel", "currentSearch"], outputs: ["nivelClick"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
2734
2797
  }
2735
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: TreeViewComponent, decorators: [{
2798
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TreeViewComponent, decorators: [{
2736
2799
  type: Component,
2737
2800
  args: [{ selector: 'kb-tree-view', imports: [TreeViewNivelComponent], changeDetection: ChangeDetectionStrategy.Eager, template: "<div style=\"position: relative; height: auto; padding-left: 2%; background-color: white;\">\n @if (arvore) {\n <div [class]=\"caixaClass\" style=\"padding-left: 6px; font-size: 12px;\">\n <!-- raiz --> \n @for (raiz of arvore; track raiz.Id) { \n <div class=\"coluna\">\n <kb-tree-view-nivel [nivel]=\"0\" [node]=\"raiz\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"raiz.Clicable === true ? carregarRegistro(raiz) : null\">\n </kb-tree-view-nivel>\n \n @if(raiz.Expandido) {\n <div class=\"filho\">\n @for (nivel1 of raiz.Filhos; track nivel1.Id) {\n <div draggable=\"true\">\n <kb-tree-view-nivel [nivel]=\"1\" [node]=\"nivel1\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel1.Clicable === true ? carregarRegistro(nivel1): null\">\n </kb-tree-view-nivel>\n\n @if (nivel1 && nivel1.Expandido) {\n <div class=\"filho\">\n @for(nivel2 of nivel1.Filhos; track nivel2.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"2\" [node]=\"nivel2\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel2.Clicable === true ? carregarRegistro(nivel2): null\">\n </kb-tree-view-nivel>\n\n @if(nivel2 && nivel2.Expandido) {\n <div class=\"filho\">\n @for (nivel3 of nivel2.Filhos; track nivel3.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"3\" [node]=\"nivel3\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel3.Clicable === true ? carregarRegistro(nivel3): null\">\n </kb-tree-view-nivel>\n @if (nivel3 && nivel3.Expandido) {\n <div class=\"filho\">\n @for (nivel4 of nivel3.Filhos; track nivel4.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"4\" [node]=\"nivel4\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel4.Clicable === true ? carregarRegistro(nivel4): null\">\n </kb-tree-view-nivel>\n @if (nivel4 && nivel4.Expandido) {\n <div class=\"filho\">\n @for (nivel5 of nivel4.Filhos; track nivel5.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"5\" [node]=\"nivel5\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel5.Clicable === true ? carregarRegistro(nivel5): null\"></kb-tree-view-nivel>\n @if (nivel5 && nivel5.Expandido) {\n <div class=\"filho\">\n @for(nivel6 of nivel5.Filhos; track nivel6.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"6\" [node]=\"nivel6\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel6.Clicable === true ? carregarRegistro(nivel6): null\"></kb-tree-view-nivel>\n @if (nivel6 && nivel6.Expandido) {\n <div class=\"filho\">\n @for (nivel7 of nivel6.Filhos; track nivel7.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"7\" [node]=\"nivel7\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel7.Clicable === true ? carregarRegistro(nivel7): null\"></kb-tree-view-nivel>\n @if (nivel7 && nivel7.Expandido) {\n <div class=\"filho\">\n @for (nivel8 of nivel7.Filhos; track nivel8.Id)\n {\n <div>\n <kb-tree-view-nivel [nivel]=\"8\"\n [node]=\"nivel8\"\n (nivelClick)=\"nivel8.Clicable === true ? carregarRegistro(nivel8): null\"></kb-tree-view-nivel>\n @if (nivel8 && nivel8.Expandido) {\n <div class=\"filho\">\n @for (nivel9 of nivel8.Filhos; track\n nivel9.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"9\"\n [node]=\"nivel9\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel9.Clicable === true ? carregarRegistro(nivel9): null\"></kb-tree-view-nivel>\n\n @if (nivel9 && nivel9.Filhos) {\n <div class=\"filho\">\n @for (nivel10 of nivel9.Filhos;\n track nivel10.Id) {\n <div>\n <kb-tree-view-nivel\n [nivel]=\"10\"\n [node]=\"nivel10\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel10.Clicable === true ? carregarRegistro(nivel10): null\"></kb-tree-view-nivel>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }", styles: [".boxSeta{margin:2px;font-size:large;color:#09459e;cursor:pointer}.caixa{border:2px transparent solid;padding:3px;width:100%;position:relative;overflow-y:auto;background-color:#fff;border-radius:5px;height:100%}.coluna{padding-bottom:10px}.filho{padding-top:6px}.node-link{cursor:pointer}.caixa-agrupado{border:2px transparent solid;padding:3px;height:701px;width:100%;position:relative;overflow-y:auto;border-radius:5px;background-color:#fff}.caixa-empresa{border:2px transparent solid;padding:3px;height:340px;width:100%;position:relative;overflow-y:auto;border-radius:5px;background-color:#fff}\n"] }]
2738
2801
  }], propDecorators: { itens: [{
@@ -2885,10 +2948,10 @@ class ModalTreeviewComponent {
2885
2948
  const modalCtrl = this.injector.get(ModalController);
2886
2949
  modalCtrl.dismiss();
2887
2950
  }
2888
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: ModalTreeviewComponent, deps: [{ token: DataService }, { token: i0.Injector }, { token: i2.LoadingController }], target: i0.ɵɵFactoryTarget.Component });
2889
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: ModalTreeviewComponent, isStandalone: true, selector: "kb-modal-treeview", inputs: { textoPesquisa: "textoPesquisa" }, viewQueries: [{ propertyName: "treeView", first: true, predicate: ["treeViewComp"], descendants: true }], ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"secondary\">\n <ion-title>{{ titulo }}</ion-title>\n <ion-buttons slot=\"end\">\n <ion-button (click)=\"atualizaArvoreEntidade(tipo)\">\n <ion-icon slot=\"icon-only\" name=\"refresh\"></ion-icon>\n </ion-button>\n <ion-button (click)=\"fechar()\">Fechar</ion-button>\n </ion-buttons>\n </ion-toolbar>\n </ion-header>\n \n <ion-content>\n <ion-item>\n <ion-button style=\"box-shadow: #4c8dff 0px 2px 2px 0.05px;\" fill=\"outline\" (click)=\"expandir()\">\n <ion-icon name=\"expand-outline\"></ion-icon>\n </ion-button> \n </ion-item>\n <kb-tree-view #treeViewComp [campoId]=\"campoId\" [campoPai]=\"campoPai\" [campoLabel]=\"'LabelTree'\" (selecionarRegistro)=\"clickRegistro($event)\"></kb-tree-view>\n </ion-content>", styles: [""], dependencies: [{ kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: TreeViewComponent, selector: "kb-tree-view", inputs: ["itens", "campoId", "campoPai", "campoLabel", "cadastro", "caixaClass", "currentSearch"], outputs: ["beforeUpdate", "selecionarRegistro"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
2951
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ModalTreeviewComponent, deps: [{ token: DataService }, { token: i0.Injector }, { token: i2.LoadingController }], target: i0.ɵɵFactoryTarget.Component });
2952
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: ModalTreeviewComponent, isStandalone: true, selector: "kb-modal-treeview", inputs: { textoPesquisa: "textoPesquisa" }, viewQueries: [{ propertyName: "treeView", first: true, predicate: ["treeViewComp"], descendants: true }], ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"secondary\">\n <ion-title>{{ titulo }}</ion-title>\n <ion-buttons slot=\"end\">\n <ion-button (click)=\"atualizaArvoreEntidade(tipo)\">\n <ion-icon slot=\"icon-only\" name=\"refresh\"></ion-icon>\n </ion-button>\n <ion-button (click)=\"fechar()\">Fechar</ion-button>\n </ion-buttons>\n </ion-toolbar>\n </ion-header>\n \n <ion-content>\n <ion-item>\n <ion-button style=\"box-shadow: #4c8dff 0px 2px 2px 0.05px;\" fill=\"outline\" (click)=\"expandir()\">\n <ion-icon name=\"expand-outline\"></ion-icon>\n </ion-button> \n </ion-item>\n <kb-tree-view #treeViewComp [campoId]=\"campoId\" [campoPai]=\"campoPai\" [campoLabel]=\"'LabelTree'\" (selecionarRegistro)=\"clickRegistro($event)\"></kb-tree-view>\n </ion-content>", styles: [""], dependencies: [{ kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"], outputs: ["ionScrollStart", "ionScroll", "ionScrollEnd"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: TreeViewComponent, selector: "kb-tree-view", inputs: ["itens", "campoId", "campoPai", "campoLabel", "cadastro", "caixaClass", "currentSearch"], outputs: ["beforeUpdate", "selecionarRegistro"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
2890
2953
  }
2891
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: ModalTreeviewComponent, decorators: [{
2954
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ModalTreeviewComponent, decorators: [{
2892
2955
  type: Component,
2893
2956
  args: [{ selector: 'kb-modal-treeview', imports: [IonItem, IonContent, IonIcon, IonButton, IonButtons, IonTitle, IonToolbar, IonHeader,
2894
2957
  TreeViewComponent
@@ -3463,14 +3526,14 @@ class InputPesquisaComponent extends BaseInputComponent {
3463
3526
  }
3464
3527
  */
3465
3528
  }
3466
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputPesquisaComponent, deps: [{ token: DataService }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
3467
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: InputPesquisaComponent, isStandalone: true, selector: "kb-input-pesquisa", inputs: { textoPesquisa: "textoPesquisa", max: "max", filterFunction: "filterFunction", selectId: "selectId", campoId: "campoId", campoPaiId: "campoPaiId", campoDisplay: "campoDisplay", tipo: "tipo", url: "url", urlItem: "urlItem", empresa: "empresa", loadInit: "loadInit", urlTree: "urlTree", treeTitulo: "treeTitulo" }, outputs: { pesquisaChange: "pesquisaChange", limpar: "limpar" }, providers: [{
3529
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputPesquisaComponent, deps: [{ token: DataService }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
3530
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InputPesquisaComponent, isStandalone: true, selector: "kb-input-pesquisa", inputs: { textoPesquisa: "textoPesquisa", max: "max", filterFunction: "filterFunction", selectId: "selectId", campoId: "campoId", campoPaiId: "campoPaiId", campoDisplay: "campoDisplay", tipo: "tipo", url: "url", urlItem: "urlItem", empresa: "empresa", loadInit: "loadInit", urlTree: "urlTree", treeTitulo: "treeTitulo" }, outputs: { pesquisaChange: "pesquisaChange", limpar: "limpar" }, providers: [{
3468
3531
  provide: NG_VALUE_ACCESSOR,
3469
3532
  useExisting: InputPesquisaComponent,
3470
3533
  multi: true,
3471
- }], viewQueries: [{ propertyName: "selectElement", first: true, predicate: ["selectElement"], descendants: true }, { propertyName: "inputPesquisa", first: true, predicate: ["inputPesquisa"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div style=\"padding-inline-end: 0px;\" [class]=\"{ 'input-text-padding': !classic }\">\n @if (classic) {\n <ion-item lines=\"none\" [style.opacity]=\"readonly ? 0.5 : 1\"\n style=\"--background: inherited; --background-focused: transparent; margin-top: 2px;\"\n [class]=\"itemClass + ' classic'\" id=\"item-pesquisa\" #itemPesquisa>\n @if (label) {\n <ion-label style=\"color: var(--label-palavras);\" position=\"{{ labelPosition }}\">{{ label }}</ion-label>\n }\n <!-- formControlName=\"{{ campo }}\" -->\n @if (!podePesquisar) {\n <ion-spinner style=\"--min-height: 0px !important; margin-inline-end: 5px !important;\" class=\"botao-limpar\"\n slot=\"start\" name=\"lines\"></ion-spinner>\n }\n <!-- (ionBlur)=\"verificarPesquisa()\" -->\n <!-- conflito com click da lista -->\n <ion-input #inputPesquisa type=\"{{type}}\" [placeholder]=\"placeholder\" maxlength=\"{{ max }}\"\n (ionBlur)=\"onBlur($event)\" [value]=\"textoPesquisa\" (input)=\"writePesquisa(inputPesquisa.value)\"\n (keyup)=\"showPesquisa($event)\" autocomplete=\"off\"\n style=\"background-color: var(--input-color); color: var(--text-color);\" (click)=\"dropDownPesquisa(-1)\"\n [disabled]=\"readonly\" debounce=\"2000\" (ionFocus)=\"entered()\"></ion-input>\n <ion-button size=\"small\" slot=\"end\" tabindex=\"-1\" class=\"botao-limpar\" id=\"btnLimparPesquisa\" fill=\"clear\"\n color=\"medium\" (click)=\"limparClick()\">\n <ion-icon name=\"close-outline\"></ion-icon>\n </ion-button>\n\n <ion-button size=\"small\" slot=\"end\" tabindex=\"-1\" class=\"botao-limpar\" fill=\"clear\" color=\"medium\"\n (click)=\"pesquisarClick()\">\n <ion-icon color=\"primary\" name=\"search\"></ion-icon>\n </ion-button>\n\n @if (showSeeCopy) {\n <ion-button size=\"small\" slot=\"end\" style=\"margin-top: 27px; margin-inline-start: 4px !important;\" fill=\"clear\"\n color=\"dark\" (click)=\"copiarClick()\" [disabled]=\"!data\">\n <ion-icon name=\"copy-outline\"></ion-icon>\n </ion-button>\n }\n </ion-item>\n } @else {\n <ion-input #inputPesquisa [type]=\"type\" [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\"\n [placeholder]=\"placeholder\" maxlength=\"{{ max }}\" (ionBlur)=\"onBlur($event)\" [value]=\"textoPesquisa\"\n (input)=\"writePesquisa(inputPesquisa.value)\" (keyup)=\"showPesquisa($event)\" autocomplete=\"off\" [mode]=\"mode\"\n style=\"background-color: var(--input-color); color: var(--text-color);\" (click)=\"dropDownPesquisa(-1)\"\n [disabled]=\"readonly\" debounce=\"2000\" class=\"modern\" (ionFocus)=\"entered()\">\n\n @if (!podePesquisar) {\n <ion-spinner slot=\"start\" name=\"lines\"></ion-spinner>\n }\n\n <ion-button slot=\"end\" tabindex=\"-1\" class=\"botao-limpar\" id=\"btnLimparPesquisa\" fill=\"clear\" color=\"medium\"\n (click)=\"limparClick()\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n\n <ion-button slot=\"end\" tabindex=\"-1\" class=\"botao-limpar\" fill=\"clear\" color=\"medium\" (click)=\"pesquisarClick()\">\n <ion-icon slot=\"icon-only\" color=\"primary\" name=\"search\"></ion-icon>\n </ion-button>\n\n @if (showSeeCopy) {\n <ion-button slot=\"end\" style=\"margin-top: 27px; margin-inline-start: 4px !important;\" fill=\"clear\" color=\"dark\"\n (click)=\"copiarClick()\" [disabled]=\"!data\">\n <ion-icon slot=\"icon-only\" name=\"copy-outline\"></ion-icon>\n </ion-button>\n }\n </ion-input>\n }\n <ion-list tabindex=\"-1\" [hidden]=\"!selectElementVisivel || !listaPesquisa || listaPesquisa.length == 0\"\n class=\"pesquisa-list\" style=\"max-height: 250px; overflow-y: auto;\">\n\n @for (item of listaPesquisa; track $index) {\n <ion-item tabindex=\"-1\" button (click)=\"selecionarComboClick(item)\" [id]=\"selectId + 'IonItem' + item['Index']\"\n (keyup.enter)=\"selecionarComboClick(item)\" class=\"pesquisa-item\">\n <!-- {{ item | json}} -->\n <span [class]=\"{'selected-item': item['Selected'] === true}\" [innerHTML]=\"highlight(item[campoDisplay])\"></span>\n </ion-item>\n }\n </ion-list>\n\n <!--\n <ion-select interface=\"popover\" #selectElement tabindex=\"-1\" [hidden]=\"!selectElementVisivel\"\n (ionChange)=\"selecionarComboChange($event.target.value)\">\n <ion-select-option *ngFor=\"let item of listaPesquisa\" [value]=\"item[campoId]\" (click)=\"selecionarComboClick(item[campoId])\">\n {{ item[campoDisplay] }}\n </ion-select-option>\n </ion-select>\n -->\n\n <!--\n <select [id]=\"selectId\" #selectElement tabindex=\"-1\" [hidden]=\"!selectElementVisivel\"\n (change)=\"selecionarComboChange($event.target.value)\" class=\"pesquisa-select\">\n <option *ngFor=\"let item of listaPesquisa\" [value]=\"item[campoId]\" (click)=\"selecionarComboClick(item[campoId])\">\n {{ item[campoDisplay] }}\n </option>\n\n </select>\n -->\n\n @if(form) {\n <div class=\"validation-errors\">\n @for (validation of validation_messages; track validation.type) {\n <ng-container>\n @if(form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\n form.get(formControlName)?.touched)) {\n <div class=\"error-message\" [ngClass]=\"validationClass\">\n &#8226; {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n </div>\n }\n</div>", styles: [".pesquisa-select{display:block;position:absolute;top:58px;left:20px;width:100%;z-index:800;font-size:16px;font-family:Roboto,Helvetica Neue,sans-serif;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.pesquisa-select option{overflow-y:hidden}.pesquisa-select option:hover,.pesquisa-select option:checked{background-color:#add8e6}.pesquisa-list{display:block;position:absolute;margin-block-start:-3px;margin-inline-start:14px;width:calc(100% - 50px);z-index:800;border:1px lightgrey solid;border-bottom-left-radius:5px;border-bottom-right-radius:5px;padding:0;max-width:380px}.pesquisa-item{--inner-padding-top: 0px;--inner-padding-bottom: 0px;--padding-top: 0px;--padding-bottom: 0px;--min-height: 30px !important;font-size:12px}.pesquisa-item button{padding:0}.selected-item{background-color:#add8e6}.classic .botao-limpar{margin-top:auto;margin-bottom:calc((var(--input-min-height, 30px) - 30px) * .57142857 + 2px);margin-inline-start:4px!important;--padding-start: 2px;--padding-end: 2px}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
3534
+ }], viewQueries: [{ propertyName: "selectElement", first: true, predicate: ["selectElement"], descendants: true }, { propertyName: "inputPesquisa", first: true, predicate: ["inputPesquisa"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div style=\"padding-inline-end: 0px;\" [class]=\"{ 'input-text-padding': !classic }\">\n @if (classic) {\n <ion-item lines=\"none\" [style.opacity]=\"readonly ? 0.5 : 1\"\n style=\"--background: inherited; --background-focused: transparent; margin-top: 2px;\"\n [class]=\"itemClass + ' classic'\" id=\"item-pesquisa\" #itemPesquisa>\n @if (label) {\n <ion-label style=\"color: var(--label-palavras);\" position=\"{{ labelPosition }}\">{{ label }}</ion-label>\n }\n <!-- formControlName=\"{{ campo }}\" -->\n @if (!podePesquisar) {\n <ion-spinner style=\"--min-height: 0px !important; margin-inline-end: 5px !important;\" class=\"botao-limpar\"\n slot=\"start\" name=\"lines\"></ion-spinner>\n }\n <!-- (ionBlur)=\"verificarPesquisa()\" -->\n <!-- conflito com click da lista -->\n <ion-input #inputPesquisa type=\"{{type}}\" [placeholder]=\"placeholder\" maxlength=\"{{ max }}\"\n (ionBlur)=\"onBlur($event)\" [value]=\"textoPesquisa\" (input)=\"writePesquisa(inputPesquisa.value)\"\n (keyup)=\"showPesquisa($event)\" autocomplete=\"off\"\n style=\"background-color: var(--input-color); color: var(--text-color);\" (click)=\"dropDownPesquisa(-1)\"\n [disabled]=\"readonly\" debounce=\"2000\" (ionFocus)=\"entered()\"></ion-input>\n <ion-button size=\"small\" slot=\"end\" tabindex=\"-1\" class=\"botao-limpar\" id=\"btnLimparPesquisa\" fill=\"clear\"\n color=\"medium\" (click)=\"limparClick()\">\n <ion-icon name=\"close-outline\"></ion-icon>\n </ion-button>\n\n <ion-button size=\"small\" slot=\"end\" tabindex=\"-1\" class=\"botao-limpar\" fill=\"clear\" color=\"medium\"\n (click)=\"pesquisarClick()\">\n <ion-icon color=\"primary\" name=\"search\"></ion-icon>\n </ion-button>\n\n @if (showSeeCopy) {\n <ion-button size=\"small\" slot=\"end\" style=\"margin-top: 27px; margin-inline-start: 4px !important;\" fill=\"clear\"\n color=\"dark\" (click)=\"copiarClick()\" [disabled]=\"!data\">\n <ion-icon name=\"copy-outline\"></ion-icon>\n </ion-button>\n }\n </ion-item>\n } @else {\n <ion-input #inputPesquisa [type]=\"type\" [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\"\n [placeholder]=\"placeholder\" maxlength=\"{{ max }}\" (ionBlur)=\"onBlur($event)\" [value]=\"textoPesquisa\"\n (input)=\"writePesquisa(inputPesquisa.value)\" (keyup)=\"showPesquisa($event)\" autocomplete=\"off\" [mode]=\"mode\"\n style=\"background-color: var(--input-color); color: var(--text-color);\" (click)=\"dropDownPesquisa(-1)\"\n [disabled]=\"readonly\" debounce=\"2000\" class=\"modern\" (ionFocus)=\"entered()\">\n\n @if (!podePesquisar) {\n <ion-spinner slot=\"start\" name=\"lines\"></ion-spinner>\n }\n\n <ion-button slot=\"end\" tabindex=\"-1\" class=\"botao-limpar\" id=\"btnLimparPesquisa\" fill=\"clear\" color=\"medium\"\n (click)=\"limparClick()\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n\n <ion-button slot=\"end\" tabindex=\"-1\" class=\"botao-limpar\" fill=\"clear\" color=\"medium\" (click)=\"pesquisarClick()\">\n <ion-icon slot=\"icon-only\" color=\"primary\" name=\"search\"></ion-icon>\n </ion-button>\n\n @if (showSeeCopy) {\n <ion-button slot=\"end\" style=\"margin-top: 27px; margin-inline-start: 4px !important;\" fill=\"clear\" color=\"dark\"\n (click)=\"copiarClick()\" [disabled]=\"!data\">\n <ion-icon slot=\"icon-only\" name=\"copy-outline\"></ion-icon>\n </ion-button>\n }\n </ion-input>\n }\n <ion-list tabindex=\"-1\" [hidden]=\"!selectElementVisivel || !listaPesquisa || listaPesquisa.length == 0\"\n class=\"pesquisa-list\" style=\"max-height: 250px; overflow-y: auto;\">\n\n @for (item of listaPesquisa; track $index) {\n <ion-item tabindex=\"-1\" button (click)=\"selecionarComboClick(item)\" [id]=\"selectId + 'IonItem' + item['Index']\"\n (keyup.enter)=\"selecionarComboClick(item)\" class=\"pesquisa-item\">\n <!-- {{ item | json}} -->\n <span [class]=\"{'selected-item': item['Selected'] === true}\" [innerHTML]=\"highlight(item[campoDisplay])\"></span>\n </ion-item>\n }\n </ion-list>\n\n <!--\n <ion-select interface=\"popover\" #selectElement tabindex=\"-1\" [hidden]=\"!selectElementVisivel\"\n (ionChange)=\"selecionarComboChange($event.target.value)\">\n <ion-select-option *ngFor=\"let item of listaPesquisa\" [value]=\"item[campoId]\" (click)=\"selecionarComboClick(item[campoId])\">\n {{ item[campoDisplay] }}\n </ion-select-option>\n </ion-select>\n -->\n\n <!--\n <select [id]=\"selectId\" #selectElement tabindex=\"-1\" [hidden]=\"!selectElementVisivel\"\n (change)=\"selecionarComboChange($event.target.value)\" class=\"pesquisa-select\">\n <option *ngFor=\"let item of listaPesquisa\" [value]=\"item[campoId]\" (click)=\"selecionarComboClick(item[campoId])\">\n {{ item[campoDisplay] }}\n </option>\n\n </select>\n -->\n\n @if(form) {\n <div class=\"validation-errors\">\n @for (validation of validation_messages; track validation.type) {\n <ng-container>\n @if(form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\n form.get(formControlName)?.touched)) {\n <div class=\"error-message\" [ngClass]=\"validationClass\">\n &#8226; {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n </div>\n }\n</div>", styles: [".pesquisa-select{display:block;position:absolute;top:58px;left:20px;width:100%;z-index:800;font-size:16px;font-family:Roboto,Helvetica Neue,sans-serif;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.pesquisa-select option{overflow-y:hidden}.pesquisa-select option:hover,.pesquisa-select option:checked{background-color:#add8e6}.pesquisa-list{display:block;position:absolute;margin-block-start:-3px;margin-inline-start:14px;width:calc(100% - 50px);z-index:800;border:1px lightgrey solid;border-bottom-left-radius:5px;border-bottom-right-radius:5px;padding:0;max-width:380px}.pesquisa-item{--inner-padding-top: 0px;--inner-padding-bottom: 0px;--padding-top: 0px;--padding-bottom: 0px;--min-height: 30px !important;font-size:12px}.pesquisa-item button{padding:0}.selected-item{background-color:#add8e6}.classic .botao-limpar{margin-top:auto;margin-bottom:calc((var(--input-min-height, 30px) - 30px) * .57142857 + 2px);margin-inline-start:4px!important;--padding-start: 2px;--padding-end: 2px}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
3472
3535
  }
3473
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputPesquisaComponent, decorators: [{
3536
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputPesquisaComponent, decorators: [{
3474
3537
  type: Component,
3475
3538
  args: [{ selector: 'kb-input-pesquisa', imports: [IonList, IonIcon, IonButton, IonInput, IonSpinner, IonLabel, IonItem, NgClass], changeDetection: ChangeDetectionStrategy.Eager, providers: [{
3476
3539
  provide: NG_VALUE_ACCESSOR,
@@ -3583,20 +3646,20 @@ class InputAreaComponent extends BaseInputComponent {
3583
3646
  let texto = this.data;
3584
3647
  navigator.clipboard.writeText(texto);
3585
3648
  }
3586
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputAreaComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
3587
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: InputAreaComponent, isStandalone: true, selector: "kb-input-area", inputs: { linhas: "linhas", contador: "contador" }, outputs: { inputChange: "inputChange" }, providers: [{
3649
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputAreaComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
3650
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InputAreaComponent, isStandalone: true, selector: "kb-input-area", inputs: { linhas: "linhas", contador: "contador" }, outputs: { inputChange: "inputChange" }, providers: [{
3588
3651
  provide: NG_VALUE_ACCESSOR,
3589
3652
  useExisting: InputAreaComponent,
3590
3653
  multi: true
3591
- }], viewQueries: [{ propertyName: "itemArea", first: true, predicate: ["itemArea"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div [class]=\"{ 'input-text-padding': !classic }\">\n @if (classic) {\n <ion-item lines=\"none\" style=\"--background-focused: transparent;\" [class]=\"itemClass\" #itemArea>\n <ion-label position=\"{{ labelPosition }}\">{{ label }}\n @if (showObrigatorio) {\n <span \n class=\"label-tip-obrigatorio\">{{\n form?.get(formControlName)?.hasError('required') ? ' \u25CF' : ''}}\n </span>\n }\n </ion-label>\n <!-- formControlName=\"{{ formControlName }}\" -->\n <textarea #inputArea [placeholder]=\"placeholder\" [maxLength]=\"max\" (ionBlur)=\"onBlur()\" [value]=\"data\"\n [rows]=\"linhas\" (input)=\"writeValue(inputArea.value)\" [disabled]=\"readonly\" (focus)=\"entered()\"></textarea>\n </ion-item>\n } @else {\n\n <ion-textarea #inputArea [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\" [maxlength]=\"max\" class=\"modern\"\n [rows]=\"linhas\" (input)=\"writeValue(inputArea.value)\" (ionBlur)=\"onBlur()\" (ionInput)=\"onInputChange($event)\"\n [value]=\"data\" mode=\"md\" [counter]=\"contador\" [placeholder]=\"placeholder\">\n\n @if (icon || iconSrc) {\n <ion-icon slot=\"start\" [icon]=\"icon\" [src]=\"iconSrc\" aria-hidden=\"true\"></ion-icon>\n }\n @if (showSeeCopy) {\n\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\n (click)=\"copiarClick()\">\n <ion-icon slot=\"icon-only\" icon=\"copy-outline\"></ion-icon>\n </ion-button>\n\n }\n\n </ion-textarea>\n\n }\n\n @if (form) {\n <div class=\"validation-errors\">\n\n @for (validation of validation_messages; track validation.type) {\n <ng-container>\n @if (form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\n form.get(formControlName)?.touched)) {\n <div class=\"error-message\">\n &#8226; {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n </div>\n }\n</div>", styles: ["@charset \"UTF-8\";ion-label{margin-bottom:4px!important}ion-textarea{padding:var(--input-padding)!important;border-radius:4px;width:100%;margin-top:2px}textarea{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;resize:none;background-color:#fff}textarea::-webkit-scrollbar{width:10px;height:10px}textarea::-webkit-scrollbar-track{background:#f1f1f1}textarea::-webkit-scrollbar-thumb{border-radius:12px;background:var(--scroll-color-thumb, #808080)}textarea::-webkit-scrollbar-thumb:hover{background:var(--scroll-color-hover, #5c5c5c)}textarea:focus{outline:none!important;border:1px solid lightblue!important}textarea:focus ion-label{color:var(--ion-color-label-focus, blue)!important}.item-has-focus ion-label{color:var(--ion-color-label-focus, blue)!important}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonTextarea, selector: "ion-textarea", inputs: ["autoGrow", "autocapitalize", "autofocus", "clearOnEdit", "color", "cols", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "maxlength", "minlength", "mode", "name", "placeholder", "readonly", "required", "rows", "shape", "spellcheck", "value", "wrap"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
3654
+ }], viewQueries: [{ propertyName: "itemArea", first: true, predicate: ["itemArea"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div [class]=\"{ 'input-text-padding': !classic }\">\r\n @if (classic) {\r\n <ion-item lines=\"none\" style=\"--background-focused: transparent;\" [class]=\"itemClass\" #itemArea>\r\n <ion-label position=\"{{ labelPosition }}\">{{ label }}\r\n @if (showObrigatorio) {\r\n <span \r\n class=\"label-tip-obrigatorio\">{{\r\n form?.get(formControlName)?.hasError('required') ? ' \u25CF' : ''}}\r\n </span>\r\n }\r\n </ion-label>\r\n <!-- formControlName=\"{{ formControlName }}\" -->\r\n <textarea #inputArea [placeholder]=\"placeholder\" [maxLength]=\"max\" (ionBlur)=\"onBlur()\" [value]=\"data\"\r\n [rows]=\"linhas\" (input)=\"writeValue(inputArea.value)\" [disabled]=\"readonly\" (focus)=\"entered()\"></textarea>\r\n </ion-item>\r\n } @else {\r\n\r\n <ion-textarea #inputArea [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\" [maxlength]=\"max\" class=\"modern\"\r\n [rows]=\"linhas\" (input)=\"writeValue(inputArea.value)\" (ionBlur)=\"onBlur()\" (ionInput)=\"onInputChange($event)\"\r\n [value]=\"data\" mode=\"md\" [counter]=\"contador\" [placeholder]=\"placeholder\">\r\n\r\n @if (icon || iconSrc) {\r\n <ion-icon slot=\"start\" [icon]=\"icon\" [src]=\"iconSrc\" aria-hidden=\"true\"></ion-icon>\r\n }\r\n @if (showSeeCopy) {\r\n\r\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\r\n (click)=\"copiarClick()\">\r\n <ion-icon slot=\"icon-only\" icon=\"copy-outline\"></ion-icon>\r\n </ion-button>\r\n\r\n }\r\n\r\n </ion-textarea>\r\n\r\n }\r\n\r\n @if (form) {\r\n <div class=\"validation-errors\">\r\n\r\n @for (validation of validation_messages; track validation.type) {\r\n <ng-container>\r\n @if (form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\r\n form.get(formControlName)?.touched)) {\r\n <div class=\"error-message\">\r\n &#8226; {{ validation.message }}\r\n </div>\r\n }\r\n </ng-container>\r\n }\r\n </div>\r\n }\r\n</div>", styles: ["@charset \"UTF-8\";ion-label{margin-bottom:4px!important}ion-textarea{padding:var(--input-padding)!important;border-radius:4px;width:100%;margin-top:2px}textarea{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;resize:none;background-color:#fff}textarea::-webkit-scrollbar{width:10px;height:10px}textarea::-webkit-scrollbar-track{background:#f1f1f1}textarea::-webkit-scrollbar-thumb{border-radius:12px;background:var(--scroll-color-thumb, #808080)}textarea::-webkit-scrollbar-thumb:hover{background:var(--scroll-color-hover, #5c5c5c)}textarea:focus{outline:none!important;border:1px solid lightblue!important}textarea:focus ion-label{color:var(--ion-color-label-focus, blue)!important}.item-has-focus ion-label{color:var(--ion-color-label-focus, blue)!important}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonTextarea, selector: "ion-textarea", inputs: ["autoGrow", "autocapitalize", "autofocus", "clearOnEdit", "color", "cols", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "maxlength", "minlength", "mode", "name", "placeholder", "readonly", "required", "rows", "shape", "spellcheck", "value", "wrap"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
3592
3655
  }
3593
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputAreaComponent, decorators: [{
3656
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputAreaComponent, decorators: [{
3594
3657
  type: Component,
3595
3658
  args: [{ selector: 'kb-input-area', imports: [IonButton, IonIcon, IonTextarea, IonLabel, IonItem,], changeDetection: ChangeDetectionStrategy.Eager, providers: [{
3596
3659
  provide: NG_VALUE_ACCESSOR,
3597
3660
  useExisting: InputAreaComponent,
3598
3661
  multi: true
3599
- }], template: "<div [class]=\"{ 'input-text-padding': !classic }\">\n @if (classic) {\n <ion-item lines=\"none\" style=\"--background-focused: transparent;\" [class]=\"itemClass\" #itemArea>\n <ion-label position=\"{{ labelPosition }}\">{{ label }}\n @if (showObrigatorio) {\n <span \n class=\"label-tip-obrigatorio\">{{\n form?.get(formControlName)?.hasError('required') ? ' \u25CF' : ''}}\n </span>\n }\n </ion-label>\n <!-- formControlName=\"{{ formControlName }}\" -->\n <textarea #inputArea [placeholder]=\"placeholder\" [maxLength]=\"max\" (ionBlur)=\"onBlur()\" [value]=\"data\"\n [rows]=\"linhas\" (input)=\"writeValue(inputArea.value)\" [disabled]=\"readonly\" (focus)=\"entered()\"></textarea>\n </ion-item>\n } @else {\n\n <ion-textarea #inputArea [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\" [maxlength]=\"max\" class=\"modern\"\n [rows]=\"linhas\" (input)=\"writeValue(inputArea.value)\" (ionBlur)=\"onBlur()\" (ionInput)=\"onInputChange($event)\"\n [value]=\"data\" mode=\"md\" [counter]=\"contador\" [placeholder]=\"placeholder\">\n\n @if (icon || iconSrc) {\n <ion-icon slot=\"start\" [icon]=\"icon\" [src]=\"iconSrc\" aria-hidden=\"true\"></ion-icon>\n }\n @if (showSeeCopy) {\n\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\n (click)=\"copiarClick()\">\n <ion-icon slot=\"icon-only\" icon=\"copy-outline\"></ion-icon>\n </ion-button>\n\n }\n\n </ion-textarea>\n\n }\n\n @if (form) {\n <div class=\"validation-errors\">\n\n @for (validation of validation_messages; track validation.type) {\n <ng-container>\n @if (form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\n form.get(formControlName)?.touched)) {\n <div class=\"error-message\">\n &#8226; {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n </div>\n }\n</div>", styles: ["@charset \"UTF-8\";ion-label{margin-bottom:4px!important}ion-textarea{padding:var(--input-padding)!important;border-radius:4px;width:100%;margin-top:2px}textarea{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;resize:none;background-color:#fff}textarea::-webkit-scrollbar{width:10px;height:10px}textarea::-webkit-scrollbar-track{background:#f1f1f1}textarea::-webkit-scrollbar-thumb{border-radius:12px;background:var(--scroll-color-thumb, #808080)}textarea::-webkit-scrollbar-thumb:hover{background:var(--scroll-color-hover, #5c5c5c)}textarea:focus{outline:none!important;border:1px solid lightblue!important}textarea:focus ion-label{color:var(--ion-color-label-focus, blue)!important}.item-has-focus ion-label{color:var(--ion-color-label-focus, blue)!important}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"] }]
3662
+ }], template: "<div [class]=\"{ 'input-text-padding': !classic }\">\r\n @if (classic) {\r\n <ion-item lines=\"none\" style=\"--background-focused: transparent;\" [class]=\"itemClass\" #itemArea>\r\n <ion-label position=\"{{ labelPosition }}\">{{ label }}\r\n @if (showObrigatorio) {\r\n <span \r\n class=\"label-tip-obrigatorio\">{{\r\n form?.get(formControlName)?.hasError('required') ? ' \u25CF' : ''}}\r\n </span>\r\n }\r\n </ion-label>\r\n <!-- formControlName=\"{{ formControlName }}\" -->\r\n <textarea #inputArea [placeholder]=\"placeholder\" [maxLength]=\"max\" (ionBlur)=\"onBlur()\" [value]=\"data\"\r\n [rows]=\"linhas\" (input)=\"writeValue(inputArea.value)\" [disabled]=\"readonly\" (focus)=\"entered()\"></textarea>\r\n </ion-item>\r\n } @else {\r\n\r\n <ion-textarea #inputArea [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\" [maxlength]=\"max\" class=\"modern\"\r\n [rows]=\"linhas\" (input)=\"writeValue(inputArea.value)\" (ionBlur)=\"onBlur()\" (ionInput)=\"onInputChange($event)\"\r\n [value]=\"data\" mode=\"md\" [counter]=\"contador\" [placeholder]=\"placeholder\">\r\n\r\n @if (icon || iconSrc) {\r\n <ion-icon slot=\"start\" [icon]=\"icon\" [src]=\"iconSrc\" aria-hidden=\"true\"></ion-icon>\r\n }\r\n @if (showSeeCopy) {\r\n\r\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\r\n (click)=\"copiarClick()\">\r\n <ion-icon slot=\"icon-only\" icon=\"copy-outline\"></ion-icon>\r\n </ion-button>\r\n\r\n }\r\n\r\n </ion-textarea>\r\n\r\n }\r\n\r\n @if (form) {\r\n <div class=\"validation-errors\">\r\n\r\n @for (validation of validation_messages; track validation.type) {\r\n <ng-container>\r\n @if (form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\r\n form.get(formControlName)?.touched)) {\r\n <div class=\"error-message\">\r\n &#8226; {{ validation.message }}\r\n </div>\r\n }\r\n </ng-container>\r\n }\r\n </div>\r\n }\r\n</div>", styles: ["@charset \"UTF-8\";ion-label{margin-bottom:4px!important}ion-textarea{padding:var(--input-padding)!important;border-radius:4px;width:100%;margin-top:2px}textarea{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;resize:none;background-color:#fff}textarea::-webkit-scrollbar{width:10px;height:10px}textarea::-webkit-scrollbar-track{background:#f1f1f1}textarea::-webkit-scrollbar-thumb{border-radius:12px;background:var(--scroll-color-thumb, #808080)}textarea::-webkit-scrollbar-thumb:hover{background:var(--scroll-color-hover, #5c5c5c)}textarea:focus{outline:none!important;border:1px solid lightblue!important}textarea:focus ion-label{color:var(--ion-color-label-focus, blue)!important}.item-has-focus ion-label{color:var(--ion-color-label-focus, blue)!important}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"] }]
3600
3663
  }], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { linhas: [{
3601
3664
  type: Input
3602
3665
  }], contador: [{
@@ -3767,14 +3830,14 @@ class InputCepComponent extends BaseInputComponent {
3767
3830
  };
3768
3831
  });
3769
3832
  }
3770
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputCepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3771
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: InputCepComponent, isStandalone: true, selector: "kb-input-cep", inputs: { formato: "formato", keyEnter: "keyEnter" }, outputs: { getResultados: "getResultados", inputChange: "inputChange" }, providers: [{
3833
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputCepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3834
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InputCepComponent, isStandalone: true, selector: "kb-input-cep", inputs: { formato: "formato", keyEnter: "keyEnter" }, outputs: { getResultados: "getResultados", inputChange: "inputChange" }, providers: [{
3772
3835
  provide: NG_VALUE_ACCESSOR,
3773
3836
  useExisting: InputCepComponent,
3774
3837
  multi: true
3775
- }], usesInheritance: true, ngImport: i0, template: "<!--\n<div [formGroup]=\"form\">\n-->\n<!--comando --inner-padding-end: utilizado pra remover padding desnecess\u00E1rios-->\n<div [class]=\"{ 'input-text-padding': !classic }\">\n @if (classic) {\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\"\n [class]=\"itemClass + ' classic'\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\n <ion-label [position]=\"labelPosition\">{{ label }}\n @if (showObrigatorio) {\n <span class=\"label-tip-obrigatorio\">{{\n form?.get(formControlName)?.hasError('required') ? ' \u25CF' : ''}}\n </span>\n }\n </ion-label>\n <!-- formControlName={{formControlName}} -->\n <ion-input #inputCep type=\"tel\" [placeholder]=\"placeholder\" [maxlength]=\"max\"\n (keydown)=\"digitarFormatado($event)\" (keyup.enter)=\"onKeyEnter()\" (ionBlur)=\"onBlur()\" [value]=\"data\"\n (input)=\"writeValue(inputCep.value)\" [disabled]=\"readonly\"></ion-input>\n\n <ion-button fill=\"clear\" slot=\"end\" tabindex=\"-1\" color=\"medium\" class=\"btn-show-password\"\n (click)=\"pesquisarClick()\">\n <ion-icon color=\"primary\" name=\"search\"></ion-icon>\n </ion-button>\n\n </ion-item>\n } @else {\n <ion-input #inputCep type=\"tel\" [placeholder]=\"placeholder\" [maxlength]=\"max\" [label]=\"label\"\n [labelPlacement]=\"labelPosition\" fill=\"outline\" class=\"modern\" (keydown)=\"digitarFormatado($event)\"\n (keyup.enter)=\"onKeyEnter()\" (ionBlur)=\"onBlur()\" [value]=\"data\" (ionInput)=\"onInputChange($event)\"\n (input)=\"writeValue(inputCep.value)\" [disabled]=\"readonly\">\n\n <ion-button fill=\"clear\" slot=\"end\" tabindex=\"-1\" color=\"medium\" class=\"btn-show-password\"\n (click)=\"pesquisarClick()\">\n <ion-icon color=\"primary\" name=\"search\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n </ion-input>\n }\n @if (form) {\n <div class=\"validation-errors\">\n @for (validation of validation_messages; track validation.type) {\n <ng-container>\n @if (form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty\n || form.get(formControlName)?.touched)) {\n <div class=\"error-message\">\n &#8226; {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n </div>\n }\n</div>", styles: [".classic .btn-show-password{margin-top:auto;margin-bottom:calc((var(--input-min-height, 30px) - 30px) * .57142857 + 2px);margin-left:4px}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
3838
+ }], usesInheritance: true, ngImport: i0, template: "<!--\n<div [formGroup]=\"form\">\n-->\n<!--comando --inner-padding-end: utilizado pra remover padding desnecess\u00E1rios-->\n<div [class]=\"{ 'input-text-padding': !classic }\">\n @if (classic) {\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\"\n [class]=\"itemClass + ' classic'\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\n <ion-label [position]=\"labelPosition\">{{ label }}\n @if (showObrigatorio) {\n <span class=\"label-tip-obrigatorio\">{{\n form?.get(formControlName)?.hasError('required') ? ' \u25CF' : ''}}\n </span>\n }\n </ion-label>\n <!-- formControlName={{formControlName}} -->\n <ion-input #inputCep type=\"tel\" [placeholder]=\"placeholder\" [maxlength]=\"max\"\n (keydown)=\"digitarFormatado($event)\" (keyup.enter)=\"onKeyEnter()\" (ionBlur)=\"onBlur()\" [value]=\"data\"\n (input)=\"writeValue(inputCep.value)\" [disabled]=\"readonly\"></ion-input>\n\n <ion-button fill=\"clear\" slot=\"end\" tabindex=\"-1\" color=\"medium\" class=\"btn-show-password\"\n (click)=\"pesquisarClick()\">\n <ion-icon color=\"primary\" name=\"search\"></ion-icon>\n </ion-button>\n\n </ion-item>\n } @else {\n <ion-input #inputCep type=\"tel\" [placeholder]=\"placeholder\" [maxlength]=\"max\" [label]=\"label\"\n [labelPlacement]=\"labelPosition\" fill=\"outline\" class=\"modern\" (keydown)=\"digitarFormatado($event)\"\n (keyup.enter)=\"onKeyEnter()\" (ionBlur)=\"onBlur()\" [value]=\"data\" (ionInput)=\"onInputChange($event)\"\n (input)=\"writeValue(inputCep.value)\" [disabled]=\"readonly\">\n\n <ion-button fill=\"clear\" slot=\"end\" tabindex=\"-1\" color=\"medium\" class=\"btn-show-password\"\n (click)=\"pesquisarClick()\">\n <ion-icon color=\"primary\" name=\"search\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n </ion-input>\n }\n @if (form) {\n <div class=\"validation-errors\">\n @for (validation of validation_messages; track validation.type) {\n <ng-container>\n @if (form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty\n || form.get(formControlName)?.touched)) {\n <div class=\"error-message\">\n &#8226; {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n </div>\n }\n</div>", styles: [".classic .btn-show-password{margin-top:auto;margin-bottom:calc((var(--input-min-height, 30px) - 30px) * .57142857 + 2px);margin-left:4px}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
3776
3839
  }
3777
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputCepComponent, decorators: [{
3840
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputCepComponent, decorators: [{
3778
3841
  type: Component,
3779
3842
  args: [{ selector: 'kb-input-cep', imports: [IonIcon, IonButton, IonInput, IonLabel, IonItem, NgClass], changeDetection: ChangeDetectionStrategy.Eager, providers: [{
3780
3843
  provide: NG_VALUE_ACCESSOR,
@@ -3942,16 +4005,16 @@ class InputValorComponent extends BaseInputComponent {
3942
4005
  setFocus() {
3943
4006
  this.inputValorEdit.nativeElement.setFocus();
3944
4007
  }
3945
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputValorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3946
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: InputValorComponent, isStandalone: true, selector: "kb-input-valor", inputs: { maxValor: "maxValor" }, outputs: { inputChange: "inputChange" }, providers: [
4008
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputValorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4009
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InputValorComponent, isStandalone: true, selector: "kb-input-valor", inputs: { maxValor: "maxValor" }, outputs: { inputChange: "inputChange" }, providers: [
3947
4010
  {
3948
4011
  provide: NG_VALUE_ACCESSOR,
3949
4012
  useExisting: InputValorComponent,
3950
4013
  multi: true,
3951
4014
  },
3952
- ], viewQueries: [{ propertyName: "inputValorEdit", first: true, predicate: ["inputValor"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<!--\n<div [formGroup]=\"form\">\n-->\n<div [class]=\"{ 'input-text-padding': !classic }\">\n @if (classic) {\n <ion-item lines=\"none\" style=\"--background-focused: transparent;\" [class]=\"itemClass\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\n <ion-label position=\"{{ labelPosition }}\">{{ label }}\n @if (showObrigatorio) {\n <span class=\"label-tip-obrigatorio\">{{\n form?.get(formControlName)?.hasError('required') ? ' \u25CF' : ''}}\n </span>\n }\n </ion-label>\n <!-- formControlName=\"{{ formControlName }}\" -->\n <ion-input #inputValor type=\"text\" [placeholder]=\"placeholder\" maxlength=\"{{ max }}\" (ionBlur)=\"onBlur()\"\n [value]=\"data\" (input)=\"writeValue(inputValor.value)\" (keypress)=\"digitarValor($event)\"\n [clearInput]=\"botaoLimpar\" [disabled]=\"readonly\"></ion-input>\n </ion-item>\n } @else {\n <ion-input #inputValor type=\"text\" [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\"\n [placeholder]=\"placeholder\" class=\"modern\" [maxlength]=\"max\" (ionBlur)=\"onBlur()\" [value]=\"data\"\n (input)=\"writeValue(inputValor.value)\" (keypress)=\"digitarValor($event)\" (ionInput)=\"onInputChange($event)\"\n mode=\"md\" [clearInput]=\"botaoLimpar\" [disabled]=\"readonly\">\n @if (icon || iconSrc) {\n <ion-icon slot=\"start\" [icon]=\"icon\" [src]=\"iconSrc\" aria-hidden=\"true\"></ion-icon>\n }\n @if (showSeeCopy) {\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\n (click)=\"copiarClick()\">\n <ion-icon slot=\"icon-only\" icon=\"copy-outline\"></ion-icon>\n </ion-button>\n\n }\n\n </ion-input>\n }\n\n @if (form) {\n <div class=\"validation-errors\">\n @for (validation of validation_messages; track validation.type) {\n <ng-container>\n @if (form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\n form.get(formControlName)?.touched)) {\n <div class=\"error-message\">\n &#8226; {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n </div>\n }\n</div>", styles: ["", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
4015
+ ], viewQueries: [{ propertyName: "inputValorEdit", first: true, predicate: ["inputValor"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<!--\n<div [formGroup]=\"form\">\n-->\n<div [class]=\"{ 'input-text-padding': !classic }\">\n @if (classic) {\n <ion-item lines=\"none\" style=\"--background-focused: transparent;\" [class]=\"itemClass\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\n <ion-label position=\"{{ labelPosition }}\">{{ label }}\n @if (showObrigatorio) {\n <span class=\"label-tip-obrigatorio\">{{\n form?.get(formControlName)?.hasError('required') ? ' \u25CF' : ''}}\n </span>\n }\n </ion-label>\n <!-- formControlName=\"{{ formControlName }}\" -->\n <ion-input #inputValor type=\"text\" [placeholder]=\"placeholder\" maxlength=\"{{ max }}\" (ionBlur)=\"onBlur()\"\n [value]=\"data\" (input)=\"writeValue(inputValor.value)\" (keypress)=\"digitarValor($event)\"\n [clearInput]=\"botaoLimpar\" [disabled]=\"readonly\"></ion-input>\n </ion-item>\n } @else {\n <ion-input #inputValor type=\"text\" [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\"\n [placeholder]=\"placeholder\" class=\"modern\" [maxlength]=\"max\" (ionBlur)=\"onBlur()\" [value]=\"data\"\n (input)=\"writeValue(inputValor.value)\" (keypress)=\"digitarValor($event)\" (ionInput)=\"onInputChange($event)\"\n mode=\"md\" [clearInput]=\"botaoLimpar\" [disabled]=\"readonly\">\n @if (icon || iconSrc) {\n <ion-icon slot=\"start\" [icon]=\"icon\" [src]=\"iconSrc\" aria-hidden=\"true\"></ion-icon>\n }\n @if (showSeeCopy) {\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\n (click)=\"copiarClick()\">\n <ion-icon slot=\"icon-only\" icon=\"copy-outline\"></ion-icon>\n </ion-button>\n\n }\n\n </ion-input>\n }\n\n @if (form) {\n <div class=\"validation-errors\">\n @for (validation of validation_messages; track validation.type) {\n <ng-container>\n @if (form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\n form.get(formControlName)?.touched)) {\n <div class=\"error-message\">\n &#8226; {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n </div>\n }\n</div>", styles: ["", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
3953
4016
  }
3954
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputValorComponent, decorators: [{
4017
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputValorComponent, decorators: [{
3955
4018
  type: Component,
3956
4019
  args: [{ selector: 'kb-input-valor', imports: [IonButton, IonIcon, IonInput, IonLabel, IonItem, NgClass], changeDetection: ChangeDetectionStrategy.Eager, providers: [
3957
4020
  {
@@ -3997,14 +4060,14 @@ class InputCheckboxComponent extends BaseInputComponent {
3997
4060
  }
3998
4061
  ngOnInit() {
3999
4062
  }
4000
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4001
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: InputCheckboxComponent, isStandalone: true, selector: "kb-input-checkbox", inputs: { justify: "justify", labelPlacement: "labelPlacement" }, providers: [{
4063
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4064
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: InputCheckboxComponent, isStandalone: true, selector: "kb-input-checkbox", inputs: { justify: "justify", labelPlacement: "labelPlacement" }, providers: [{
4002
4065
  provide: NG_VALUE_ACCESSOR,
4003
4066
  useExisting: InputCheckboxComponent,
4004
4067
  multi: true
4005
- }], usesInheritance: true, ngImport: i0, template: "<div [class]=\"{ 'input-text-padding': !classic }\">\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent; padding-right: 0px; --background-hover: transparent\" [class]=\"itemClass\">\n <ion-checkbox #inputCheck\n [labelPlacement]=\"labelPlacement\" [justify]=\"justify\" \n [disabled]=\"readonly\"\n [checked]=\"data\"\n [color]=\"labelColor ?? 'primary'\" \n (ionChange)=\"writeValue(inputCheck.checked)\">\n <span [style.color]=\"labelColor ?? 'auto'\">{{ label }}</span> \n </ion-checkbox>\n </ion-item>\n</div>", styles: ["ion-item{--min-height: var(--checkbox-min-height, 48px) !important}ion-checkbox.checkbox-disabled{opacity:var(--item-disabled-opacity, .6)!important}span{color:var(--checkbox-text-color, \"inherit\")!important}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonCheckbox, selector: "ion-checkbox", inputs: ["checked", "color", "disabled", "indeterminate", "justify", "labelPlacement", "mode", "name", "value"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }] });
4068
+ }], usesInheritance: true, ngImport: i0, template: "<div [class]=\"{ 'input-text-padding': !classic }\">\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent; padding-right: 0px; --background-hover: transparent\" [class]=\"itemClass\">\n <ion-checkbox #inputCheck\n [labelPlacement]=\"labelPlacement\" [justify]=\"justify\" \n [disabled]=\"readonly\"\n [checked]=\"data\"\n [color]=\"labelColor ?? 'primary'\" \n (ionChange)=\"writeValue(inputCheck.checked)\">\n <span [style.color]=\"labelColor ?? 'auto'\">{{ label }}</span> \n </ion-checkbox>\n </ion-item>\n</div>", styles: ["ion-item{--min-height: var(--checkbox-min-height, 48px) !important}ion-checkbox.checkbox-disabled{opacity:var(--item-disabled-opacity, .6)!important}span{color:var(--checkbox-text-color, \"inherit\")!important}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonCheckbox, selector: "ion-checkbox", inputs: ["checked", "color", "disabled", "errorText", "helperText", "indeterminate", "justify", "labelPlacement", "mode", "name", "value"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }] });
4006
4069
  }
4007
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputCheckboxComponent, decorators: [{
4070
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputCheckboxComponent, decorators: [{
4008
4071
  type: Component,
4009
4072
  args: [{ selector: 'kb-input-checkbox', imports: [IonCheckbox, IonItem,], providers: [{
4010
4073
  provide: NG_VALUE_ACCESSOR,
@@ -4134,14 +4197,14 @@ class InputFormatComponent extends BaseInputComponent {
4134
4197
  return valor;
4135
4198
  }
4136
4199
  }
4137
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputFormatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4138
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: InputFormatComponent, isStandalone: true, selector: "kb-input-format", inputs: { formato: "formato", keyEnter: "keyEnter" }, outputs: { inputChange: "inputChange" }, providers: [{
4200
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputFormatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4201
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InputFormatComponent, isStandalone: true, selector: "kb-input-format", inputs: { formato: "formato", keyEnter: "keyEnter" }, outputs: { inputChange: "inputChange" }, providers: [{
4139
4202
  provide: NG_VALUE_ACCESSOR,
4140
4203
  useExisting: InputFormatComponent,
4141
4204
  multi: true
4142
4205
  }], viewQueries: [{ propertyName: "inputFormatEdit", first: true, predicate: ["inputFormat"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<!--\n<div [formGroup]=\"form\">\n-->\n<!--comando --inner-padding-end: utilizado pra remover padding desnecess\u00E1rios-->\n<div [class]=\"{ 'input-text-padding': !classic }\">\n @if (classic) {\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\"\n [class]=\"itemClass + ' classic'\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\n <ion-label [position]=\"labelPosition\">{{ label }}\n @if (showObrigatorio) {\n <span class=\"label-tip-obrigatorio\">{{\n form?.get(formControlName)?.hasError('required') ? ' \u25CF' : ''}}\n </span>\n }\n </ion-label>\n <!-- formControlName={{formControlName}} -->\n <ion-input #inputFormat type=\"tel\" [placeholder]=\"placeholder\" maxlength=\"{{ max }}\"\n (keydown)=\"digitarFormatado($event)\" (keyup.enter)=\"onKeyEnter()\" (ionBlur)=\"onBlur()\" [value]=\"data\"\n (input)=\"writeValue(inputFormat.value)\" [disabled]=\"readonly\"></ion-input>\n\n </ion-item>\n } @else {\n <ion-input #inputFormat type=\"tel\" [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\" \n [placeholder]=\"placeholder\" class=\"modern\" maxlength=\"{{ max }}\" \n [value]=\"data\" mode=\"md\"\n (input)=\"writeValue(inputFormat.value)\" \n (ionInput)=\"onInputChange($event)\" \n (ionBlur)=\"onBlur()\" \n (keydown)=\"digitarFormatado($event)\"\n (keyup.enter)=\"onKeyEnter()\" \n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake-modern' : '' \"\n [disabled]=\"readonly\" [shape]=\"shape\">\n\n @if (icon || iconSrc) {\n <ion-icon slot=\"start\" [icon]=\"icon\" [src]=\"iconSrc\" aria-hidden=\"true\"></ion-icon>\n }\n </ion-input>\n\n }\n\n @if (form) {\n <div class=\"validation-errors\">\n @for (validation of validation_messages; track validation.type) {\n <ng-container>\n @if (form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\n form.get(formControlName)?.touched)) {\n <div class=\"error-message\">\n &#8226; {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n </div>\n }\n</div>", styles: [".item-inner{padding-right:0!important}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
4143
4206
  }
4144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputFormatComponent, decorators: [{
4207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputFormatComponent, decorators: [{
4145
4208
  type: Component,
4146
4209
  args: [{ selector: 'kb-input-format', imports: [IonIcon, IonInput, IonLabel, IonItem, NgClass], changeDetection: ChangeDetectionStrategy.Eager, providers: [{
4147
4210
  provide: NG_VALUE_ACCESSOR,
@@ -4242,16 +4305,16 @@ class InputSelectComponent extends BaseInputComponent {
4242
4305
  catch {
4243
4306
  }
4244
4307
  }
4245
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputSelectComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
4246
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: InputSelectComponent, isStandalone: true, selector: "kb-input-select", inputs: { itens: "itens", itemId: "itemId", itemNome: "itemNome", showNovo: "showNovo", itemNull: "itemNull", opcaoDefault: "opcaoDefault", interface: "interface" }, outputs: { selectChange: "selectChange", selectChangeEntity: "selectChangeEntity" }, providers: [
4308
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputSelectComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
4309
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InputSelectComponent, isStandalone: true, selector: "kb-input-select", inputs: { itens: "itens", itemId: "itemId", itemNome: "itemNome", showNovo: "showNovo", itemNull: "itemNull", opcaoDefault: "opcaoDefault", interface: "interface" }, outputs: { selectChange: "selectChange", selectChangeEntity: "selectChangeEntity" }, providers: [
4247
4310
  {
4248
4311
  provide: NG_VALUE_ACCESSOR,
4249
4312
  useExisting: InputSelectComponent,
4250
4313
  multi: true,
4251
4314
  }
4252
- ], viewQueries: [{ propertyName: "itemSelect", first: true, predicate: ["itemSelect"], descendants: true, read: ElementRef }, { propertyName: "inputSelect", first: true, predicate: ["inputSelect"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<!--\n<div [formGroup]=\"form\">\n [style.opacity]=\"readonly ? 0.5 : 1\"\n [color]=\"labelColor\"\n-->\n<div [class]=\"{ 'input-text-padding': !classic }\">\n @if(classic) {\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent;\"\n [class]=\"itemClass + ' classic'\" id=\"item-select\" #itemSelect\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\n @if (label) {\n <ion-label style=\"color: var(--input-label-color);\" [position]=\"labelPosition\" class=\"label-color\">{{ label\n }}</ion-label>\n }\n <!-- formControlName=\"{{ formControlName }}\" -->\n <select [tabindex]=\"tabindex\" #inputSelect\n style=\"background-color: var(--input-color); color: var(--input-text-color); width: 100%;\"\n (change)=\"onSelectChange(inputSelect.value)\" (blur)=\"onBlur()\" [disabled]=\"readonly\" (focus)=\"entered()\">\n @if (itemNull) {\n <option [value]=\"''\" selected=\"true\">{{ opcaoDefault }}</option>\n }\n @for(item of itens; track item[itemId]) {\n <option [value]=\"item[itemId]\" [selected]=\"item[itemId] == data\">{{ item[itemNome] }}\n </option>\n }\n </select>\n @if(showSeeCopy) {\n <ion-button size=\"small\" slot=\"end\" style=\"margin-top: 27px; margin-inline-start: 4px !important;\" fill=\"clear\"\n color=\"dark\" (click)=\"copiarClick()\" [disabled]=\"!data\">\n <ion-icon name=\"copy-outline\"></ion-icon>\n </ion-button>\n }\n </ion-item>\n } @else {\n\n <ion-select aria-label=\"Fruit\" [interface]=\"interface\" [placeholder]=\"placeholder\" [fill]=\"fill\"\n [labelPlacement]=\"labelPosition\" [label]=\"label\" [disabled]=\"readonly\" [value]=\"data\" [mode]=\"mode\"\n (ionChange)=\"onSelectChange($event.detail.value)\">\n @if (icon) {\n <ion-icon slot=\"start\" [icon]=\"icon\" aria-hidden=\"true\"></ion-icon>\n }\n @if (itemNull) {\n <ion-select-option [value]=\"''\" selected=\"true\">{{ opcaoDefault }}</ion-select-option>\n }\n @for(item of itens; track item[itemId]) {\n <ion-select-option [value]=\"item[itemId]\">{{ item[itemNome] }}\n </ion-select-option>\n }\n @if (showSeeCopy) {\n <ion-button fill=\"clear\" slot=\"end\" (click)=\"copiarClick()\">\n <ion-icon slot=\"icon-only\" name=\"copy-outline\" aria-hidden=\"true\"></ion-icon>\n </ion-button>\n }\n </ion-select>\n\n\n }\n\n @if (form) {\n <div class=\"validation-errors\">\n @for(validation of validation_messages; track validation.type) {\n <ng-container>\n @if(form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\n form.get(formControlName)?.touched)) {\n <div class=\"error-message\" [ngClass]=\"validationClass\">\n &#8226; {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n </div>\n }\n</div>", styles: [".classic select{padding:2px;background-color:#fff;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;margin-left:0;transition:.2s ease}select:disabled{opacity:.6}select:disabled ion-label{opacity:.6!important}ion-label{--color: var(--focus-color, --color) !important}select:focus{outline:none!important;--focus-color: blue;border:1px solid lightblue!important}.item-has-focus ion-label{color:#00f!important}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "expandedIcon", "fill", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: IonSelectOption, selector: "ion-select-option", inputs: ["disabled", "value"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
4315
+ ], viewQueries: [{ propertyName: "itemSelect", first: true, predicate: ["itemSelect"], descendants: true, read: ElementRef }, { propertyName: "inputSelect", first: true, predicate: ["inputSelect"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<!--\n<div [formGroup]=\"form\">\n [style.opacity]=\"readonly ? 0.5 : 1\"\n [color]=\"labelColor\"\n-->\n<div [class]=\"{ 'input-text-padding': !classic }\">\n @if(classic) {\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent;\"\n [class]=\"itemClass + ' classic'\" id=\"item-select\" #itemSelect\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\n @if (label) {\n <ion-label style=\"color: var(--input-label-color);\" [position]=\"labelPosition\" class=\"label-color\">{{ label\n }}</ion-label>\n }\n <!-- formControlName=\"{{ formControlName }}\" -->\n <select [tabindex]=\"tabindex\" #inputSelect\n style=\"background-color: var(--input-color); color: var(--input-text-color); width: 100%;\"\n (change)=\"onSelectChange(inputSelect.value)\" (blur)=\"onBlur()\" [disabled]=\"readonly\" (focus)=\"entered()\">\n @if (itemNull) {\n <option [value]=\"''\" selected=\"true\">{{ opcaoDefault }}</option>\n }\n @for(item of itens; track item[itemId]) {\n <option [value]=\"item[itemId]\" [selected]=\"item[itemId] == data\">{{ item[itemNome] }}\n </option>\n }\n </select>\n @if(showSeeCopy) {\n <ion-button size=\"small\" slot=\"end\" style=\"margin-top: 27px; margin-inline-start: 4px !important;\" fill=\"clear\"\n color=\"dark\" (click)=\"copiarClick()\" [disabled]=\"!data\">\n <ion-icon name=\"copy-outline\"></ion-icon>\n </ion-button>\n }\n </ion-item>\n } @else {\n\n <ion-select aria-label=\"Fruit\" [interface]=\"interface\" [placeholder]=\"placeholder\" [fill]=\"fill\"\n [labelPlacement]=\"labelPosition\" [label]=\"label\" [disabled]=\"readonly\" [value]=\"data\" [mode]=\"mode\"\n (ionChange)=\"onSelectChange($event.detail.value)\">\n @if (icon) {\n <ion-icon slot=\"start\" [icon]=\"icon\" aria-hidden=\"true\"></ion-icon>\n }\n @if (itemNull) {\n <ion-select-option [value]=\"''\" selected=\"true\">{{ opcaoDefault }}</ion-select-option>\n }\n @for(item of itens; track item[itemId]) {\n <ion-select-option [value]=\"item[itemId]\">{{ item[itemNome] }}\n </ion-select-option>\n }\n @if (showSeeCopy) {\n <ion-button fill=\"clear\" slot=\"end\" (click)=\"copiarClick()\">\n <ion-icon slot=\"icon-only\" name=\"copy-outline\" aria-hidden=\"true\"></ion-icon>\n </ion-button>\n }\n </ion-select>\n\n\n }\n\n @if (form) {\n <div class=\"validation-errors\">\n @for(validation of validation_messages; track validation.type) {\n <ng-container>\n @if(form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\n form.get(formControlName)?.touched)) {\n <div class=\"error-message\" [ngClass]=\"validationClass\">\n &#8226; {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n </div>\n }\n</div>", styles: [".classic select{padding:2px;background-color:#fff;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;margin-left:0;transition:.2s ease}select:disabled{opacity:.6}select:disabled ion-label{opacity:.6!important}ion-label{--color: var(--focus-color, --color) !important}select:focus{outline:none!important;--focus-color: blue;border:1px solid lightblue!important}.item-has-focus ion-label{color:#00f!important}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "errorText", "expandedIcon", "fill", "helperText", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: IonSelectOption, selector: "ion-select-option", inputs: ["description", "disabled", "justify", "labelPlacement", "mode", "value"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
4253
4316
  }
4254
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputSelectComponent, decorators: [{
4317
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputSelectComponent, decorators: [{
4255
4318
  type: Component,
4256
4319
  args: [{ selector: 'kb-input-select', imports: [IonIcon, IonButton, IonLabel, IonItem, IonSelect, IonSelectOption, NgClass], changeDetection: ChangeDetectionStrategy.Eager, providers: [
4257
4320
  {
@@ -4319,14 +4382,14 @@ class InputRadioComponent extends BaseInputComponent {
4319
4382
  }
4320
4383
  ngOnInit() {
4321
4384
  }
4322
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4323
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: InputRadioComponent, isStandalone: true, selector: "kb-input-radio", inputs: { itens: "itens", itemId: "itemId", itemNome: "itemNome", color: "color" }, providers: [{
4385
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4386
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: InputRadioComponent, isStandalone: true, selector: "kb-input-radio", inputs: { itens: "itens", itemId: "itemId", itemNome: "itemNome", color: "color" }, providers: [{
4324
4387
  provide: NG_VALUE_ACCESSOR,
4325
4388
  useExisting: InputRadioComponent,
4326
4389
  multi: true
4327
- }], usesInheritance: true, ngImport: i0, template: "<div>\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent; padding-right: 0px;\" [class]=\"itemClass\"\n [style.opacity]=\"readonly ? '0.5' : '1'\">\n <ion-radio-group #inputRadio \n [value]=\"data\"\n (ionChange)=\"writeValue(inputRadio.value)\">\n <span style=\"font-size: 13px\">\n {{ label }}\n </span>\n <ion-row>\n <ion-col *ngFor=\"let item of itens\">\n <ion-radio style=\"margin-right: 12px;\" [color]=\"color\" \n labelPlacement=\"end\" \n justify=\"start\"\n [disabled]=\"readonly\"\n [value]=\"item[itemId]\">\n {{ item[itemNome] }}</ion-radio><br />\n </ion-col>\n </ion-row>\n </ion-radio-group>\n </ion-item>\n</div>", styles: ["ion-item{--min-height: var(--checkbox-min-height, 48px) !important}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonRadio, selector: "ion-radio", inputs: ["alignment", "color", "disabled", "justify", "labelPlacement", "mode", "name", "value"] }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: IonRadioGroup, selector: "ion-radio-group", inputs: ["allowEmptySelection", "name", "value"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
4390
+ }], usesInheritance: true, ngImport: i0, template: "<div>\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent; padding-right: 0px;\" [class]=\"itemClass\"\n [style.opacity]=\"readonly ? '0.5' : '1'\">\n <ion-radio-group #inputRadio \n [value]=\"data\"\n (ionChange)=\"writeValue(inputRadio.value)\">\n <span style=\"font-size: 13px\">\n {{ label }}\n </span>\n <ion-row>\n <ion-col *ngFor=\"let item of itens\">\n <ion-radio style=\"margin-right: 12px;\" [color]=\"color\" \n labelPlacement=\"end\" \n justify=\"start\"\n [disabled]=\"readonly\"\n [value]=\"item[itemId]\">\n {{ item[itemNome] }}</ion-radio><br />\n </ion-col>\n </ion-row>\n </ion-radio-group>\n </ion-item>\n</div>", styles: ["ion-item{--min-height: var(--checkbox-min-height, 48px) !important}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonRadio, selector: "ion-radio", inputs: ["alignment", "color", "disabled", "justify", "labelPlacement", "mode", "name", "value"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: IonRadioGroup, selector: "ion-radio-group", inputs: ["allowEmptySelection", "compareWith", "errorText", "helperText", "name", "value"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
4328
4391
  }
4329
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputRadioComponent, decorators: [{
4392
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputRadioComponent, decorators: [{
4330
4393
  type: Component,
4331
4394
  args: [{ selector: 'kb-input-radio', imports: [IonRadio, IonCol, IonRow, IonRadioGroup, IonItem,], changeDetection: ChangeDetectionStrategy.Eager, providers: [{
4332
4395
  provide: NG_VALUE_ACCESSOR,
@@ -4359,10 +4422,10 @@ class EntityEditComponent {
4359
4422
  }
4360
4423
  emptyHandler() {
4361
4424
  }
4362
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: EntityEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4363
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: EntityEditComponent, isStandalone: true, selector: "kb-entidade-edit", inputs: { entidade: "entidade", campos: "campos", entidadeForm: "entidadeForm", validation_messages: "validation_messages", itemClass: "itemClass", rowClass: "rowClass", showObrigatorio: "showObrigatorio" }, ngImport: i0, template: "<div>\n @if (campos && campos.length) {\n <form [formGroup]=\"entidadeForm\" style=\"width: 100%;\">\n\n @for (linha of campos; track linha.Linha) {\n <ion-row [class]=\"rowClass\">\n @for (campo of linha.Linha; track campo.Nome) {\n <ng-container>\n <!-- {{ campo.Nome }} {{ campo.Tipo }} -->\n\n <!-- [showCustomAction]=\"campo.InputAction ?? false\" [customActionIcon]=\"campo.InputActionIcon ?? 'search-outline'\" -->\n @if (campo.Tipo == 'input-text') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-text label=\"{{campo.Label ?? campo.Nome}}\"\n [placeholder]=\"campo.PlaceHolderVisivel ? (campo.PlaceHolder ? campo.PlaceHolder : (campo.Label ?? campo.Nome + '...')) : ''\" \n [form]=\"entidadeForm\"\n [max]=\"campo.Tamanho ?? '50'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n [formControlName]=\"campo.Nome\" [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\"\n [type]=\"campo.TipoInput ?? 'text'\" [showSeePassword]=\"campo.TipoInput == 'password'\" \n (customActionClick)=\"campo.click ? campo.click($event) : emptyHandler()\" [itemClass]=\"itemClass\"\n [showObrigatorio]=\"showObrigatorio\">\n </kb-input-text>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-date') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-text label=\"{{campo.Label ?? campo.Nome}}\"\n [form]=\"entidadeForm\"\n [max]=\"campo.Tamanho ?? '50'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n [formControlName]=\"campo.Nome\" [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\"\n type=\"date\" \n (customActionClick)=\"campo.click ? campo.click($event) : emptyHandler()\" [itemClass]=\"itemClass\"\n [showObrigatorio]=\"showObrigatorio\">\n </kb-input-text>\n </ion-col> \n } \n @else if (campo.Tipo == 'input-number') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-text label=\"{{campo.Label ?? campo.Nome}}\"\n [placeholder]=\"campo.PlaceHolderVisivel ? (campo.PlaceHolder ? campo.PlaceHolder : (campo.Label ?? campo.Nome + '...')) : ''\" \n [form]=\"entidadeForm\"\n [max]=\"campo.Tamanho ?? '50'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n [formControlName]=\"campo.Nome\" [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\"\n type=\"number\" \n (customActionClick)=\"campo.click ? campo.click($event) : emptyHandler()\" [itemClass]=\"itemClass\"\n [showObrigatorio]=\"showObrigatorio\">\n </kb-input-text>\n </ion-col>\n \n }\n @else if (campo.Tipo == 'input-area') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-area label=\"{{campo.Label ?? campo.Nome}}\"\n [placeholder]=\"campo.PlaceHolderVisivel ? (campo.PlaceHolder ? campo.PlaceHolder : (campo.Label ?? campo.Nome + '...')) : ''\" \n [form]=\"entidadeForm\"\n [max]=\"campo.Tamanho ?? '50'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n [formControlName]=\"campo.Nome\" [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\"\n [linhas]=\"campo.Linhas ?? 5\" [itemClass]=\"itemClass\" [showObrigatorio]=\"showObrigatorio\">\n </kb-input-area>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-cep') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-cep label=\"{{campo.Label ?? campo.Nome}}\" [form]=\"entidadeForm\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\" [itemClass]=\"itemClass\"\n [showObrigatorio]=\"showObrigatorio\" (getResultados)=\"campo.change ? campo.change($event) : emptyHandler()\">\n </kb-input-cep>\n </ion-col>\n }\n @else if(campo.Tipo == 'input-valor') {\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"\" [hidden]=\"campo.Hidden === true\">\n <kb-input-valor label=\"{{campo.Label ?? campo.Nome}}\" [form]=\"entidadeForm\" [max]=\"campo.Tamanho ?? '50'\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\" [itemClass]=\"itemClass\"\n [showObrigatorio]=\"showObrigatorio\">\n </kb-input-valor>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-checkbox') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-checkbox label=\"{{ campo.Label }}\" [form]=\"entidadeForm\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\" [itemClass]=\"itemClass\"\n [labelColor]=\"campo.BtnColor ?? 'dark'\">\n\n </kb-input-checkbox>\n </ion-col>\n }\n @else if(campo.Tipo == 'input-format') {\n\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-format label=\"{{campo.Label ?? campo.Nome}}\" [form]=\"entidadeForm\" [max]=\"campo.Tamanho ?? '50'\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\" [formato]=\"campo.Formato ?? ''\"\n [itemClass]=\"itemClass\" [showObrigatorio]=\"showObrigatorio\">\n </kb-input-format>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-select') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-select [label]=\"campo.Label ?? campo.Nome\" [placeholder]=\"'Selecionar...'\"\n [formControlName]=\"campo.Nome\" [form]=\"entidadeForm\" [itens]=\"campo.Itens!\" [itemId]=\"campo.ItemId ?? 'Id'\"\n [itemNome]=\"campo.ItemNome ?? 'Nome'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n (selectChangeEntity)=\"campo.change ? campo.change($event) : emptyHandler()\" [readonly]=\"campo.ReadOnly\"\n [itemClass]=\"itemClass\" [showObrigatorio]=\"showObrigatorio\">\n </kb-input-select>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-radio') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-radio [label]=\"campo.Label ?? campo.Nome\" [formControlName]=\"campo.Nome\" [form]=\"entidadeForm\"\n [itens]=\"campo.Itens!\" [itemId]=\"campo.ItemId ?? 'Id'\" [itemNome]=\"campo.ItemNome ?? 'Nome'\" [readonly]=\"campo.ReadOnly\"\n [itemClass]=\"itemClass\">\n </kb-input-radio>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-pesquisa') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-pesquisa #pesquisaCentroCustoPai [label]=\"campo.Label ?? campo.Nome\" [campoId]=\"campo.ItemId ?? 'Id'\"\n [focusField]=\"campo.focusField ?? false\" [formControlName]=\"campo.Nome\" \n [placeholder]=\"campo.PlaceHolderVisivel ? (campo.PlaceHolder ? campo.PlaceHolder : ('Pesquisar...')) : ''\"\n [campoDisplay]=\"campo.ItemNome ?? 'Nome'\" [form]=\"entidadeForm\" [tipo]=\"campo.TipoPesquisa ?? ''\"\n [urlItem]=\"campo.UrlItem ?? ''\" [max]=\"campo.Tamanho ?? '50'\" [url]=\"campo.UrlPesquisa ?? ''\"\n [readonly]=\"campo.ReadOnly\" (pesquisaChange)=\"campo.change ? campo.change($event) : emptyHandler()\"\n [itemClass]=\"itemClass\" [showObrigatorio]=\"showObrigatorio\">\n </kb-input-pesquisa>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-button') {\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"\">\n <!-- \n <kb-btn-action [title]=\"campo.Label\" [icon]=\"campo.Icon\" [iconSrc]=\"campo.IconSrc\" [color]=\"campo.BtnColor ?? 'light'\" \n [expand]=\"campo.BtnExpand ?? 'block'\" style=\"margin-top: var(--btn-action-margin-top, auto);\">\n </kb-btn-action>\n -->\n <ion-button [expand]=\"campo.BtnExpand ?? 'block'\" [color]=\"campo.BtnColor ?? 'light'\"\n (click)=\"campo.click ? campo.click($event) : emptyHandler()\" [size]=\"campo.BtnSize ?? 'default'\"\n [disabled]=\"campo.ReadOnly\">\n <ion-icon *ngIf=\"campo.Icon || campo.IconSrc\" [name]=\"campo.Icon\" [src]=\"campo.IconSrc\"></ion-icon>\n {{ campo.Label }}\n </ion-button>\n </ion-col>\n }\n @else if (campo.Tipo == 'col') {\n <ion-col *ngIf=\"campo.Tipo == 'col'\" size-md=\"1\" size-xs=\"0\">\n\n </ion-col>\n }\n @else if (campo.Tipo == 'sub-titulo') {\n <ion-col *ngIf=\"\" size=\"12\">\n <ion-list lines=\"none\" class=\"ion-no-padding\">\n <ion-list-header color=\"primary\" [style]=\"campo.CampoStyle ?? ''\">\n <ion-label [style]=\"campo.LabelStyle ?? ''\">{{ campo.Label }}</ion-label>\n </ion-list-header>\n </ion-list>\n </ion-col>\n }\n </ng-container>\n }\n </ion-row>\n }\n <!--\n <ion-col class=\"select ion-no-margin ion-no-padding\">\n <ion-item lines=\"none\">\n <ion-label>Totalizador</ion-label>\n <ion-checkbox slot=\"start\" formControlName=\"Totalizador\"></ion-checkbox>\n </ion-item>\n </ion-col>\n <ion-col class=\"select ion-no-margin ion-no-padding\">\n <ion-item lines=\"none\">\n <ion-label>Inativo</ion-label>\n <ion-checkbox slot=\"start\" formControlName=\"Inativo\"></ion-checkbox>\n </ion-item>\n </ion-col>\n -->\n </form>\n }\n</div>", styles: ["ion-list-header{text-align:center;font-size:large}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonListHeader, selector: "ion-list-header", inputs: ["color", "lines", "mode"] }, { kind: "component", type: IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: InputTextComponent, selector: "kb-input-text", inputs: ["showSeePassword"], outputs: ["inputChange"] }, { kind: "component", type: InputPesquisaComponent, selector: "kb-input-pesquisa", inputs: ["textoPesquisa", "max", "filterFunction", "selectId", "campoId", "campoPaiId", "campoDisplay", "tipo", "url", "urlItem", "empresa", "loadInit", "urlTree", "treeTitulo"], outputs: ["pesquisaChange", "limpar"] }, { kind: "component", type: InputAreaComponent, selector: "kb-input-area", inputs: ["linhas", "contador"], outputs: ["inputChange"] }, { kind: "component", type: InputCepComponent, selector: "kb-input-cep", inputs: ["formato", "keyEnter"], outputs: ["getResultados", "inputChange"] }, { kind: "component", type: InputValorComponent, selector: "kb-input-valor", inputs: ["maxValor"], outputs: ["inputChange"] }, { kind: "component", type: InputCheckboxComponent, selector: "kb-input-checkbox", inputs: ["justify", "labelPlacement"] }, { kind: "component", type: InputFormatComponent, selector: "kb-input-format", inputs: ["formato", "keyEnter"], outputs: ["inputChange"] }, { kind: "component", type: InputSelectComponent, selector: "kb-input-select", inputs: ["itens", "itemId", "itemNome", "showNovo", "itemNull", "opcaoDefault", "interface"], outputs: ["selectChange", "selectChangeEntity"] }, { kind: "component", type: InputRadioComponent, selector: "kb-input-radio", inputs: ["itens", "itemId", "itemNome", "color"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
4425
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: EntityEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4426
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: EntityEditComponent, isStandalone: true, selector: "kb-entidade-edit", inputs: { entidade: "entidade", campos: "campos", entidadeForm: "entidadeForm", validation_messages: "validation_messages", itemClass: "itemClass", rowClass: "rowClass", showObrigatorio: "showObrigatorio" }, ngImport: i0, template: "<div>\n @if (campos && campos.length) {\n <form [formGroup]=\"entidadeForm\" style=\"width: 100%;\">\n\n @for (linha of campos; track linha.Linha) {\n <ion-row [class]=\"rowClass\">\n @for (campo of linha.Linha; track campo.Nome) {\n <ng-container>\n <!-- {{ campo.Nome }} {{ campo.Tipo }} -->\n\n <!-- [showCustomAction]=\"campo.InputAction ?? false\" [customActionIcon]=\"campo.InputActionIcon ?? 'search-outline'\" -->\n @if (campo.Tipo == 'input-text') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-text label=\"{{campo.Label ?? campo.Nome}}\"\n [placeholder]=\"campo.PlaceHolderVisivel ? (campo.PlaceHolder ? campo.PlaceHolder : (campo.Label ?? campo.Nome + '...')) : ''\" \n [form]=\"entidadeForm\"\n [max]=\"campo.Tamanho ?? '50'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n [formControlName]=\"campo.Nome\" [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\"\n [type]=\"campo.TipoInput ?? 'text'\" [showSeePassword]=\"campo.TipoInput == 'password'\" \n (customActionClick)=\"campo.click ? campo.click($event) : emptyHandler()\" [itemClass]=\"itemClass\"\n [showObrigatorio]=\"showObrigatorio\">\n </kb-input-text>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-date') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-text label=\"{{campo.Label ?? campo.Nome}}\"\n [form]=\"entidadeForm\"\n [max]=\"campo.Tamanho ?? '50'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n [formControlName]=\"campo.Nome\" [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\"\n type=\"date\" \n (customActionClick)=\"campo.click ? campo.click($event) : emptyHandler()\" [itemClass]=\"itemClass\"\n [showObrigatorio]=\"showObrigatorio\">\n </kb-input-text>\n </ion-col> \n } \n @else if (campo.Tipo == 'input-number') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-text label=\"{{campo.Label ?? campo.Nome}}\"\n [placeholder]=\"campo.PlaceHolderVisivel ? (campo.PlaceHolder ? campo.PlaceHolder : (campo.Label ?? campo.Nome + '...')) : ''\" \n [form]=\"entidadeForm\"\n [max]=\"campo.Tamanho ?? '50'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n [formControlName]=\"campo.Nome\" [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\"\n type=\"number\" \n (customActionClick)=\"campo.click ? campo.click($event) : emptyHandler()\" [itemClass]=\"itemClass\"\n [showObrigatorio]=\"showObrigatorio\">\n </kb-input-text>\n </ion-col>\n \n }\n @else if (campo.Tipo == 'input-area') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-area label=\"{{campo.Label ?? campo.Nome}}\"\n [placeholder]=\"campo.PlaceHolderVisivel ? (campo.PlaceHolder ? campo.PlaceHolder : (campo.Label ?? campo.Nome + '...')) : ''\" \n [form]=\"entidadeForm\"\n [max]=\"campo.Tamanho ?? '50'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n [formControlName]=\"campo.Nome\" [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\"\n [linhas]=\"campo.Linhas ?? 5\" [itemClass]=\"itemClass\" [showObrigatorio]=\"showObrigatorio\">\n </kb-input-area>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-cep') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-cep label=\"{{campo.Label ?? campo.Nome}}\" [form]=\"entidadeForm\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\" [itemClass]=\"itemClass\"\n [showObrigatorio]=\"showObrigatorio\" (getResultados)=\"campo.change ? campo.change($event) : emptyHandler()\">\n </kb-input-cep>\n </ion-col>\n }\n @else if(campo.Tipo == 'input-valor') {\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"\" [hidden]=\"campo.Hidden === true\">\n <kb-input-valor label=\"{{campo.Label ?? campo.Nome}}\" [form]=\"entidadeForm\" [max]=\"campo.Tamanho ?? '50'\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\" [itemClass]=\"itemClass\"\n [showObrigatorio]=\"showObrigatorio\">\n </kb-input-valor>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-checkbox') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-checkbox label=\"{{ campo.Label }}\" [form]=\"entidadeForm\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\" [itemClass]=\"itemClass\"\n [labelColor]=\"campo.BtnColor ?? 'dark'\">\n\n </kb-input-checkbox>\n </ion-col>\n }\n @else if(campo.Tipo == 'input-format') {\n\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-format label=\"{{campo.Label ?? campo.Nome}}\" [form]=\"entidadeForm\" [max]=\"campo.Tamanho ?? '50'\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\" [formato]=\"campo.Formato ?? ''\"\n [itemClass]=\"itemClass\" [showObrigatorio]=\"showObrigatorio\">\n </kb-input-format>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-select') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-select [label]=\"campo.Label ?? campo.Nome\" [placeholder]=\"'Selecionar...'\"\n [formControlName]=\"campo.Nome\" [form]=\"entidadeForm\" [itens]=\"campo.Itens!\" [itemId]=\"campo.ItemId ?? 'Id'\"\n [itemNome]=\"campo.ItemNome ?? 'Nome'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n (selectChangeEntity)=\"campo.change ? campo.change($event) : emptyHandler()\" [readonly]=\"campo.ReadOnly\"\n [itemClass]=\"itemClass\" [showObrigatorio]=\"showObrigatorio\">\n </kb-input-select>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-radio') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-radio [label]=\"campo.Label ?? campo.Nome\" [formControlName]=\"campo.Nome\" [form]=\"entidadeForm\"\n [itens]=\"campo.Itens!\" [itemId]=\"campo.ItemId ?? 'Id'\" [itemNome]=\"campo.ItemNome ?? 'Nome'\" [readonly]=\"campo.ReadOnly\"\n [itemClass]=\"itemClass\">\n </kb-input-radio>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-pesquisa') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-pesquisa #pesquisaCentroCustoPai [label]=\"campo.Label ?? campo.Nome\" [campoId]=\"campo.ItemId ?? 'Id'\"\n [focusField]=\"campo.focusField ?? false\" [formControlName]=\"campo.Nome\" \n [placeholder]=\"campo.PlaceHolderVisivel ? (campo.PlaceHolder ? campo.PlaceHolder : ('Pesquisar...')) : ''\"\n [campoDisplay]=\"campo.ItemNome ?? 'Nome'\" [form]=\"entidadeForm\" [tipo]=\"campo.TipoPesquisa ?? ''\"\n [urlItem]=\"campo.UrlItem ?? ''\" [max]=\"campo.Tamanho ?? '50'\" [url]=\"campo.UrlPesquisa ?? ''\"\n [readonly]=\"campo.ReadOnly\" (pesquisaChange)=\"campo.change ? campo.change($event) : emptyHandler()\"\n [itemClass]=\"itemClass\" [showObrigatorio]=\"showObrigatorio\">\n </kb-input-pesquisa>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-button') {\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"\">\n <!-- \n <kb-btn-action [title]=\"campo.Label\" [icon]=\"campo.Icon\" [iconSrc]=\"campo.IconSrc\" [color]=\"campo.BtnColor ?? 'light'\" \n [expand]=\"campo.BtnExpand ?? 'block'\" style=\"margin-top: var(--btn-action-margin-top, auto);\">\n </kb-btn-action>\n -->\n <ion-button [expand]=\"campo.BtnExpand ?? 'block'\" [color]=\"campo.BtnColor ?? 'light'\"\n (click)=\"campo.click ? campo.click($event) : emptyHandler()\" [size]=\"campo.BtnSize ?? 'default'\"\n [disabled]=\"campo.ReadOnly\">\n <ion-icon *ngIf=\"campo.Icon || campo.IconSrc\" [name]=\"campo.Icon\" [src]=\"campo.IconSrc\"></ion-icon>\n {{ campo.Label }}\n </ion-button>\n </ion-col>\n }\n @else if (campo.Tipo == 'col') {\n <ion-col *ngIf=\"campo.Tipo == 'col'\" size-md=\"1\" size-xs=\"0\">\n\n </ion-col>\n }\n @else if (campo.Tipo == 'sub-titulo') {\n <ion-col *ngIf=\"\" size=\"12\">\n <ion-list lines=\"none\" class=\"ion-no-padding\">\n <ion-list-header color=\"primary\" [style]=\"campo.CampoStyle ?? ''\">\n <ion-label [style]=\"campo.LabelStyle ?? ''\">{{ campo.Label }}</ion-label>\n </ion-list-header>\n </ion-list>\n </ion-col>\n }\n </ng-container>\n }\n </ion-row>\n }\n <!--\n <ion-col class=\"select ion-no-margin ion-no-padding\">\n <ion-item lines=\"none\">\n <ion-label>Totalizador</ion-label>\n <ion-checkbox slot=\"start\" formControlName=\"Totalizador\"></ion-checkbox>\n </ion-item>\n </ion-col>\n <ion-col class=\"select ion-no-margin ion-no-padding\">\n <ion-item lines=\"none\">\n <ion-label>Inativo</ion-label>\n <ion-checkbox slot=\"start\" formControlName=\"Inativo\"></ion-checkbox>\n </ion-item>\n </ion-col>\n -->\n </form>\n }\n</div>", styles: ["ion-list-header{text-align:center;font-size:large}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonListHeader, selector: "ion-list-header", inputs: ["color", "lines", "mode"] }, { kind: "component", type: IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: InputTextComponent, selector: "kb-input-text", inputs: ["showSeePassword"], outputs: ["inputChange"] }, { kind: "component", type: InputPesquisaComponent, selector: "kb-input-pesquisa", inputs: ["textoPesquisa", "max", "filterFunction", "selectId", "campoId", "campoPaiId", "campoDisplay", "tipo", "url", "urlItem", "empresa", "loadInit", "urlTree", "treeTitulo"], outputs: ["pesquisaChange", "limpar"] }, { kind: "component", type: InputAreaComponent, selector: "kb-input-area", inputs: ["linhas", "contador"], outputs: ["inputChange"] }, { kind: "component", type: InputCepComponent, selector: "kb-input-cep", inputs: ["formato", "keyEnter"], outputs: ["getResultados", "inputChange"] }, { kind: "component", type: InputValorComponent, selector: "kb-input-valor", inputs: ["maxValor"], outputs: ["inputChange"] }, { kind: "component", type: InputCheckboxComponent, selector: "kb-input-checkbox", inputs: ["justify", "labelPlacement"] }, { kind: "component", type: InputFormatComponent, selector: "kb-input-format", inputs: ["formato", "keyEnter"], outputs: ["inputChange"] }, { kind: "component", type: InputSelectComponent, selector: "kb-input-select", inputs: ["itens", "itemId", "itemNome", "showNovo", "itemNull", "opcaoDefault", "interface"], outputs: ["selectChange", "selectChangeEntity"] }, { kind: "component", type: InputRadioComponent, selector: "kb-input-radio", inputs: ["itens", "itemId", "itemNome", "color"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
4364
4427
  }
4365
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: EntityEditComponent, decorators: [{
4428
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: EntityEditComponent, decorators: [{
4366
4429
  type: Component,
4367
4430
  args: [{ selector: 'kb-entidade-edit', imports: [IonIcon, IonListHeader, IonList, IonButton, IonLabel, IonCol, IonRow, InputTextComponent,
4368
4431
  InputPesquisaComponent, InputAreaComponent, InputCepComponent, InputValorComponent, InputCheckboxComponent,
@@ -4691,10 +4754,10 @@ class GridViewComponent {
4691
4754
  selecionadoChecked() {
4692
4755
  this.selecionarChecked.emit();
4693
4756
  }
4694
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: GridViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4695
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: GridViewComponent, isStandalone: true, selector: "kb-grid-view", inputs: { tabelaCampos: "tabelaCampos", dataSet: "dataSet", minHeight: "minHeight", maxHeight: "maxHeight", inMemoryPagination: "inMemoryPagination", apiPagination: "apiPagination", filteredDataSet: "filteredDataSet", pageOffset: "pageOffset", apiTotalRecords: "apiTotalRecords", apiPage: "apiPage", apiPagesTotal: "apiPagesTotal" }, outputs: { selecionarItem: "selecionarItem", excluirItem: "excluirItem", selecionarChecked: "selecionarChecked", apiProximoEvent: "apiProximoEvent", apiAnteriorEvent: "apiAnteriorEvent" }, usesOnChanges: true, ngImport: i0, template: "<div style=\"font-size: 14px;\">\n <div id=\"painelExportacao\">\n @if(inMemoryPagination || apiPagination) {\n <ion-row>\n <!--\n <ion-col size=\"2\">\n <ion-button *ngIf=\"tabelaCampos.Selecionar === true\" size=\"small\" fill=\"outline\" color=\"medium\"\n (click)=\"selecionarTodos()\">Selecionar Todos</ion-button>\n </ion-col>\n -->\n <ion-col size-md=\"5\" size-xs=\"12\">\n @if (inMemoryPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"bluetool\" (click)=\"anterior()\">\n <ion-icon name=\"chevron-back-outline\" slot=\"start\"></ion-icon>\n Anterior\n </ion-button>\n }\n @if (inMemoryPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"bluetool\" (click)=\"proximo()\">\n Pr\u00F3ximo\n <ion-icon name=\"chevron-forward-outline\" slot=\"end\"></ion-icon>\n </ion-button>\n }\n @if (apiPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"medium\" shape=\"round\" class=\"circle-button\"\n (click)=\"proximoApi(false)\" alt=\"Primeiro\">\n <ion-icon name=\"chevron-back-outline\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n }\n @for (pag of pages; track pag) {\n <ion-button shape=\"round\" [fill]=\"pag == this.page ? 'solid' : 'outline'\" size=\"small\"\n class=\"circle-button\" [color]=\"pag == this.page ? 'verde' : 'medium'\"\n [class]=\"{ 'pageSelected': pag == this.page }\" (click)=\"proximoApi(false, pag)\">{{ pag\n }}</ion-button>\n }\n @if (apiPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"medium\" shape=\"round\" class=\"circle-button\"\n (click)=\"proximoApi(true)\" alt=\"\u00DAltimo\">\n <ion-icon name=\"chevron-forward-outline\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n }\n\n </ion-col>\n <ion-col size-md=\"5\" size-xs=\"12\" style=\"text-align: left;\">\n @if ((inMemoryPagination || apiPagination) && totalRec > 0) {\n <span style=\"display: block; margin-top: 10px;\">Exibindo {{ start + 1 }} - {{ (start +\n pageOffset) < totalRec ? (start + pageOffset) : totalRec }} total de {{ totalRec }} </span>\n }\n </ion-col>\n </ion-row>\n }\n </div>\n <div style=\"width: 100%; margin-top: 16px; overflow-y: auto;\" [style.min-height]=\"minHeight\"\n [style.max-height]=\"maxHeight\" class=\"scroll-container\">\n <table class=\"grid\">\n <thead>\n <tr style=\"background-color: var(--ion-color-bluetool); color: white;\">\n @if (tabelaCampos.Selecionar === true) {\n <td style=\"width: 3%; text-align: center;\">\n <input type=\"checkbox\" [(ngModel)]=\"todosSelecionados\" (change)=\"selecionarTodos()\">\n </td>\n }\n @for (col of tabelaCampos.Colunas; track col) {\n <td [style.width]=\"col.Tamanho\">\n <div style=\"position: relative;\">\n <div style=\"display: flex; justify-content: space-between; align-items: end;\">\n <strong>{{ col.Titulo }}</strong>\n <div>\n @if (col.Ordem) {\n <ion-icon slot=\"end\" (click)=\"ordenar(col)\" style=\"cursor: pointer;\"\n [name]=\"col.OrdemStatus == 0 ? 'swap-vertical' : (col.OrdemStatus == 1 ? 'arrow-up': 'arrow-down')\">\n </ion-icon>\n }\n @if (col.Filtrar) {\n <ion-icon name=\"funnel\" (click)=\"setFiltroOpen(col)\" slot=\"end\">\n </ion-icon>\n }\n </div>\n </div>\n\n\n <div class=\"caixaGrande\" [hidden]=\"!col.FiltroVisivel\" tabindex=\"-1\"\n style=\"color: black; display: block; position: absolute; z-index: 800; width: 210px; left: 0px; opacity: 0.9; background-color: white; max-height: 200px;\">\n Filtrar:\n <div>\n <div style=\"display: flex; justify-content: space-between; align-items: start;\">\n <select style=\"width: 80px;\" [(ngModel)]=\"col.FiltroOperador\">\n <option>=</option>\n <option>&gt;=</option>\n <option>&lt;=</option>\n <option>tem</option>\n </select>\n <input style=\"width: 100px;\" type=\"text\" [(ngModel)]=\"col.FiltroValor\">\n </div>\n <ion-button size=\"small\" color=\"medium\" expand=\"block\"\n (click)=\"filtrar(col)\">Filtrar</ion-button>\n <ion-button size=\"small\" color=\"light\" expand=\"block\"\n (click)=\"limpar(col)\">Limpar</ion-button>\n </div>\n @if (col.Valores) {\n <div class=\"scroll-container\" style=\"height: 200px; overflow-y: scroll;\">\n @for (valor of col.Valores; track valor) {\n <div>\n <input type=\"checkbox\" [(ngModel)]=\"valor.Selecionado\">\n <span>{{ valor.Valor }}</span>\n </div>\n }\n </div>\n }\n </div>\n\n </div>\n </td>\n }\n @if (tabelaCampos.Excluir === true) {\n <td>\n\n </td>\n }\n </tr>\n </thead>\n <tbody>\n @for(item of pageDataSet; track item) {\n <tr [class]=\"item == selectedItem ? 'item-selecionado' : '' \">\n @if (tabelaCampos.Selecionar === true) {\n <td style=\"text-align: center; cursor: auto;\">\n <input type=\"checkbox\" [(ngModel)]=\"item[tabelaCampos.CampoSelecionar ?? 'Selecionado']\"\n (change)=\"selecionadoChecked()\">\n </td>\n }\n @for (col of tabelaCampos.Colunas; track col.Campo) {\n <td class=\"col\" [style.width]=\"col.Tamanho\"\n [style.text-align]=\"col.Tipo == 'number' ? 'right' : (col.Alinhamento ?? 'left')\"\n (click)=\"col.ClickFunction ? col.ClickFunction(item) : selecionarLinha(item)\">\n @if (col.Pipe == 'date') {\n <span>{{ item[col.Campo] | date: 'dd/MM/yyyy' }}</span>\n }\n @if (col.Pipe == 'datetime') {\n <span>{{ item[col.Campo] | date: 'dd/MM/yyyy HH:mm:ss' }}</span>\n }\n @if (col.Pipe == 'valor') {\n <span>{{ item[col.Campo] | number }}</span>\n }\n @if(col.RenderFunction) {\n <span [innerHtml]=\"col.RenderFunction(item) | safeHtml\"></span>\n }\n @if (!col.Pipe && !col.RenderFunction) {\n <span>{{ item[col.Campo] ?? col.Default }}</span>\n }\n </td>\n }\n @if (tabelaCampos.Excluir === true) {\n <td style=\"padding: 0px; text-align: center;\">\n <ion-button size=\"small\" color=\"danger\" fill=\"outline\" style=\"transform: scale(0.85);\"\n (click)=\"excluirLinha(item)\">\n <ion-icon name=\"trash\"></ion-icon>\n </ion-button>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n\n <!--\n <ion-modal [isOpen]=\"isFiltroOpen\" (didDismiss)=\"isFiltroOpen = false;\">\n <ng-template>\n <ion-content class=\"ion-padding\">\n <div class=\"caixaGrande\">\n Filtrar:\n <div *ngIf=\"selectedColuna.Valores\">\n <div *ngFor=\"let valor of selectedColuna.Valores\">\n <span>{{ valor }}</span>\n </div>\n </div>\n </div>\n </ion-content>\n </ng-template>\n </ion-modal>\n -->\n</div>", styles: [".grid{width:100%}.grid thead td{color:var(--text-cabecalho-color, black);border-bottom:1px solid gray;padding:6px 4px}.grid tbody{background-color:#fff}.grid tbody td{border-bottom:1px solid gray;padding:6px 4px}.grid tbody tr{cursor:pointer}.grid tbody tr:hover{background-color:#699ccc80;transition-duration:.5s}.grid tbody tr.item-selecionado{background-color:#699ccc33}.nth-table tr:nth-child(2n){background:var(--misto-tabela);color:var(--color-misto)}.circle-button{--border-radius: 50%;aspect-ratio:1/1;width:36px;height:36px}.circle-button ion-icon{transform:scale(2.5)}.pageSelected{--background: lightgreen}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.CheckboxControlValueAccessor, selector: "input[type=checkbox]:not([ngNoCva])[formControlName],input[type=checkbox]:not([ngNoCva])[formControl],input[type=checkbox]:not([ngNoCva])[ngModel]" }, { kind: "directive", type: i1$3.SelectControlValueAccessor, selector: "select:not([multiple]):not([ngNoCva])[formControlName],select:not([multiple]):not([ngNoCva])[formControl],select:not([multiple]):not([ngNoCva])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
4757
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: GridViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4758
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: GridViewComponent, isStandalone: true, selector: "kb-grid-view", inputs: { tabelaCampos: "tabelaCampos", dataSet: "dataSet", minHeight: "minHeight", maxHeight: "maxHeight", inMemoryPagination: "inMemoryPagination", apiPagination: "apiPagination", filteredDataSet: "filteredDataSet", pageOffset: "pageOffset", apiTotalRecords: "apiTotalRecords", apiPage: "apiPage", apiPagesTotal: "apiPagesTotal" }, outputs: { selecionarItem: "selecionarItem", excluirItem: "excluirItem", selecionarChecked: "selecionarChecked", apiProximoEvent: "apiProximoEvent", apiAnteriorEvent: "apiAnteriorEvent" }, usesOnChanges: true, ngImport: i0, template: "<div style=\"font-size: 14px;\">\n <div id=\"painelExportacao\">\n @if(inMemoryPagination || apiPagination) {\n <ion-row>\n <!--\n <ion-col size=\"2\">\n <ion-button *ngIf=\"tabelaCampos.Selecionar === true\" size=\"small\" fill=\"outline\" color=\"medium\"\n (click)=\"selecionarTodos()\">Selecionar Todos</ion-button>\n </ion-col>\n -->\n <ion-col size-md=\"5\" size-xs=\"12\">\n @if (inMemoryPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"bluetool\" (click)=\"anterior()\">\n <ion-icon name=\"chevron-back-outline\" slot=\"start\"></ion-icon>\n Anterior\n </ion-button>\n }\n @if (inMemoryPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"bluetool\" (click)=\"proximo()\">\n Pr\u00F3ximo\n <ion-icon name=\"chevron-forward-outline\" slot=\"end\"></ion-icon>\n </ion-button>\n }\n @if (apiPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"medium\" shape=\"round\" class=\"circle-button\"\n (click)=\"proximoApi(false)\" alt=\"Primeiro\">\n <ion-icon name=\"chevron-back-outline\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n }\n @for (pag of pages; track pag) {\n <ion-button shape=\"round\" [fill]=\"pag == this.page ? 'solid' : 'outline'\" size=\"small\"\n class=\"circle-button\" [color]=\"pag == this.page ? 'verde' : 'medium'\"\n [class]=\"{ 'pageSelected': pag == this.page }\" (click)=\"proximoApi(false, pag)\">{{ pag\n }}</ion-button>\n }\n @if (apiPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"medium\" shape=\"round\" class=\"circle-button\"\n (click)=\"proximoApi(true)\" alt=\"\u00DAltimo\">\n <ion-icon name=\"chevron-forward-outline\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n }\n\n </ion-col>\n <ion-col size-md=\"5\" size-xs=\"12\" style=\"text-align: left;\">\n @if ((inMemoryPagination || apiPagination) && totalRec > 0) {\n <span style=\"display: block; margin-top: 10px;\">Exibindo {{ start + 1 }} - {{ (start +\n pageOffset) < totalRec ? (start + pageOffset) : totalRec }} total de {{ totalRec }} </span>\n }\n </ion-col>\n </ion-row>\n }\n </div>\n <div style=\"width: 100%; margin-top: 16px; overflow-y: auto;\" [style.min-height]=\"minHeight\"\n [style.max-height]=\"maxHeight\" class=\"scroll-container\">\n <table class=\"grid\">\n <thead>\n <tr style=\"background-color: var(--ion-color-bluetool); color: white;\">\n @if (tabelaCampos.Selecionar === true) {\n <td style=\"width: 3%; text-align: center;\">\n <input type=\"checkbox\" [(ngModel)]=\"todosSelecionados\" (change)=\"selecionarTodos()\">\n </td>\n }\n @for (col of tabelaCampos.Colunas; track col) {\n <td [style.width]=\"col.Tamanho\">\n <div style=\"position: relative;\">\n <div style=\"display: flex; justify-content: space-between; align-items: end;\">\n <strong>{{ col.Titulo }}</strong>\n <div>\n @if (col.Ordem) {\n <ion-icon slot=\"end\" (click)=\"ordenar(col)\" style=\"cursor: pointer;\"\n [name]=\"col.OrdemStatus == 0 ? 'swap-vertical' : (col.OrdemStatus == 1 ? 'arrow-up': 'arrow-down')\">\n </ion-icon>\n }\n @if (col.Filtrar) {\n <ion-icon name=\"funnel\" (click)=\"setFiltroOpen(col)\" slot=\"end\">\n </ion-icon>\n }\n </div>\n </div>\n\n\n <div class=\"caixaGrande\" [hidden]=\"!col.FiltroVisivel\" tabindex=\"-1\"\n style=\"color: black; display: block; position: absolute; z-index: 800; width: 210px; left: 0px; opacity: 0.9; background-color: white; max-height: 200px;\">\n Filtrar:\n <div>\n <div style=\"display: flex; justify-content: space-between; align-items: start;\">\n <select style=\"width: 80px;\" [(ngModel)]=\"col.FiltroOperador\">\n <option>=</option>\n <option>&gt;=</option>\n <option>&lt;=</option>\n <option>tem</option>\n </select>\n <input style=\"width: 100px;\" type=\"text\" [(ngModel)]=\"col.FiltroValor\">\n </div>\n <ion-button size=\"small\" color=\"medium\" expand=\"block\"\n (click)=\"filtrar(col)\">Filtrar</ion-button>\n <ion-button size=\"small\" color=\"light\" expand=\"block\"\n (click)=\"limpar(col)\">Limpar</ion-button>\n </div>\n @if (col.Valores) {\n <div class=\"scroll-container\" style=\"height: 200px; overflow-y: scroll;\">\n @for (valor of col.Valores; track valor) {\n <div>\n <input type=\"checkbox\" [(ngModel)]=\"valor.Selecionado\">\n <span>{{ valor.Valor }}</span>\n </div>\n }\n </div>\n }\n </div>\n\n </div>\n </td>\n }\n @if (tabelaCampos.Excluir === true) {\n <td>\n\n </td>\n }\n </tr>\n </thead>\n <tbody>\n @for(item of pageDataSet; track item) {\n <tr [class]=\"item == selectedItem ? 'item-selecionado' : '' \">\n @if (tabelaCampos.Selecionar === true) {\n <td style=\"text-align: center; cursor: auto;\">\n <input type=\"checkbox\" [(ngModel)]=\"item[tabelaCampos.CampoSelecionar ?? 'Selecionado']\"\n (change)=\"selecionadoChecked()\">\n </td>\n }\n @for (col of tabelaCampos.Colunas; track col.Campo) {\n <td class=\"col\" [style.width]=\"col.Tamanho\"\n [style.text-align]=\"col.Tipo == 'number' ? 'right' : (col.Alinhamento ?? 'left')\"\n (click)=\"col.ClickFunction ? col.ClickFunction(item) : selecionarLinha(item)\">\n @if (col.Pipe == 'date') {\n <span>{{ item[col.Campo] | date: 'dd/MM/yyyy' }}</span>\n }\n @if (col.Pipe == 'datetime') {\n <span>{{ item[col.Campo] | date: 'dd/MM/yyyy HH:mm:ss' }}</span>\n }\n @if (col.Pipe == 'valor') {\n <span>{{ item[col.Campo] | number }}</span>\n }\n @if(col.RenderFunction) {\n <span [innerHtml]=\"col.RenderFunction(item) | safeHtml\"></span>\n }\n @if (!col.Pipe && !col.RenderFunction) {\n <span>{{ item[col.Campo] ?? col.Default }}</span>\n }\n </td>\n }\n @if (tabelaCampos.Excluir === true) {\n <td style=\"padding: 0px; text-align: center;\">\n <ion-button size=\"small\" color=\"danger\" fill=\"outline\" style=\"transform: scale(0.85);\"\n (click)=\"excluirLinha(item)\">\n <ion-icon name=\"trash\"></ion-icon>\n </ion-button>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n\n <!--\n <ion-modal [isOpen]=\"isFiltroOpen\" (didDismiss)=\"isFiltroOpen = false;\">\n <ng-template>\n <ion-content class=\"ion-padding\">\n <div class=\"caixaGrande\">\n Filtrar:\n <div *ngIf=\"selectedColuna.Valores\">\n <div *ngFor=\"let valor of selectedColuna.Valores\">\n <span>{{ valor }}</span>\n </div>\n </div>\n </div>\n </ion-content>\n </ng-template>\n </ion-modal>\n -->\n</div>", styles: [".grid{width:100%}.grid thead td{color:var(--text-cabecalho-color, black);border-bottom:1px solid gray;padding:6px 4px}.grid tbody{background-color:#fff}.grid tbody td{border-bottom:1px solid gray;padding:6px 4px}.grid tbody tr{cursor:pointer}.grid tbody tr:hover{background-color:#699ccc80;transition-duration:.5s}.grid tbody tr.item-selecionado{background-color:#699ccc33}.nth-table tr:nth-child(2n){background:var(--misto-tabela);color:var(--color-misto)}.circle-button{--border-radius: 50%;aspect-ratio:1/1;width:36px;height:36px}.circle-button ion-icon{transform:scale(2.5)}.pageSelected{--background: lightgreen}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.CheckboxControlValueAccessor, selector: "input[type=checkbox]:not([ngNoCva])[formControlName],input[type=checkbox]:not([ngNoCva])[formControl],input[type=checkbox]:not([ngNoCva])[ngModel]" }, { kind: "directive", type: i1$3.SelectControlValueAccessor, selector: "select:not([multiple]):not([ngNoCva])[formControlName],select:not([multiple]):not([ngNoCva])[formControl],select:not([multiple]):not([ngNoCva])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
4696
4759
  }
4697
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: GridViewComponent, decorators: [{
4760
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: GridViewComponent, decorators: [{
4698
4761
  type: Component,
4699
4762
  args: [{ selector: 'kb-grid-view', imports: [IonIcon, IonButton, IonCol, IonRow, FormsModule, DatePipe, DecimalPipe, SafeHtmlPipe], changeDetection: ChangeDetectionStrategy.Eager, template: "<div style=\"font-size: 14px;\">\n <div id=\"painelExportacao\">\n @if(inMemoryPagination || apiPagination) {\n <ion-row>\n <!--\n <ion-col size=\"2\">\n <ion-button *ngIf=\"tabelaCampos.Selecionar === true\" size=\"small\" fill=\"outline\" color=\"medium\"\n (click)=\"selecionarTodos()\">Selecionar Todos</ion-button>\n </ion-col>\n -->\n <ion-col size-md=\"5\" size-xs=\"12\">\n @if (inMemoryPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"bluetool\" (click)=\"anterior()\">\n <ion-icon name=\"chevron-back-outline\" slot=\"start\"></ion-icon>\n Anterior\n </ion-button>\n }\n @if (inMemoryPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"bluetool\" (click)=\"proximo()\">\n Pr\u00F3ximo\n <ion-icon name=\"chevron-forward-outline\" slot=\"end\"></ion-icon>\n </ion-button>\n }\n @if (apiPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"medium\" shape=\"round\" class=\"circle-button\"\n (click)=\"proximoApi(false)\" alt=\"Primeiro\">\n <ion-icon name=\"chevron-back-outline\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n }\n @for (pag of pages; track pag) {\n <ion-button shape=\"round\" [fill]=\"pag == this.page ? 'solid' : 'outline'\" size=\"small\"\n class=\"circle-button\" [color]=\"pag == this.page ? 'verde' : 'medium'\"\n [class]=\"{ 'pageSelected': pag == this.page }\" (click)=\"proximoApi(false, pag)\">{{ pag\n }}</ion-button>\n }\n @if (apiPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"medium\" shape=\"round\" class=\"circle-button\"\n (click)=\"proximoApi(true)\" alt=\"\u00DAltimo\">\n <ion-icon name=\"chevron-forward-outline\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n }\n\n </ion-col>\n <ion-col size-md=\"5\" size-xs=\"12\" style=\"text-align: left;\">\n @if ((inMemoryPagination || apiPagination) && totalRec > 0) {\n <span style=\"display: block; margin-top: 10px;\">Exibindo {{ start + 1 }} - {{ (start +\n pageOffset) < totalRec ? (start + pageOffset) : totalRec }} total de {{ totalRec }} </span>\n }\n </ion-col>\n </ion-row>\n }\n </div>\n <div style=\"width: 100%; margin-top: 16px; overflow-y: auto;\" [style.min-height]=\"minHeight\"\n [style.max-height]=\"maxHeight\" class=\"scroll-container\">\n <table class=\"grid\">\n <thead>\n <tr style=\"background-color: var(--ion-color-bluetool); color: white;\">\n @if (tabelaCampos.Selecionar === true) {\n <td style=\"width: 3%; text-align: center;\">\n <input type=\"checkbox\" [(ngModel)]=\"todosSelecionados\" (change)=\"selecionarTodos()\">\n </td>\n }\n @for (col of tabelaCampos.Colunas; track col) {\n <td [style.width]=\"col.Tamanho\">\n <div style=\"position: relative;\">\n <div style=\"display: flex; justify-content: space-between; align-items: end;\">\n <strong>{{ col.Titulo }}</strong>\n <div>\n @if (col.Ordem) {\n <ion-icon slot=\"end\" (click)=\"ordenar(col)\" style=\"cursor: pointer;\"\n [name]=\"col.OrdemStatus == 0 ? 'swap-vertical' : (col.OrdemStatus == 1 ? 'arrow-up': 'arrow-down')\">\n </ion-icon>\n }\n @if (col.Filtrar) {\n <ion-icon name=\"funnel\" (click)=\"setFiltroOpen(col)\" slot=\"end\">\n </ion-icon>\n }\n </div>\n </div>\n\n\n <div class=\"caixaGrande\" [hidden]=\"!col.FiltroVisivel\" tabindex=\"-1\"\n style=\"color: black; display: block; position: absolute; z-index: 800; width: 210px; left: 0px; opacity: 0.9; background-color: white; max-height: 200px;\">\n Filtrar:\n <div>\n <div style=\"display: flex; justify-content: space-between; align-items: start;\">\n <select style=\"width: 80px;\" [(ngModel)]=\"col.FiltroOperador\">\n <option>=</option>\n <option>&gt;=</option>\n <option>&lt;=</option>\n <option>tem</option>\n </select>\n <input style=\"width: 100px;\" type=\"text\" [(ngModel)]=\"col.FiltroValor\">\n </div>\n <ion-button size=\"small\" color=\"medium\" expand=\"block\"\n (click)=\"filtrar(col)\">Filtrar</ion-button>\n <ion-button size=\"small\" color=\"light\" expand=\"block\"\n (click)=\"limpar(col)\">Limpar</ion-button>\n </div>\n @if (col.Valores) {\n <div class=\"scroll-container\" style=\"height: 200px; overflow-y: scroll;\">\n @for (valor of col.Valores; track valor) {\n <div>\n <input type=\"checkbox\" [(ngModel)]=\"valor.Selecionado\">\n <span>{{ valor.Valor }}</span>\n </div>\n }\n </div>\n }\n </div>\n\n </div>\n </td>\n }\n @if (tabelaCampos.Excluir === true) {\n <td>\n\n </td>\n }\n </tr>\n </thead>\n <tbody>\n @for(item of pageDataSet; track item) {\n <tr [class]=\"item == selectedItem ? 'item-selecionado' : '' \">\n @if (tabelaCampos.Selecionar === true) {\n <td style=\"text-align: center; cursor: auto;\">\n <input type=\"checkbox\" [(ngModel)]=\"item[tabelaCampos.CampoSelecionar ?? 'Selecionado']\"\n (change)=\"selecionadoChecked()\">\n </td>\n }\n @for (col of tabelaCampos.Colunas; track col.Campo) {\n <td class=\"col\" [style.width]=\"col.Tamanho\"\n [style.text-align]=\"col.Tipo == 'number' ? 'right' : (col.Alinhamento ?? 'left')\"\n (click)=\"col.ClickFunction ? col.ClickFunction(item) : selecionarLinha(item)\">\n @if (col.Pipe == 'date') {\n <span>{{ item[col.Campo] | date: 'dd/MM/yyyy' }}</span>\n }\n @if (col.Pipe == 'datetime') {\n <span>{{ item[col.Campo] | date: 'dd/MM/yyyy HH:mm:ss' }}</span>\n }\n @if (col.Pipe == 'valor') {\n <span>{{ item[col.Campo] | number }}</span>\n }\n @if(col.RenderFunction) {\n <span [innerHtml]=\"col.RenderFunction(item) | safeHtml\"></span>\n }\n @if (!col.Pipe && !col.RenderFunction) {\n <span>{{ item[col.Campo] ?? col.Default }}</span>\n }\n </td>\n }\n @if (tabelaCampos.Excluir === true) {\n <td style=\"padding: 0px; text-align: center;\">\n <ion-button size=\"small\" color=\"danger\" fill=\"outline\" style=\"transform: scale(0.85);\"\n (click)=\"excluirLinha(item)\">\n <ion-icon name=\"trash\"></ion-icon>\n </ion-button>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n\n <!--\n <ion-modal [isOpen]=\"isFiltroOpen\" (didDismiss)=\"isFiltroOpen = false;\">\n <ng-template>\n <ion-content class=\"ion-padding\">\n <div class=\"caixaGrande\">\n Filtrar:\n <div *ngIf=\"selectedColuna.Valores\">\n <div *ngFor=\"let valor of selectedColuna.Valores\">\n <span>{{ valor }}</span>\n </div>\n </div>\n </div>\n </ion-content>\n </ng-template>\n </ion-modal>\n -->\n</div>", styles: [".grid{width:100%}.grid thead td{color:var(--text-cabecalho-color, black);border-bottom:1px solid gray;padding:6px 4px}.grid tbody{background-color:#fff}.grid tbody td{border-bottom:1px solid gray;padding:6px 4px}.grid tbody tr{cursor:pointer}.grid tbody tr:hover{background-color:#699ccc80;transition-duration:.5s}.grid tbody tr.item-selecionado{background-color:#699ccc33}.nth-table tr:nth-child(2n){background:var(--misto-tabela);color:var(--color-misto)}.circle-button{--border-radius: 50%;aspect-ratio:1/1;width:36px;height:36px}.circle-button ion-icon{transform:scale(2.5)}.pageSelected{--background: lightgreen}\n"] }]
4700
4763
  }], ctorParameters: () => [], propDecorators: { tabelaCampos: [{
@@ -4785,10 +4848,10 @@ class PeriodoIntervaloComponent {
4785
4848
  }
4786
4849
  this.visible = false;
4787
4850
  }
4788
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: PeriodoIntervaloComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4789
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: PeriodoIntervaloComponent, isStandalone: true, selector: "kb-periodo-intervalo", inputs: { btnHeight: "btnHeight" }, outputs: { aceitarFunction: "aceitarFunction" }, ngImport: i0, template: "<div>\n <ion-button id=\"btnPeriodo\" size=\"small\" color=\"medium\" fill=\"outline\" (click)=\"visible = !visible;\"\n [style.min-height]=\"btnHeight\">\n <ion-icon slot=\"start\" name=\"calendar\"></ion-icon>\n Per\u00EDodo\n </ion-button>\n</div>\n<div [hidden]=\"!visible\" class=\"painel-intervalo\">\n <ion-row class=\"ion-align-items-center ion-justify-content-center\">\n <ion-col size=\"3\"><strong>Dias</strong></ion-col>\n <ion-col *ngFor=\"let dia of dias\" size=\"1.5\"\n [class]=\"dia.selecionado === true ? 'col-valor-selecionado' : 'col-valor'\" (click)=\"selecionar(dia)\">{{ dia.valor\n }}</ion-col>\n <!--\n <ion-col size=\"1.5\" class=\"col-valor\">2</ion-col>\n <ion-col size=\"1.5\" class=\"col-valor\">3</ion-col>\n <ion-col size=\"1.5\" class=\"col-valor\">4</ion-col>\n <ion-col size=\"1.5\" class=\"col-valor\">5</ion-col>\n -->\n </ion-row>\n <ion-row class=\"ion-align-items-center ion-justify-content-center\">\n <ion-col size=\"3\"><strong>Semanas</strong></ion-col>\n <ion-col *ngFor=\"let sem of semanas\" size=\"1.5\"\n [class]=\"sem.selecionado === true ? 'col-valor-selecionado' : 'col-valor'\" (click)=\"selecionar(sem)\">{{ sem.valor\n }}</ion-col>\n <ion-col></ion-col>\n </ion-row>\n <ion-row class=\"ion-align-items-center ion-justify-content-center\">\n <ion-col size=\"3\"><strong>Mes</strong></ion-col>\n <ion-col *ngFor=\"let mes of meses\" size=\"1.5\"\n [class]=\"mes.selecionado === true ? 'col-valor-selecionado' : 'col-valor'\" (click)=\"selecionar(mes)\">{{ mes.valor\n }}</ion-col>\n\n </ion-row>\n <ion-row>\n <ion-col>\n <ion-input #inputValor\n class=\"input-periodo\" \n type=\"number\" \n max=\"12\" \n (input)=\"setValor(inputValor.value)\" \n [value]=\"intervaloValor\"></ion-input>\n </ion-col>\n <ion-col>\n <ion-select #selectTipo\n class=\"input-periodo\" interface=\"popover\" \n [value]=\"intervaloTipo\"\n (ionChange)=\"setTipo(selectTipo.value)\"\n >\n <ion-select-option value=\"dia\">Dias</ion-select-option>\n <ion-select-option value=\"sem\">Semanas</ion-select-option>\n <ion-select-option value=\"mes\">Meses</ion-select-option>\n </ion-select>\n </ion-col>\n </ion-row>\n \n <ion-row class=\"ion-justify-content-end\">\n <ion-col style=\"text-align: end;\">\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"visible=false;\">Cancelar</ion-button>\n <ion-button color=\"primary\" (click)=\"aceitar()\">Ok</ion-button>\n </ion-col>\n </ion-row>\n \n</div>\n", styles: [".painel-intervalo{background:#fff;display:block;position:absolute;padding:4px;border:1px solid darkgray;border-radius:1px;width:350px;margin-top:0;height:auto;margin-left:0}.painel-intervalo strong{font-size:small}.painel-intervalo{z-index:2000}.col-valor{cursor:pointer;border:1px solid gray;margin:4px;background-color:#fff;text-align:center}.col-valor-selecionado{cursor:pointer;border:1px solid lightblue;margin:4px;background-color:azure;text-align:center}.input-periodo{border:1px grey solid}\n"], dependencies: [{ kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "expandedIcon", "fill", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: IonSelectOption, selector: "ion-select-option", inputs: ["disabled", "value"] }] });
4851
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: PeriodoIntervaloComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4852
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: PeriodoIntervaloComponent, isStandalone: true, selector: "kb-periodo-intervalo", inputs: { btnHeight: "btnHeight" }, outputs: { aceitarFunction: "aceitarFunction" }, ngImport: i0, template: "<div>\n <ion-button id=\"btnPeriodo\" size=\"small\" color=\"medium\" fill=\"outline\" (click)=\"visible = !visible;\"\n [style.min-height]=\"btnHeight\">\n <ion-icon slot=\"start\" name=\"calendar\"></ion-icon>\n Per\u00EDodo\n </ion-button>\n</div>\n<div [hidden]=\"!visible\" class=\"painel-intervalo\">\n <ion-row class=\"ion-align-items-center ion-justify-content-center\">\n <ion-col size=\"3\"><strong>Dias</strong></ion-col>\n <ion-col *ngFor=\"let dia of dias\" size=\"1.5\"\n [class]=\"dia.selecionado === true ? 'col-valor-selecionado' : 'col-valor'\" (click)=\"selecionar(dia)\">{{ dia.valor\n }}</ion-col>\n <!--\n <ion-col size=\"1.5\" class=\"col-valor\">2</ion-col>\n <ion-col size=\"1.5\" class=\"col-valor\">3</ion-col>\n <ion-col size=\"1.5\" class=\"col-valor\">4</ion-col>\n <ion-col size=\"1.5\" class=\"col-valor\">5</ion-col>\n -->\n </ion-row>\n <ion-row class=\"ion-align-items-center ion-justify-content-center\">\n <ion-col size=\"3\"><strong>Semanas</strong></ion-col>\n <ion-col *ngFor=\"let sem of semanas\" size=\"1.5\"\n [class]=\"sem.selecionado === true ? 'col-valor-selecionado' : 'col-valor'\" (click)=\"selecionar(sem)\">{{ sem.valor\n }}</ion-col>\n <ion-col></ion-col>\n </ion-row>\n <ion-row class=\"ion-align-items-center ion-justify-content-center\">\n <ion-col size=\"3\"><strong>Mes</strong></ion-col>\n <ion-col *ngFor=\"let mes of meses\" size=\"1.5\"\n [class]=\"mes.selecionado === true ? 'col-valor-selecionado' : 'col-valor'\" (click)=\"selecionar(mes)\">{{ mes.valor\n }}</ion-col>\n\n </ion-row>\n <ion-row>\n <ion-col>\n <ion-input #inputValor\n class=\"input-periodo\" \n type=\"number\" \n max=\"12\" \n (input)=\"setValor(inputValor.value)\" \n [value]=\"intervaloValor\"></ion-input>\n </ion-col>\n <ion-col>\n <ion-select #selectTipo\n class=\"input-periodo\" interface=\"popover\" \n [value]=\"intervaloTipo\"\n (ionChange)=\"setTipo(selectTipo.value)\"\n >\n <ion-select-option value=\"dia\">Dias</ion-select-option>\n <ion-select-option value=\"sem\">Semanas</ion-select-option>\n <ion-select-option value=\"mes\">Meses</ion-select-option>\n </ion-select>\n </ion-col>\n </ion-row>\n \n <ion-row class=\"ion-justify-content-end\">\n <ion-col style=\"text-align: end;\">\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"visible=false;\">Cancelar</ion-button>\n <ion-button color=\"primary\" (click)=\"aceitar()\">Ok</ion-button>\n </ion-col>\n </ion-row>\n \n</div>\n", styles: [".painel-intervalo{background:#fff;display:block;position:absolute;padding:4px;border:1px solid darkgray;border-radius:1px;width:350px;margin-top:0;height:auto;margin-left:0}.painel-intervalo strong{font-size:small}.painel-intervalo{z-index:2000}.col-valor{cursor:pointer;border:1px solid gray;margin:4px;background-color:#fff;text-align:center}.col-valor-selecionado{cursor:pointer;border:1px solid lightblue;margin:4px;background-color:azure;text-align:center}.input-periodo{border:1px grey solid}\n"], dependencies: [{ kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "errorText", "expandedIcon", "fill", "helperText", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: IonSelectOption, selector: "ion-select-option", inputs: ["description", "disabled", "justify", "labelPlacement", "mode", "value"] }] });
4790
4853
  }
4791
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: PeriodoIntervaloComponent, decorators: [{
4854
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: PeriodoIntervaloComponent, decorators: [{
4792
4855
  type: Component,
4793
4856
  args: [{ selector: 'kb-periodo-intervalo', imports: [IonInput, IonCol, IonRow, IonIcon, IonButton, IonSelect, IonSelectOption], template: "<div>\n <ion-button id=\"btnPeriodo\" size=\"small\" color=\"medium\" fill=\"outline\" (click)=\"visible = !visible;\"\n [style.min-height]=\"btnHeight\">\n <ion-icon slot=\"start\" name=\"calendar\"></ion-icon>\n Per\u00EDodo\n </ion-button>\n</div>\n<div [hidden]=\"!visible\" class=\"painel-intervalo\">\n <ion-row class=\"ion-align-items-center ion-justify-content-center\">\n <ion-col size=\"3\"><strong>Dias</strong></ion-col>\n <ion-col *ngFor=\"let dia of dias\" size=\"1.5\"\n [class]=\"dia.selecionado === true ? 'col-valor-selecionado' : 'col-valor'\" (click)=\"selecionar(dia)\">{{ dia.valor\n }}</ion-col>\n <!--\n <ion-col size=\"1.5\" class=\"col-valor\">2</ion-col>\n <ion-col size=\"1.5\" class=\"col-valor\">3</ion-col>\n <ion-col size=\"1.5\" class=\"col-valor\">4</ion-col>\n <ion-col size=\"1.5\" class=\"col-valor\">5</ion-col>\n -->\n </ion-row>\n <ion-row class=\"ion-align-items-center ion-justify-content-center\">\n <ion-col size=\"3\"><strong>Semanas</strong></ion-col>\n <ion-col *ngFor=\"let sem of semanas\" size=\"1.5\"\n [class]=\"sem.selecionado === true ? 'col-valor-selecionado' : 'col-valor'\" (click)=\"selecionar(sem)\">{{ sem.valor\n }}</ion-col>\n <ion-col></ion-col>\n </ion-row>\n <ion-row class=\"ion-align-items-center ion-justify-content-center\">\n <ion-col size=\"3\"><strong>Mes</strong></ion-col>\n <ion-col *ngFor=\"let mes of meses\" size=\"1.5\"\n [class]=\"mes.selecionado === true ? 'col-valor-selecionado' : 'col-valor'\" (click)=\"selecionar(mes)\">{{ mes.valor\n }}</ion-col>\n\n </ion-row>\n <ion-row>\n <ion-col>\n <ion-input #inputValor\n class=\"input-periodo\" \n type=\"number\" \n max=\"12\" \n (input)=\"setValor(inputValor.value)\" \n [value]=\"intervaloValor\"></ion-input>\n </ion-col>\n <ion-col>\n <ion-select #selectTipo\n class=\"input-periodo\" interface=\"popover\" \n [value]=\"intervaloTipo\"\n (ionChange)=\"setTipo(selectTipo.value)\"\n >\n <ion-select-option value=\"dia\">Dias</ion-select-option>\n <ion-select-option value=\"sem\">Semanas</ion-select-option>\n <ion-select-option value=\"mes\">Meses</ion-select-option>\n </ion-select>\n </ion-col>\n </ion-row>\n \n <ion-row class=\"ion-justify-content-end\">\n <ion-col style=\"text-align: end;\">\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"visible=false;\">Cancelar</ion-button>\n <ion-button color=\"primary\" (click)=\"aceitar()\">Ok</ion-button>\n </ion-col>\n </ion-row>\n \n</div>\n", styles: [".painel-intervalo{background:#fff;display:block;position:absolute;padding:4px;border:1px solid darkgray;border-radius:1px;width:350px;margin-top:0;height:auto;margin-left:0}.painel-intervalo strong{font-size:small}.painel-intervalo{z-index:2000}.col-valor{cursor:pointer;border:1px solid gray;margin:4px;background-color:#fff;text-align:center}.col-valor-selecionado{cursor:pointer;border:1px solid lightblue;margin:4px;background-color:azure;text-align:center}.input-periodo{border:1px grey solid}\n"] }]
4794
4857
  }], ctorParameters: () => [], propDecorators: { aceitarFunction: [{
@@ -5141,8 +5204,8 @@ class InputHtmlComponent extends BaseInputComponent {
5141
5204
  }
5142
5205
  };
5143
5206
  }
5144
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputHtmlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5145
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: InputHtmlComponent, isStandalone: true, selector: "kb-input-html", providers: [
5207
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputHtmlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5208
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InputHtmlComponent, isStandalone: true, selector: "kb-input-html", providers: [
5146
5209
  {
5147
5210
  provide: NG_VALUE_ACCESSOR,
5148
5211
  useExisting: InputHtmlComponent,
@@ -5150,7 +5213,7 @@ class InputHtmlComponent extends BaseInputComponent {
5150
5213
  },
5151
5214
  ], viewQueries: [{ propertyName: "inputEmail", first: true, predicate: ["inputEmail"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [class]=\"{ 'input-text-padding': !classic }\">\r\n <!-- <ion-item #itemInput lines=\"none\" (ionBlur)=\"blurItem()\"\r\n style=\" --background: inherited; --background-focused: transparent; padding-right: 0px; overflow: visible;\"\r\n [class]=\"itemClass + ' classic' + ' item-text-wrap'\"\r\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"> -->\r\n @if (label) {\r\n <ion-label style=\"color: var(--input-label-color); font-size: 13px;\">{{ label }}</ion-label>\r\n }\r\n @if (Editor) {\r\n <ckeditor #inputEmail class=\"ckeditor-form\" [data]=\"data\" [editor]=\"Editor\" [config]=\"config\" (change)=\"writeValue($event.editor.getData(), false)\" (blur)=\"blurEditor($event)\"></ckeditor>\r\n }\r\n <!-- </ion-item> -->\r\n</div>", styles: [".ckeditor-form{margin-top:8px;width:100%;z-index:800}.ck-editor__editable_inline{min-height:400px!important}.ck-editor__main{min-height:400px}.ck-editor__editable{min-height:400px!important;max-height:600px!important;overflow-y:auto!important}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "ngmodule", type: CKEditorModule }, { kind: "component", type: i1$4.CKEditorComponent, selector: "ckeditor", inputs: ["editor", "config", "data", "tagName", "watchdog", "editorWatchdogConfig", "disableWatchdog", "disableTwoWayDataBinding", "disabled"], outputs: ["ready", "change", "blur", "focus", "error"] }] });
5152
5215
  }
5153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputHtmlComponent, decorators: [{
5216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputHtmlComponent, decorators: [{
5154
5217
  type: Component,
5155
5218
  args: [{ selector: 'kb-input-html', imports: [IonLabel, IonItem, NgClass, CKEditorModule], providers: [
5156
5219
  {
@@ -5272,10 +5335,10 @@ class InputArquivoComponent {
5272
5335
  reader.onerror = error => reject(error);
5273
5336
  });
5274
5337
  }
5275
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputArquivoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5276
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: InputArquivoComponent, isStandalone: true, selector: "kb-input-arquivo", inputs: { pasta: "pasta", nomeArquivo: "nomeArquivo", subir: "subir", callback: "callback", caption: "caption", tipoArquivo: "tipoArquivo", form: "form", showIcon: "showIcon", icon: "icon", iconSrc: "iconSrc", btnExpand: "btnExpand", btnColor: "btnColor", btnFill: "btnFill", iconSlot: "iconSlot", arquivoTipos: "arquivoTipos", readOnly: "readOnly" }, outputs: { fileSelected: "fileSelected" }, viewQueries: [{ propertyName: "myInput", first: true, predicate: ["inputNome"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div style=\"text-align:center;\">\r\n <ion-button [fill]=\"btnFill\" size=\"normal\" [color]=\"btnColor\" (click)=\"showImageBrowser()\" [expand]=\"btnExpand\"\r\n [disabled]=\"readOnly\">\r\n @if (showIcon) {\r\n <ion-icon class=\"ion-padding-end\" [slot]=\"iconSlot\" [src]=\"iconSrc\" [name]=\"icon\"></ion-icon>\r\n }\r\n {{ caption }}\r\n </ion-button>\r\n <input type=\"file\" id=\"upimgfile\" name=\"uploadfile\" #inputNome [accept]=\"arquivoTipos\" (change)=\"loadImagem()\"\r\n style=\"display: none;\" />\r\n</div>", styles: [""], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }] });
5338
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputArquivoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5339
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InputArquivoComponent, isStandalone: true, selector: "kb-input-arquivo", inputs: { pasta: "pasta", nomeArquivo: "nomeArquivo", subir: "subir", callback: "callback", caption: "caption", tipoArquivo: "tipoArquivo", form: "form", showIcon: "showIcon", icon: "icon", iconSrc: "iconSrc", btnExpand: "btnExpand", btnColor: "btnColor", btnFill: "btnFill", iconSlot: "iconSlot", arquivoTipos: "arquivoTipos", readOnly: "readOnly" }, outputs: { fileSelected: "fileSelected" }, viewQueries: [{ propertyName: "myInput", first: true, predicate: ["inputNome"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div style=\"text-align:center;\">\r\n <ion-button [fill]=\"btnFill\" size=\"normal\" [color]=\"btnColor\" (click)=\"showImageBrowser()\" [expand]=\"btnExpand\"\r\n [disabled]=\"readOnly\">\r\n @if (showIcon) {\r\n <ion-icon class=\"ion-padding-end\" [slot]=\"iconSlot\" [src]=\"iconSrc\" [name]=\"icon\"></ion-icon>\r\n }\r\n {{ caption }}\r\n </ion-button>\r\n <input type=\"file\" id=\"upimgfile\" name=\"uploadfile\" #inputNome [accept]=\"arquivoTipos\" (change)=\"loadImagem()\"\r\n style=\"display: none;\" />\r\n</div>", styles: [""], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }] });
5277
5340
  }
5278
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputArquivoComponent, decorators: [{
5341
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputArquivoComponent, decorators: [{
5279
5342
  type: Component,
5280
5343
  args: [{ selector: 'kb-input-arquivo', imports: [IonIcon, IonButton,], template: "<div style=\"text-align:center;\">\r\n <ion-button [fill]=\"btnFill\" size=\"normal\" [color]=\"btnColor\" (click)=\"showImageBrowser()\" [expand]=\"btnExpand\"\r\n [disabled]=\"readOnly\">\r\n @if (showIcon) {\r\n <ion-icon class=\"ion-padding-end\" [slot]=\"iconSlot\" [src]=\"iconSrc\" [name]=\"icon\"></ion-icon>\r\n }\r\n {{ caption }}\r\n </ion-button>\r\n <input type=\"file\" id=\"upimgfile\" name=\"uploadfile\" #inputNome [accept]=\"arquivoTipos\" (change)=\"loadImagem()\"\r\n style=\"display: none;\" />\r\n</div>" }]
5281
5344
  }], ctorParameters: () => [], propDecorators: { pasta: [{
@@ -5347,10 +5410,10 @@ class BaseBtnComponent {
5347
5410
  this.fill = 'solid';
5348
5411
  }
5349
5412
  }
5350
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BaseBtnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5351
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: BaseBtnComponent, isStandalone: true, selector: "ng-component", inputs: { disabled: "disabled", type: "type", icon: "icon", iconSrc: "iconSrc", title: "title", fill: "fill", expand: "expand", size: "size", iconSlot: "iconSlot", color: "color" }, outputs: { btnClick: "btnClick" }, ngImport: i0, template: '', isInline: true });
5413
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BaseBtnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5414
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: BaseBtnComponent, isStandalone: true, selector: "ng-component", inputs: { disabled: "disabled", type: "type", icon: "icon", iconSrc: "iconSrc", title: "title", fill: "fill", expand: "expand", size: "size", iconSlot: "iconSlot", color: "color" }, outputs: { btnClick: "btnClick" }, ngImport: i0, template: '', isInline: true });
5352
5415
  }
5353
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BaseBtnComponent, decorators: [{
5416
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BaseBtnComponent, decorators: [{
5354
5417
  type: Component,
5355
5418
  args: [{
5356
5419
  template: ''
@@ -5399,10 +5462,10 @@ class BtnActionComponent extends BaseBtnComponent {
5399
5462
  ngOnInit() {
5400
5463
  this.buttonStyle = '';
5401
5464
  }
5402
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BtnActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5403
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: BtnActionComponent, isStandalone: true, selector: "kb-btn-action", inputs: { title: "title", color: "color", hidden: "hidden", icon: "icon", iconSrc: "iconSrc", imgSrc: "imgSrc", boxColor: "boxColor", btnMargin: "btnMargin", expand: "expand", iconStyle: "iconStyle", titleStyle: "titleStyle" }, usesInheritance: true, ngImport: i0, template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n [hidden]=\"hidden\" (click)=\"onClick()\" class=\"kb-btn-action\">\n @if (icon || iconSrc) {\n <ion-icon [slot]=\"title ? iconSlot : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\" [style]=\"iconStyle\"></ion-icon>\n }\n <span [style]=\"titleStyle\">{{ title }}</span>\n @if (imgSrc) {\n <img [src]=\"imgSrc\" [slot]=\"title ? iconSlot : 'icon-only'\" />\n }\n</ion-button>", styles: ["img{width:24px;margin-right:6px}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }] });
5465
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5466
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: BtnActionComponent, isStandalone: true, selector: "kb-btn-action", inputs: { title: "title", color: "color", hidden: "hidden", icon: "icon", iconSrc: "iconSrc", imgSrc: "imgSrc", boxColor: "boxColor", btnMargin: "btnMargin", expand: "expand", iconStyle: "iconStyle", titleStyle: "titleStyle" }, usesInheritance: true, ngImport: i0, template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n [hidden]=\"hidden\" (click)=\"onClick()\" class=\"kb-btn-action\">\n @if (icon || iconSrc) {\n <ion-icon [slot]=\"title ? iconSlot : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\" [style]=\"iconStyle\"></ion-icon>\n }\n <span [style]=\"titleStyle\">{{ title }}</span>\n @if (imgSrc) {\n <img [src]=\"imgSrc\" [slot]=\"title ? iconSlot : 'icon-only'\" />\n }\n</ion-button>", styles: ["img{width:24px;margin-right:6px}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }] });
5404
5467
  }
5405
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BtnActionComponent, decorators: [{
5468
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnActionComponent, decorators: [{
5406
5469
  type: Component,
5407
5470
  args: [{ selector: 'kb-btn-action', imports: [IonIcon, IonButton,], template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n [hidden]=\"hidden\" (click)=\"onClick()\" class=\"kb-btn-action\">\n @if (icon || iconSrc) {\n <ion-icon [slot]=\"title ? iconSlot : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\" [style]=\"iconStyle\"></ion-icon>\n }\n <span [style]=\"titleStyle\">{{ title }}</span>\n @if (imgSrc) {\n <img [src]=\"imgSrc\" [slot]=\"title ? iconSlot : 'icon-only'\" />\n }\n</ion-button>", styles: ["img{width:24px;margin-right:6px}\n"] }]
5408
5471
  }], ctorParameters: () => [], propDecorators: { title: [{
@@ -5439,10 +5502,10 @@ class BtnCancelarComponent extends BaseBtnComponent {
5439
5502
  super();
5440
5503
  this.type = 'button';
5441
5504
  }
5442
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BtnCancelarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5443
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: BtnCancelarComponent, isStandalone: true, selector: "kb-btn-cancelar", inputs: { icon: "icon", title: "title", color: "color" }, usesInheritance: true, ngImport: i0, template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" \n [size]=\"size\" class=\"kb-btn-cancelar\"\n (click)=\"onClick()\"\n > \n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [src]=\"iconSrc\" [name]=\"icon\"></ion-icon>\n {{ title }}\n</ion-button> \n<!-- \n<ion-button color=\"tertiary\" fill=\"outline\" (click)=\"cancelarContato()\" style=\"box-shadow: #6370ff 0px 3px 3px 0.05px\"\n [disabled]=\"!selectedContato\">\n <ion-icon src=\"/assets/icon/limpar_purple_24dp.svg\"></ion-icon>\n Cancelar\n</ion-button>\n-->", styles: ["ion-button{margin:4px}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }] });
5505
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnCancelarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5506
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: BtnCancelarComponent, isStandalone: true, selector: "kb-btn-cancelar", inputs: { icon: "icon", title: "title", color: "color" }, usesInheritance: true, ngImport: i0, template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" \n [size]=\"size\" class=\"kb-btn-cancelar\"\n (click)=\"onClick()\"\n > \n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [src]=\"iconSrc\" [name]=\"icon\"></ion-icon>\n {{ title }}\n</ion-button> \n<!-- \n<ion-button color=\"tertiary\" fill=\"outline\" (click)=\"cancelarContato()\" style=\"box-shadow: #6370ff 0px 3px 3px 0.05px\"\n [disabled]=\"!selectedContato\">\n <ion-icon src=\"/assets/icon/limpar_purple_24dp.svg\"></ion-icon>\n Cancelar\n</ion-button>\n-->", styles: ["ion-button{margin:4px}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }] });
5444
5507
  }
5445
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BtnCancelarComponent, decorators: [{
5508
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnCancelarComponent, decorators: [{
5446
5509
  type: Component,
5447
5510
  args: [{ selector: 'kb-btn-cancelar', imports: [IonIcon, IonButton,], template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" \n [size]=\"size\" class=\"kb-btn-cancelar\"\n (click)=\"onClick()\"\n > \n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [src]=\"iconSrc\" [name]=\"icon\"></ion-icon>\n {{ title }}\n</ion-button> \n<!-- \n<ion-button color=\"tertiary\" fill=\"outline\" (click)=\"cancelarContato()\" style=\"box-shadow: #6370ff 0px 3px 3px 0.05px\"\n [disabled]=\"!selectedContato\">\n <ion-icon src=\"/assets/icon/limpar_purple_24dp.svg\"></ion-icon>\n Cancelar\n</ion-button>\n-->", styles: ["ion-button{margin:4px}\n"] }]
5448
5511
  }], ctorParameters: () => [], propDecorators: { icon: [{
@@ -5462,10 +5525,10 @@ class BtnExcluirComponent extends BaseBtnComponent {
5462
5525
  constructor() {
5463
5526
  super();
5464
5527
  }
5465
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BtnExcluirComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5466
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: BtnExcluirComponent, isStandalone: true, selector: "kb-btn-excluir", inputs: { type: "type", expand: "expand", icon: "icon", title: "title", color: "color" }, usesInheritance: true, ngImport: i0, template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n (click)=\"onClick()\">\n @if (icon) {\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\"></ion-icon>\n }\n {{ title }}\n</ion-button>", styles: ["ion-button{margin:4px}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }] });
5528
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnExcluirComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5529
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: BtnExcluirComponent, isStandalone: true, selector: "kb-btn-excluir", inputs: { type: "type", expand: "expand", icon: "icon", title: "title", color: "color" }, usesInheritance: true, ngImport: i0, template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n (click)=\"onClick()\">\n @if (icon) {\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\"></ion-icon>\n }\n {{ title }}\n</ion-button>", styles: ["ion-button{margin:4px}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }] });
5467
5530
  }
5468
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BtnExcluirComponent, decorators: [{
5531
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnExcluirComponent, decorators: [{
5469
5532
  type: Component,
5470
5533
  args: [{ selector: 'kb-btn-excluir', imports: [IonIcon, IonButton,], template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n (click)=\"onClick()\">\n @if (icon) {\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\"></ion-icon>\n }\n {{ title }}\n</ion-button>", styles: ["ion-button{margin:4px}\n"] }]
5471
5534
  }], ctorParameters: () => [], propDecorators: { type: [{
@@ -5491,10 +5554,10 @@ class BtnNovoComponent extends BaseBtnComponent {
5491
5554
  super();
5492
5555
  this.type = 'button';
5493
5556
  }
5494
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BtnNovoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5495
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: BtnNovoComponent, isStandalone: true, selector: "kb-btn-novo", inputs: { title: "title", icon: "icon", iconSrc: "iconSrc", expand: "expand", imgSrc: "imgSrc", color: "color" }, usesInheritance: true, ngImport: i0, template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n (click)=\"onClick()\" class=\"kb-btn-novo\">\n @if (icon || iconSrc) {\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\"></ion-icon>\n }\n {{ title }}\n @if (imgSrc) {\n <img [src]=\"imgSrc\" [slot]=\"title ? 'start' : 'icon-only'\" />\n }\n</ion-button>\n<!-- \n<ion-button (click)=\"novoContato()\" fill=\"outline\" style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\">\n <ion-icon slot=\"start\" name=\"person-add\"></ion-icon>\n Novo\n</ion-button>\n-->", styles: ["img{width:24px;margin-right:6px}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }] });
5557
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnNovoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5558
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: BtnNovoComponent, isStandalone: true, selector: "kb-btn-novo", inputs: { title: "title", icon: "icon", iconSrc: "iconSrc", expand: "expand", imgSrc: "imgSrc", color: "color" }, usesInheritance: true, ngImport: i0, template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n (click)=\"onClick()\" class=\"kb-btn-novo\">\n @if (icon || iconSrc) {\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\"></ion-icon>\n }\n {{ title }}\n @if (imgSrc) {\n <img [src]=\"imgSrc\" [slot]=\"title ? 'start' : 'icon-only'\" />\n }\n</ion-button>\n<!-- \n<ion-button (click)=\"novoContato()\" fill=\"outline\" style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\">\n <ion-icon slot=\"start\" name=\"person-add\"></ion-icon>\n Novo\n</ion-button>\n-->", styles: ["img{width:24px;margin-right:6px}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }] });
5496
5559
  }
5497
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BtnNovoComponent, decorators: [{
5560
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnNovoComponent, decorators: [{
5498
5561
  type: Component,
5499
5562
  args: [{ selector: 'kb-btn-novo', imports: [IonIcon, IonButton,], template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n (click)=\"onClick()\" class=\"kb-btn-novo\">\n @if (icon || iconSrc) {\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\"></ion-icon>\n }\n {{ title }}\n @if (imgSrc) {\n <img [src]=\"imgSrc\" [slot]=\"title ? 'start' : 'icon-only'\" />\n }\n</ion-button>\n<!-- \n<ion-button (click)=\"novoContato()\" fill=\"outline\" style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\">\n <ion-icon slot=\"start\" name=\"person-add\"></ion-icon>\n Novo\n</ion-button>\n-->", styles: ["img{width:24px;margin-right:6px}\n"] }]
5500
5563
  }], ctorParameters: () => [], propDecorators: { title: [{
@@ -5517,10 +5580,10 @@ class BtnSalvarComponent extends BaseBtnComponent {
5517
5580
  constructor() {
5518
5581
  super();
5519
5582
  }
5520
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BtnSalvarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5521
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: BtnSalvarComponent, isStandalone: true, selector: "kb-btn-salvar", inputs: { btnMargin: "btnMargin", color: "color" }, usesInheritance: true, ngImport: i0, template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n (click)=\"onClick()\" [style.margin]=\"btnMargin\" class=\"kb-btn-salvar\">\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\"></ion-icon>\n {{ title }}\n</ion-button>", styles: [""], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }] });
5583
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnSalvarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5584
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: BtnSalvarComponent, isStandalone: true, selector: "kb-btn-salvar", inputs: { btnMargin: "btnMargin", color: "color" }, usesInheritance: true, ngImport: i0, template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n (click)=\"onClick()\" [style.margin]=\"btnMargin\" class=\"kb-btn-salvar\">\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\"></ion-icon>\n {{ title }}\n</ion-button>", styles: [""], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }] });
5522
5585
  }
5523
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BtnSalvarComponent, decorators: [{
5586
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnSalvarComponent, decorators: [{
5524
5587
  type: Component,
5525
5588
  args: [{ selector: 'kb-btn-salvar', imports: [IonIcon, IonButton,], template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n (click)=\"onClick()\" [style.margin]=\"btnMargin\" class=\"kb-btn-salvar\">\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\"></ion-icon>\n {{ title }}\n</ion-button>" }]
5526
5589
  }], ctorParameters: () => [], propDecorators: { btnMargin: [{
@@ -5541,10 +5604,10 @@ class BtnRoundedComponent extends BaseBtnComponent {
5541
5604
  super();
5542
5605
  this.type = 'button';
5543
5606
  }
5544
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BtnRoundedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5545
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: BtnRoundedComponent, isStandalone: true, selector: "kb-btn-rounded", inputs: { title: "title", icon: "icon", iconSrc: "iconSrc", expand: "expand", imgSrc: "imgSrc", color: "color", fill: "fill" }, usesInheritance: true, ngImport: i0, template: "<ion-button [color]=\"color\" [type]=\"type\" shape=\"round\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n (click)=\"onClick()\" class=\"kb-btn-rounded\">\n @if (icon || iconSrc) {\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\"></ion-icon>\n }\n <!-- \n {{ title }}\n -->\n @if (title) {\n <span [innerHTML]=\"title\"></span>\n }\n @if (imgSrc) {\n <img [src]=\"imgSrc\" [slot]=\"title ? 'start' : 'icon-only'\" />\n }\n</ion-button>\n<!-- \n<ion-button (click)=\"novoContato()\" fill=\"outline\" style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\">\n <ion-icon slot=\"start\" name=\"person-add\"></ion-icon>\n Novo\n</ion-button>\n-->", styles: ["img{width:24px;margin-right:6px}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }] });
5607
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnRoundedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5608
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: BtnRoundedComponent, isStandalone: true, selector: "kb-btn-rounded", inputs: { title: "title", icon: "icon", iconSrc: "iconSrc", expand: "expand", imgSrc: "imgSrc", color: "color", fill: "fill" }, usesInheritance: true, ngImport: i0, template: "<ion-button [color]=\"color\" [type]=\"type\" shape=\"round\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n (click)=\"onClick()\" class=\"kb-btn-rounded\">\n @if (icon || iconSrc) {\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\"></ion-icon>\n }\n <!-- \n {{ title }}\n -->\n @if (title) {\n <span [innerHTML]=\"title\"></span>\n }\n @if (imgSrc) {\n <img [src]=\"imgSrc\" [slot]=\"title ? 'start' : 'icon-only'\" />\n }\n</ion-button>\n<!-- \n<ion-button (click)=\"novoContato()\" fill=\"outline\" style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\">\n <ion-icon slot=\"start\" name=\"person-add\"></ion-icon>\n Novo\n</ion-button>\n-->", styles: ["img{width:24px;margin-right:6px}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }] });
5546
5609
  }
5547
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BtnRoundedComponent, decorators: [{
5610
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnRoundedComponent, decorators: [{
5548
5611
  type: Component,
5549
5612
  args: [{ selector: 'kb-btn-rounded', imports: [IonIcon, IonButton,], template: "<ion-button [color]=\"color\" [type]=\"type\" shape=\"round\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n (click)=\"onClick()\" class=\"kb-btn-rounded\">\n @if (icon || iconSrc) {\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\"></ion-icon>\n }\n <!-- \n {{ title }}\n -->\n @if (title) {\n <span [innerHTML]=\"title\"></span>\n }\n @if (imgSrc) {\n <img [src]=\"imgSrc\" [slot]=\"title ? 'start' : 'icon-only'\" />\n }\n</ion-button>\n<!-- \n<ion-button (click)=\"novoContato()\" fill=\"outline\" style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\">\n <ion-icon slot=\"start\" name=\"person-add\"></ion-icon>\n Novo\n</ion-button>\n-->", styles: ["img{width:24px;margin-right:6px}\n"] }]
5550
5613
  }], ctorParameters: () => [], propDecorators: { title: [{
@@ -5564,10 +5627,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImpor
5564
5627
  }] } });
5565
5628
 
5566
5629
  class TituloComponent {
5567
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: TituloComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5568
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: TituloComponent, isStandalone: true, selector: "kb-titulo", ngImport: i0, template: "<div>\n <h4 class=\"kb-titulo\">\n <ng-content></ng-content>\n </h4>\n</div>", styles: ["h4{margin-top:8px!important;margin-bottom:4px!important}\n"] });
5630
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TituloComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5631
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: TituloComponent, isStandalone: true, selector: "kb-titulo", ngImport: i0, template: "<div>\n <h4 class=\"kb-titulo\">\n <ng-content></ng-content>\n </h4>\n</div>", styles: ["h4{margin-top:8px!important;margin-bottom:4px!important}\n"] });
5569
5632
  }
5570
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: TituloComponent, decorators: [{
5633
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TituloComponent, decorators: [{
5571
5634
  type: Component,
5572
5635
  args: [{ selector: 'kb-titulo', imports: [], template: "<div>\n <h4 class=\"kb-titulo\">\n <ng-content></ng-content>\n </h4>\n</div>", styles: ["h4{margin-top:8px!important;margin-bottom:4px!important}\n"] }]
5573
5636
  }] });