appproject-framework 1.0.14 → 1.0.16

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.
@@ -18,10 +18,10 @@ import { addIcons } from 'ionicons';
18
18
  import { chevronForwardOutline, chevronBackOutline } from 'ionicons/icons';
19
19
 
20
20
  class AppprojectFramework {
21
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AppprojectFramework, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
- 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
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: AppprojectFramework, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.2.1", type: AppprojectFramework, isStandalone: true, selector: "kb-appproject-framework", ngImport: i0, template: ` <p>appproject-framework works!</p> `, isInline: true, styles: [""] });
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AppprojectFramework, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: AppprojectFramework, decorators: [{
25
25
  type: Component,
26
26
  args: [{ selector: 'kb-appproject-framework', imports: [], template: ` <p>appproject-framework works!</p> ` }]
27
27
  }] });
@@ -83,10 +83,10 @@ class LibService {
83
83
  else
84
84
  return null;
85
85
  }
86
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LibService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
87
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LibService, providedIn: 'root' });
86
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LibService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
87
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LibService, providedIn: 'root' });
88
88
  }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LibService, decorators: [{
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LibService, decorators: [{
90
90
  type: Injectable,
91
91
  args: [{
92
92
  providedIn: 'root'
@@ -623,10 +623,10 @@ class NomePipe {
623
623
  return "";
624
624
  return value.split(' ')[0];
625
625
  }
626
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: NomePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
627
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: NomePipe, isStandalone: true, name: "nome" });
626
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NomePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
627
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: NomePipe, isStandalone: true, name: "nome" });
628
628
  }
629
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: NomePipe, decorators: [{
629
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NomePipe, decorators: [{
630
630
  type: Pipe,
631
631
  args: [{
632
632
  name: 'nome',
@@ -652,10 +652,10 @@ class ValorFormatPipe {
652
652
  }
653
653
  return null;
654
654
  }
655
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ValorFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
656
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: ValorFormatPipe, isStandalone: true, name: "valorFormat" });
655
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: ValorFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
656
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: ValorFormatPipe, isStandalone: true, name: "valorFormat" });
657
657
  }
658
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ValorFormatPipe, decorators: [{
658
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: ValorFormatPipe, decorators: [{
659
659
  type: Pipe,
660
660
  args: [{
661
661
  name: 'valorFormat',
@@ -671,10 +671,10 @@ class SafeHtmlPipe {
671
671
  transform(value, ...args) {
672
672
  return this.sanitized.bypassSecurityTrustHtml(value);
673
673
  }
674
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
675
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: SafeHtmlPipe, isStandalone: true, name: "safeHtml" });
674
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
675
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: SafeHtmlPipe, isStandalone: true, name: "safeHtml" });
676
676
  }
677
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SafeHtmlPipe, decorators: [{
677
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: SafeHtmlPipe, decorators: [{
678
678
  type: Pipe,
679
679
  args: [{
680
680
  name: 'safeHtml',
@@ -1534,10 +1534,10 @@ class UtilsGeralService {
1534
1534
  return this.extractError(error);
1535
1535
  }
1536
1536
  }
1537
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UtilsGeralService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1538
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UtilsGeralService, providedIn: 'root' });
1537
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: UtilsGeralService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1538
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: UtilsGeralService, providedIn: 'root' });
1539
1539
  }
1540
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UtilsGeralService, decorators: [{
1540
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: UtilsGeralService, decorators: [{
1541
1541
  type: Injectable,
1542
1542
  args: [{
1543
1543
  providedIn: 'root'
@@ -1694,10 +1694,10 @@ class UtilsService {
1694
1694
  });
1695
1695
  console.log('getFormValues', entity);
1696
1696
  }
1697
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1698
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UtilsService, providedIn: 'root' });
1697
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: UtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1698
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: UtilsService, providedIn: 'root' });
1699
1699
  }
1700
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UtilsService, decorators: [{
1700
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: UtilsService, decorators: [{
1701
1701
  type: Injectable,
1702
1702
  args: [{
1703
1703
  providedIn: 'root'
@@ -1828,10 +1828,10 @@ class DataService {
1828
1828
  return this.httpClient.delete(`${this.BASE_API}/${url}`);
1829
1829
  }
1830
1830
  }
1831
- 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 });
1832
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DataService, providedIn: 'root' });
1831
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: DataService, deps: [{ token: LibConfigService }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1832
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: DataService, providedIn: 'root' });
1833
1833
  }
1834
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DataService, decorators: [{
1834
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: DataService, decorators: [{
1835
1835
  type: Injectable,
1836
1836
  args: [{
1837
1837
  providedIn: 'root'
@@ -1904,10 +1904,10 @@ class BasePage {
1904
1904
  return extractError(error);
1905
1905
  }
1906
1906
  }
1907
- 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 });
1908
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: BasePage, isStandalone: true, selector: "ng-component", ngImport: i0, template: '', isInline: true });
1907
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: BasePage, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Component });
1908
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.2.1", type: BasePage, isStandalone: true, selector: "ng-component", ngImport: i0, template: '', isInline: true });
1909
1909
  }
1910
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BasePage, decorators: [{
1910
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: BasePage, decorators: [{
1911
1911
  type: Component,
1912
1912
  args: [{
1913
1913
  template: ''
@@ -1920,10 +1920,10 @@ class CadastroService {
1920
1920
  novoMaster = new BehaviorSubject({ Cadastro: 'Cadastro', Id: 0 });
1921
1921
  novoRegistro = new BehaviorSubject({ Cadastro: 'Cadastro', Id: 0 });
1922
1922
  focoCampo = new BehaviorSubject({ Campo: 'input' });
1923
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: CadastroService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1924
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: CadastroService, providedIn: 'root' });
1923
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: CadastroService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1924
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: CadastroService, providedIn: 'root' });
1925
1925
  }
1926
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: CadastroService, decorators: [{
1926
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: CadastroService, decorators: [{
1927
1927
  type: Injectable,
1928
1928
  args: [{
1929
1929
  providedIn: 'root'
@@ -2429,10 +2429,10 @@ class BaseCadastro extends BasePage {
2429
2429
  });
2430
2430
  return result;
2431
2431
  }
2432
- 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 });
2433
- 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 });
2432
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: BaseCadastro, deps: [{ token: 'type' }, { token: i1$2.ActivatedRoute }, { token: i1$2.Router }, { token: CadastroService }], target: i0.ɵɵFactoryTarget.Component });
2433
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.2.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 });
2434
2434
  }
2435
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BaseCadastro, decorators: [{
2435
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: BaseCadastro, decorators: [{
2436
2436
  type: Component,
2437
2437
  args: [{
2438
2438
  template: ''
@@ -2524,10 +2524,10 @@ class BaseInputComponent {
2524
2524
  this.Obrigatorio = this.validation_messages.find(m => m.type == 'required');
2525
2525
  }
2526
2526
  }
2527
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BaseInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2528
- 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 });
2527
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: BaseInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2528
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.2.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 });
2529
2529
  }
2530
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BaseInputComponent, decorators: [{
2530
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: BaseInputComponent, decorators: [{
2531
2531
  type: Component,
2532
2532
  args: [{
2533
2533
  template: ''
@@ -2689,7 +2689,7 @@ class InputTextComponent extends BaseInputComponent {
2689
2689
  console.log('type:', this.type);
2690
2690
  }
2691
2691
  setFocus() {
2692
- this.inputTextControl.setFocus();
2692
+ this.inputTextControl.nativeElement.setFocus();
2693
2693
  }
2694
2694
  copiarClick() {
2695
2695
  // console.log(this.inputTextEdit.nativeElement);
@@ -2701,16 +2701,16 @@ class InputTextComponent extends BaseInputComponent {
2701
2701
  navigator.clipboard.writeText(texto);
2702
2702
  //this.utils.showToast('Copiado')
2703
2703
  }
2704
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputTextComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
2705
- 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: [
2704
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputTextComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
2705
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: InputTextComponent, isStandalone: true, selector: "kb-input-text", inputs: { showSeePassword: "showSeePassword" }, outputs: { inputChange: "inputChange" }, providers: [
2706
2706
  {
2707
2707
  provide: NG_VALUE_ACCESSOR,
2708
2708
  useExisting: InputTextComponent,
2709
2709
  multi: true,
2710
2710
  },
2711
- ], viewQueries: [{ propertyName: "itemInput", first: true, predicate: ["itemInput"], descendants: true, read: ElementRef }, { propertyName: "inputTextControl", first: true, predicate: ["inputText"], 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 });
2711
+ ], viewQueries: [{ propertyName: "itemInput", first: true, predicate: ["itemInput"], descendants: true, read: ElementRef }, { propertyName: "inputTextControl", first: true, predicate: ["inputText"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<!-- \r\n se label position = floating colocar padding = 12px \r\n \r\n -->\r\n<div [class]=\"{ 'input-text-padding': !classic }\">\r\n <!-- [label]=\"label\"\r\n [labelPlacement]=\"labelPosition\" -->\r\n @if(classic) {\r\n <ion-item #itemInput lines=\"none\"\r\n style=\" --background: inherited; --background-focused: transparent; padding-right: 0px;\"\r\n [class]=\"itemClass + ' classic'\"\r\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\r\n\r\n <!--\r\n <ion-label class=\"label-focus\" [position]=\"labelPosition\">{{ label }}</ion-label>\r\n -->\r\n @if (label) {\r\n <ion-label style=\"color: var(--input-label-color);\" position=\"{{ labelPosition }}\">{{ label }}</ion-label>\r\n }\r\n\r\n <!-- \r\n <ion-icon slot=\"start\" name=\"lock-closed\" aria-hidden=\"true\"></ion-icon>\r\n -->\r\n\r\n <ion-input #inputText [type]=\"type\" [placeholder]=\"placeholder\" [readonly]=\"readonly\" \r\n (input)=\"writeValue(inputText.value, type)\" [value]=\"data\" (ionBlur)=\"onBlur()\" (ionFocus)=\"entered()\">\r\n </ion-input>\r\n\r\n\r\n @if (showSeePassword) {\r\n\r\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\r\n (click)=\"changeTypeOfInput()\">\r\n <ion-icon slot=\"icon-only\" [icon]=\"type == 'password' ? 'eye-outline' : 'eye-off-outline' \"></ion-icon>\r\n </ion-button>\r\n\r\n }\r\n\r\n @if (showSeeCopy) {\r\n\r\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\" (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\r\n </ion-item>\r\n }\r\n @else {\r\n <ion-input #inputText [type]=\"type\" [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\"\r\n [placeholder]=\"placeholder\" class=\"modern\" maxlength=\"{{ max }}\" \r\n [value]=\"data\" mode=\"md\"\r\n (input)=\"writeValue(inputText.value, type)\" \r\n (ionInput)=\"onInputChange($event)\" \r\n (ionBlur)=\"onBlur()\" \r\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake-modern' : '' \"\r\n [disabled]=\"readonly\" [shape]=\"shape\">\r\n @if (icon || iconSrc) {\r\n <ion-icon slot=\"start\" [icon]=\"icon\" [src]=\"iconSrc\" aria-hidden=\"true\"></ion-icon>\r\n }\r\n\r\n @if (showSeePassword) {\r\n\r\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\r\n (click)=\"changeTypeOfInput()\">\r\n <ion-icon slot=\"icon-only\" [icon]=\"type == 'password' ? 'eye-outline' : 'eye-off-outline' \"></ion-icon>\r\n </ion-button>\r\n\r\n }\r\n\r\n @if (showSeeCopy) {\r\n\r\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\" (click)=\"copiarClick()\">\r\n <ion-icon slot=\"icon-only\" icon=\"copy-outline\"></ion-icon>\r\n </ion-button>\r\n\r\n }\r\n </ion-input>\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\" [ngClass]=\"validationClass\">\r\n &#8226; {{ validation.message }}\r\n </div>\r\n }\r\n </ng-container>\r\n }\r\n\r\n </div>\r\n }\r\n\r\n</div>\r\n", 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 });
2712
2712
  }
2713
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputTextComponent, decorators: [{
2713
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputTextComponent, decorators: [{
2714
2714
  type: Component,
2715
2715
  args: [{ selector: 'kb-input-text', imports: [IonButton, IonIcon, IonItem, IonLabel, IonInput, NgClass, FormsModule], changeDetection: ChangeDetectionStrategy.Eager, providers: [
2716
2716
  {
@@ -2718,7 +2718,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
2718
2718
  useExisting: InputTextComponent,
2719
2719
  multi: true,
2720
2720
  },
2721
- ], 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"] }]
2721
+ ], template: "<!-- \r\n se label position = floating colocar padding = 12px \r\n \r\n -->\r\n<div [class]=\"{ 'input-text-padding': !classic }\">\r\n <!-- [label]=\"label\"\r\n [labelPlacement]=\"labelPosition\" -->\r\n @if(classic) {\r\n <ion-item #itemInput lines=\"none\"\r\n style=\" --background: inherited; --background-focused: transparent; padding-right: 0px;\"\r\n [class]=\"itemClass + ' classic'\"\r\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\r\n\r\n <!--\r\n <ion-label class=\"label-focus\" [position]=\"labelPosition\">{{ label }}</ion-label>\r\n -->\r\n @if (label) {\r\n <ion-label style=\"color: var(--input-label-color);\" position=\"{{ labelPosition }}\">{{ label }}</ion-label>\r\n }\r\n\r\n <!-- \r\n <ion-icon slot=\"start\" name=\"lock-closed\" aria-hidden=\"true\"></ion-icon>\r\n -->\r\n\r\n <ion-input #inputText [type]=\"type\" [placeholder]=\"placeholder\" [readonly]=\"readonly\" \r\n (input)=\"writeValue(inputText.value, type)\" [value]=\"data\" (ionBlur)=\"onBlur()\" (ionFocus)=\"entered()\">\r\n </ion-input>\r\n\r\n\r\n @if (showSeePassword) {\r\n\r\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\r\n (click)=\"changeTypeOfInput()\">\r\n <ion-icon slot=\"icon-only\" [icon]=\"type == 'password' ? 'eye-outline' : 'eye-off-outline' \"></ion-icon>\r\n </ion-button>\r\n\r\n }\r\n\r\n @if (showSeeCopy) {\r\n\r\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\" (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\r\n </ion-item>\r\n }\r\n @else {\r\n <ion-input #inputText [type]=\"type\" [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\"\r\n [placeholder]=\"placeholder\" class=\"modern\" maxlength=\"{{ max }}\" \r\n [value]=\"data\" mode=\"md\"\r\n (input)=\"writeValue(inputText.value, type)\" \r\n (ionInput)=\"onInputChange($event)\" \r\n (ionBlur)=\"onBlur()\" \r\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake-modern' : '' \"\r\n [disabled]=\"readonly\" [shape]=\"shape\">\r\n @if (icon || iconSrc) {\r\n <ion-icon slot=\"start\" [icon]=\"icon\" [src]=\"iconSrc\" aria-hidden=\"true\"></ion-icon>\r\n }\r\n\r\n @if (showSeePassword) {\r\n\r\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\r\n (click)=\"changeTypeOfInput()\">\r\n <ion-icon slot=\"icon-only\" [icon]=\"type == 'password' ? 'eye-outline' : 'eye-off-outline' \"></ion-icon>\r\n </ion-button>\r\n\r\n }\r\n\r\n @if (showSeeCopy) {\r\n\r\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\" (click)=\"copiarClick()\">\r\n <ion-icon slot=\"icon-only\" icon=\"copy-outline\"></ion-icon>\r\n </ion-button>\r\n\r\n }\r\n </ion-input>\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\" [ngClass]=\"validationClass\">\r\n &#8226; {{ validation.message }}\r\n </div>\r\n }\r\n </ng-container>\r\n }\r\n\r\n </div>\r\n }\r\n\r\n</div>\r\n", 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"] }]
2722
2722
  }], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { showSeePassword: [{
2723
2723
  type: Input
2724
2724
  }], inputChange: [{
@@ -2728,7 +2728,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
2728
2728
  args: ["itemInput", { read: ElementRef }]
2729
2729
  }], inputTextControl: [{
2730
2730
  type: ViewChild,
2731
- args: ["inputText", { read: ElementRef }]
2731
+ args: ["inputText", { read: ElementRef, static: true }]
2732
2732
  }] } });
2733
2733
 
2734
2734
  class TreeViewNivelComponent {
@@ -2764,10 +2764,10 @@ class TreeViewNivelComponent {
2764
2764
  return texto;
2765
2765
  }
2766
2766
  }
2767
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TreeViewNivelComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
2768
- 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 });
2767
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: TreeViewNivelComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
2768
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.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 });
2769
2769
  }
2770
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TreeViewNivelComponent, decorators: [{
2770
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: TreeViewNivelComponent, decorators: [{
2771
2771
  type: Component,
2772
2772
  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"] }]
2773
2773
  }], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { nivelClick: [{
@@ -2857,10 +2857,10 @@ class TreeViewComponent {
2857
2857
  console.log('carrega registro', node);
2858
2858
  this.selecionarRegistro.next({ Cadastro: this.cadastro, Id: node.Id });
2859
2859
  }
2860
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TreeViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2861
- 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 });
2860
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: TreeViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2861
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.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 });
2862
2862
  }
2863
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TreeViewComponent, decorators: [{
2863
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: TreeViewComponent, decorators: [{
2864
2864
  type: Component,
2865
2865
  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"] }]
2866
2866
  }], propDecorators: { itens: [{
@@ -3013,10 +3013,10 @@ class ModalTreeviewComponent {
3013
3013
  const modalCtrl = this.injector.get(ModalController);
3014
3014
  modalCtrl.dismiss();
3015
3015
  }
3016
- 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 });
3017
- 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 });
3016
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: ModalTreeviewComponent, deps: [{ token: DataService }, { token: i0.Injector }, { token: i2.LoadingController }], target: i0.ɵɵFactoryTarget.Component });
3017
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.2.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", "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 });
3018
3018
  }
3019
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ModalTreeviewComponent, decorators: [{
3019
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: ModalTreeviewComponent, decorators: [{
3020
3020
  type: Component,
3021
3021
  args: [{ selector: 'kb-modal-treeview', imports: [IonItem, IonContent, IonIcon, IonButton, IonButtons, IonTitle, IonToolbar, IonHeader,
3022
3022
  TreeViewComponent
@@ -3125,9 +3125,9 @@ class InputPesquisaComponent extends BaseInputComponent {
3125
3125
  });
3126
3126
  }
3127
3127
  onBlur(event) {
3128
- //console.log('blur', event);
3129
- //console.log(event.detail.relatedTarget);
3130
- if (event.detail.relatedTarget == null || event.detail.relatedTarget.id.indexOf(this.selectId + 'IonItem') == -1) {
3128
+ const relatedTarget = event?.detail?.relatedTarget ?? event?.relatedTarget ?? null;
3129
+ const relatedTargetId = relatedTarget?.id ?? '';
3130
+ if (!relatedTargetId.includes(this.selectId + 'IonItem')) {
3131
3131
  //console.log("true", event.detail.relatedTarget?.id);
3132
3132
  //pesquisar item na lista
3133
3133
  if (!this.existeNaListaTexto(this.textoPesquisa, true)) {
@@ -3591,14 +3591,14 @@ class InputPesquisaComponent extends BaseInputComponent {
3591
3591
  }
3592
3592
  */
3593
3593
  }
3594
- 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 });
3595
- 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: [{
3594
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputPesquisaComponent, deps: [{ token: DataService }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
3595
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.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: [{
3596
3596
  provide: NG_VALUE_ACCESSOR,
3597
3597
  useExisting: InputPesquisaComponent,
3598
3598
  multi: true,
3599
3599
  }], 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 });
3600
3600
  }
3601
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputPesquisaComponent, decorators: [{
3601
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputPesquisaComponent, decorators: [{
3602
3602
  type: Component,
3603
3603
  args: [{ selector: 'kb-input-pesquisa', imports: [IonList, IonIcon, IonButton, IonInput, IonSpinner, IonLabel, IonItem, NgClass], changeDetection: ChangeDetectionStrategy.Eager, providers: [{
3604
3604
  provide: NG_VALUE_ACCESSOR,
@@ -3711,14 +3711,14 @@ class InputAreaComponent extends BaseInputComponent {
3711
3711
  let texto = this.data;
3712
3712
  navigator.clipboard.writeText(texto);
3713
3713
  }
3714
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputAreaComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
3715
- 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: [{
3714
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputAreaComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
3715
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: InputAreaComponent, isStandalone: true, selector: "kb-input-area", inputs: { linhas: "linhas", contador: "contador" }, outputs: { inputChange: "inputChange" }, providers: [{
3716
3716
  provide: NG_VALUE_ACCESSOR,
3717
3717
  useExisting: InputAreaComponent,
3718
3718
  multi: true
3719
3719
  }], 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 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\"\r\n class=\"modern\" [rows]=\"linhas\" (input)=\"writeValue(inputArea.value)\" (ionBlur)=\"onBlur()\"\r\n (ionInput)=\"onInputChange($event)\" [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 });
3720
3720
  }
3721
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputAreaComponent, decorators: [{
3721
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputAreaComponent, decorators: [{
3722
3722
  type: Component,
3723
3723
  args: [{ selector: 'kb-input-area', imports: [IonButton, IonIcon, IonTextarea, IonLabel, IonItem,], changeDetection: ChangeDetectionStrategy.Eager, providers: [{
3724
3724
  provide: NG_VALUE_ACCESSOR,
@@ -3895,14 +3895,14 @@ class InputCepComponent extends BaseInputComponent {
3895
3895
  };
3896
3896
  });
3897
3897
  }
3898
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputCepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3899
- 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: [{
3898
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputCepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3899
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: InputCepComponent, isStandalone: true, selector: "kb-input-cep", inputs: { formato: "formato", keyEnter: "keyEnter" }, outputs: { getResultados: "getResultados", inputChange: "inputChange" }, providers: [{
3900
3900
  provide: NG_VALUE_ACCESSOR,
3901
3901
  useExisting: InputCepComponent,
3902
3902
  multi: true
3903
3903
  }], 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 });
3904
3904
  }
3905
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputCepComponent, decorators: [{
3905
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputCepComponent, decorators: [{
3906
3906
  type: Component,
3907
3907
  args: [{ selector: 'kb-input-cep', imports: [IonIcon, IonButton, IonInput, IonLabel, IonItem, NgClass], changeDetection: ChangeDetectionStrategy.Eager, providers: [{
3908
3908
  provide: NG_VALUE_ACCESSOR,
@@ -4070,8 +4070,8 @@ class InputValorComponent extends BaseInputComponent {
4070
4070
  setFocus() {
4071
4071
  this.inputValorEdit.nativeElement.setFocus();
4072
4072
  }
4073
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputValorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4074
- 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: [
4073
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputValorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4074
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: InputValorComponent, isStandalone: true, selector: "kb-input-valor", inputs: { maxValor: "maxValor" }, outputs: { inputChange: "inputChange" }, providers: [
4075
4075
  {
4076
4076
  provide: NG_VALUE_ACCESSOR,
4077
4077
  useExisting: InputValorComponent,
@@ -4079,7 +4079,7 @@ class InputValorComponent extends BaseInputComponent {
4079
4079
  },
4080
4080
  ], 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 });
4081
4081
  }
4082
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputValorComponent, decorators: [{
4082
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputValorComponent, decorators: [{
4083
4083
  type: Component,
4084
4084
  args: [{ selector: 'kb-input-valor', imports: [IonButton, IonIcon, IonInput, IonLabel, IonItem, NgClass], changeDetection: ChangeDetectionStrategy.Eager, providers: [
4085
4085
  {
@@ -4125,14 +4125,14 @@ class InputCheckboxComponent extends BaseInputComponent {
4125
4125
  }
4126
4126
  ngOnInit() {
4127
4127
  }
4128
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4129
- 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: [{
4128
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4129
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.2.1", type: InputCheckboxComponent, isStandalone: true, selector: "kb-input-checkbox", inputs: { justify: "justify", labelPlacement: "labelPlacement" }, providers: [{
4130
4130
  provide: NG_VALUE_ACCESSOR,
4131
4131
  useExisting: InputCheckboxComponent,
4132
4132
  multi: true
4133
4133
  }], 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"] }] });
4134
4134
  }
4135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputCheckboxComponent, decorators: [{
4135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputCheckboxComponent, decorators: [{
4136
4136
  type: Component,
4137
4137
  args: [{ selector: 'kb-input-checkbox', imports: [IonCheckbox, IonItem,], providers: [{
4138
4138
  provide: NG_VALUE_ACCESSOR,
@@ -4262,14 +4262,14 @@ class InputFormatComponent extends BaseInputComponent {
4262
4262
  return valor;
4263
4263
  }
4264
4264
  }
4265
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputFormatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4266
- 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: [{
4265
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputFormatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4266
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: InputFormatComponent, isStandalone: true, selector: "kb-input-format", inputs: { formato: "formato", keyEnter: "keyEnter" }, outputs: { inputChange: "inputChange" }, providers: [{
4267
4267
  provide: NG_VALUE_ACCESSOR,
4268
4268
  useExisting: InputFormatComponent,
4269
4269
  multi: true
4270
4270
  }], 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 });
4271
4271
  }
4272
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputFormatComponent, decorators: [{
4272
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputFormatComponent, decorators: [{
4273
4273
  type: Component,
4274
4274
  args: [{ selector: 'kb-input-format', imports: [IonIcon, IonInput, IonLabel, IonItem, NgClass], changeDetection: ChangeDetectionStrategy.Eager, providers: [{
4275
4275
  provide: NG_VALUE_ACCESSOR,
@@ -4370,8 +4370,8 @@ class InputSelectComponent extends BaseInputComponent {
4370
4370
  catch {
4371
4371
  }
4372
4372
  }
4373
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputSelectComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
4374
- 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: [
4373
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputSelectComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
4374
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.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: [
4375
4375
  {
4376
4376
  provide: NG_VALUE_ACCESSOR,
4377
4377
  useExisting: InputSelectComponent,
@@ -4379,7 +4379,7 @@ class InputSelectComponent extends BaseInputComponent {
4379
4379
  }
4380
4380
  ], 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 });
4381
4381
  }
4382
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputSelectComponent, decorators: [{
4382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputSelectComponent, decorators: [{
4383
4383
  type: Component,
4384
4384
  args: [{ selector: 'kb-input-select', imports: [IonIcon, IonButton, IonLabel, IonItem, IonSelect, IonSelectOption, NgClass], changeDetection: ChangeDetectionStrategy.Eager, providers: [
4385
4385
  {
@@ -4447,14 +4447,14 @@ class InputRadioComponent extends BaseInputComponent {
4447
4447
  }
4448
4448
  ngOnInit() {
4449
4449
  }
4450
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4451
- 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: [{
4450
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4451
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.2.1", type: InputRadioComponent, isStandalone: true, selector: "kb-input-radio", inputs: { itens: "itens", itemId: "itemId", itemNome: "itemNome", color: "color" }, providers: [{
4452
4452
  provide: NG_VALUE_ACCESSOR,
4453
4453
  useExisting: InputRadioComponent,
4454
4454
  multi: true
4455
4455
  }], 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 });
4456
4456
  }
4457
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputRadioComponent, decorators: [{
4457
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputRadioComponent, decorators: [{
4458
4458
  type: Component,
4459
4459
  args: [{ selector: 'kb-input-radio', imports: [IonRadio, IonCol, IonRow, IonRadioGroup, IonItem,], changeDetection: ChangeDetectionStrategy.Eager, providers: [{
4460
4460
  provide: NG_VALUE_ACCESSOR,
@@ -4487,10 +4487,10 @@ class EntityEditComponent {
4487
4487
  }
4488
4488
  emptyHandler() {
4489
4489
  }
4490
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: EntityEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4491
- 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 });
4490
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: EntityEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4491
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.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"], 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 });
4492
4492
  }
4493
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: EntityEditComponent, decorators: [{
4493
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: EntityEditComponent, decorators: [{
4494
4494
  type: Component,
4495
4495
  args: [{ selector: 'kb-entidade-edit', imports: [IonIcon, IonListHeader, IonList, IonButton, IonLabel, IonCol, IonRow, InputTextComponent,
4496
4496
  InputPesquisaComponent, InputAreaComponent, InputCepComponent, InputValorComponent, InputCheckboxComponent,
@@ -4819,10 +4819,10 @@ class GridViewComponent {
4819
4819
  selecionadoChecked() {
4820
4820
  this.selecionarChecked.emit();
4821
4821
  }
4822
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: GridViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4823
- 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 });
4822
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: GridViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4823
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.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"], 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 });
4824
4824
  }
4825
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: GridViewComponent, decorators: [{
4825
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: GridViewComponent, decorators: [{
4826
4826
  type: Component,
4827
4827
  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"] }]
4828
4828
  }], ctorParameters: () => [], propDecorators: { tabelaCampos: [{
@@ -4913,10 +4913,10 @@ class PeriodoIntervaloComponent {
4913
4913
  }
4914
4914
  this.visible = false;
4915
4915
  }
4916
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: PeriodoIntervaloComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4917
- 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"] }] });
4916
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: PeriodoIntervaloComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4917
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.2.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"], 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"] }] });
4918
4918
  }
4919
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: PeriodoIntervaloComponent, decorators: [{
4919
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: PeriodoIntervaloComponent, decorators: [{
4920
4920
  type: Component,
4921
4921
  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"] }]
4922
4922
  }], ctorParameters: () => [], propDecorators: { aceitarFunction: [{
@@ -4952,22 +4952,16 @@ class InputHtmlComponent extends BaseInputComponent {
4952
4952
  console.log( data );
4953
4953
  }
4954
4954
  */
4955
- //writeValue({ editor }: ChangeEvent): void {
4956
- writeValue(data, atualizar = true) {
4957
- //Converte o valor corretamente de acordo com o tipo de input
4958
- // if (!editor) {
4959
- // return;
4960
- // }
4961
- //const texto = editor.getData();
4962
- const texto = data;
4963
- //console.log('write value', texto);
4955
+ writeValue(data) {
4956
+ this.data = data ?? '';
4957
+ }
4958
+ onEditorChange({ editor }) {
4959
+ const texto = editor.getData();
4960
+ this.data = texto;
4964
4961
  this.onChange(texto);
4965
- if (atualizar) {
4966
- this.data = texto;
4967
- }
4968
4962
  }
4969
4963
  blurEditor({ editor }) {
4970
- //console.log('blur', editor);
4964
+ this.onTouch();
4971
4965
  }
4972
4966
  blurItem() {
4973
4967
  //console.log('blur', this.inputEmail);
@@ -4985,7 +4979,7 @@ class InputHtmlComponent extends BaseInputComponent {
4985
4979
  this.onTouch = fn;
4986
4980
  }
4987
4981
  setDisabledState(isDisabled) {
4988
- this.disabled = this.disabled;
4982
+ this.disabled = isDisabled;
4989
4983
  }
4990
4984
  ngOnDestroy() {
4991
4985
  }
@@ -5269,24 +5263,24 @@ class InputHtmlComponent extends BaseInputComponent {
5269
5263
  }
5270
5264
  };
5271
5265
  }
5272
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputHtmlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5273
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InputHtmlComponent, isStandalone: true, selector: "kb-input-html", providers: [
5266
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputHtmlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5267
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: InputHtmlComponent, isStandalone: true, selector: "kb-input-html", providers: [
5274
5268
  {
5275
5269
  provide: NG_VALUE_ACCESSOR,
5276
5270
  useExisting: InputHtmlComponent,
5277
5271
  multi: true,
5278
5272
  },
5279
- ], 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"] }] });
5273
+ ], 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)=\"onEditorChange($event)\" (blur)=\"blurEditor($event)\"></ckeditor>\r\n }\r\n <!-- </ion-item> -->\r\n</div>\r\n", 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"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
5280
5274
  }
5281
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputHtmlComponent, decorators: [{
5275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputHtmlComponent, decorators: [{
5282
5276
  type: Component,
5283
- args: [{ selector: 'kb-input-html', imports: [IonLabel, IonItem, NgClass, CKEditorModule], providers: [
5277
+ args: [{ selector: 'kb-input-html', imports: [IonLabel, IonItem, NgClass, CKEditorModule], changeDetection: ChangeDetectionStrategy.Eager, providers: [
5284
5278
  {
5285
5279
  provide: NG_VALUE_ACCESSOR,
5286
5280
  useExisting: InputHtmlComponent,
5287
5281
  multi: true,
5288
5282
  },
5289
- ], 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"] }]
5283
+ ], 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)=\"onEditorChange($event)\" (blur)=\"blurEditor($event)\"></ckeditor>\r\n }\r\n <!-- </ion-item> -->\r\n</div>\r\n", 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"] }]
5290
5284
  }], ctorParameters: () => [], propDecorators: { inputEmail: [{
5291
5285
  type: ViewChild,
5292
5286
  args: ["inputEmail", { static: false }]
@@ -5400,10 +5394,10 @@ class InputArquivoComponent {
5400
5394
  reader.onerror = error => reject(error);
5401
5395
  });
5402
5396
  }
5403
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputArquivoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5404
- 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"] }] });
5397
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputArquivoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5398
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.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"], outputs: ["ionFocus", "ionBlur"] }] });
5405
5399
  }
5406
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputArquivoComponent, decorators: [{
5400
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: InputArquivoComponent, decorators: [{
5407
5401
  type: Component,
5408
5402
  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>" }]
5409
5403
  }], ctorParameters: () => [], propDecorators: { pasta: [{
@@ -5650,10 +5644,10 @@ class AgendaSemanalComponent {
5650
5644
  const minuto = data.getMinutes().toString().padStart(2, '0');
5651
5645
  return `${hora}:${minuto}`;
5652
5646
  }
5653
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AgendaSemanalComponent, deps: [{ token: i2.AlertController }], target: i0.ɵɵFactoryTarget.Component });
5654
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AgendaSemanalComponent, isStandalone: true, selector: "kb-agenda-semanal", inputs: { itens: "itens", legendas: "legendas", textoAjuda: "textoAjuda", horaInicio: "horaInicio", horaFim: "horaFim", intervaloMinutos: "intervaloMinutos", horariosPadrao: "horariosPadrao" }, outputs: { horarioSelecionado: "horarioSelecionado", itemSelecionado: "itemSelecionado" }, ngImport: i0, template: "<div style=\"width:100%;box-sizing:border-box;\">\r\n <!-- LEGENDAS -->\r\n @if (legendas.length > 0 || textoAjuda) {\r\n <ion-row\r\n style=\"align-items:center;margin-bottom:8px;padding:6px 4px;min-height:70px;border-bottom:1px solid #cbd5e1;\">\r\n @for (legenda of legendas; track legenda.Texto) {\r\n <ion-col size=\"auto\">\r\n <div style=\"display:flex;align-items:center;gap:5px;\">\r\n <span [ngClass]=\"legenda.ClasseCss\"\r\n style=\"display:inline-block;width:18px;height:18px;border:1px solid #64748b;\">\r\n </span>\r\n <span style=\"font-size:18px;color:#475569;\">\r\n {{ legenda.Texto }}\r\n </span>\r\n </div>\r\n </ion-col>\r\n }\r\n\r\n @if (textoAjuda) {\r\n <ion-col style=\"display:flex;height:100%;justify-content:end;align-self:end;\">\r\n <div style=\"font-size:14px;color:#475569;\">\r\n {{ textoAjuda }}\r\n </div>\r\n </ion-col>\r\n }\r\n </ion-row>\r\n }\r\n\r\n <!-- GRADE -->\r\n <div style=\"width:100%;max-height:610px;overflow:auto;border:1px solid #475569;background:#ffffff;\">\r\n <table style=\"width:100%;min-width:900px;border-collapse:collapse;table-layout:fixed;font-size:12px;\">\r\n <!-- CABE\u00C7ALHO -->\r\n <thead style=\"position:sticky;top:0;z-index:10;background:#ffffff;\">\r\n <tr>\r\n <!-- M\u00CAS / ANO -->\r\n <th\r\n style=\"width:90px;height:64px;padding:2px;border-right:1px solid #475569;border-bottom:1px solid #475569;background:#ffffff;\">\r\n <div style=\"font-size:10px;font-weight:400;color:#475569;\">\r\n {{ anoSelecionado }}\r\n </div>\r\n\r\n <div style=\"display:flex;align-items:center;justify-content:space-between;padding:0 2px;\">\r\n <button type=\"button\" (click)=\"mesAnterior()\"\r\n style=\"border:0;background:transparent;padding:0;cursor:pointer;\">\r\n <ion-icon name=\"chevron-back-outline\" style=\"font-size:16px;color:#334155;\">\r\n </ion-icon>\r\n </button>\r\n\r\n <span style=\"font-size:25px;line-height:1;font-weight:700;color:#84cc16;\">\r\n {{ numeroMes }}\r\n </span>\r\n\r\n <button type=\"button\" (click)=\"proximoMes()\"\r\n style=\"border:0;background:transparent;padding:0;cursor:pointer;\">\r\n <ion-icon name=\"chevron-forward-outline\" style=\"font-size:16px;color:#334155;\">\r\n </ion-icon>\r\n </button>\r\n </div>\r\n\r\n <div style=\"font-size:9px;color:#475569;margin-top:2px;\">\r\n {{ nomeMes }}\r\n </div>\r\n </th>\r\n\r\n <!-- DIAS -->\r\n @for (dia of diasSemana; track dia.data.getTime(); let primeiro = $first; let ultimo = $last) {\r\n <th [style.background]=\"dia.hoje ? '#fff7ed' : '#ffffff'\"\r\n style=\"height:64px;padding:3px;border-right:1px solid #475569;border-bottom:1px solid #475569;text-align:center;position:relative;\">\r\n\r\n @if (primeiro) {\r\n <button type=\"button\" (click)=\"semanaAnterior()\"\r\n style=\"position:absolute;left:3px;top:22px;border:0;background:transparent;padding:0;cursor:pointer;\">\r\n <ion-icon name=\"chevron-back-outline\" style=\"font-size:15px;color:#334155;\">\r\n </ion-icon>\r\n </button>\r\n }\r\n\r\n <div (dblclick)=\"aplicarHorariosPadrao(dia.data)\"\r\n [style.color]=\"dia.hoje ? '#fb923c' : '#134e4a'\"\r\n title=\"Duplo clique para aplicar os hor\u00E1rios padr\u00F5es\"\r\n style=\"font-size:24px;font-weight:700;line-height:1.1;cursor:pointer;user-select:none;\">\r\n {{ dia.numero }}\r\n </div>\r\n\r\n <div [style.color]=\"dia.hoje ? '#fb923c' : '#111827'\"\r\n style=\"font-size:11px;font-weight:700;margin-top:3px;\">\r\n {{ dia.nome }}\r\n </div>\r\n\r\n @if (ultimo) {\r\n <button type=\"button\" (click)=\"proximaSemana()\"\r\n style=\"position:absolute;right:3px;top:22px;border:0;background:transparent;padding:0;cursor:pointer;\">\r\n <ion-icon name=\"chevron-forward-outline\" style=\"font-size:15px;color:#334155;\">\r\n </ion-icon>\r\n </button>\r\n }\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n\r\n <!-- CORPO -->\r\n <tbody>\r\n @for (horario of horarios; track horario) {\r\n <tr>\r\n <!-- HOR\u00C1RIO -->\r\n <td\r\n style=\"width:90px;height:29px;padding:1px 4px;text-align:center;font-size:13px;color:#1e293b;background:#ffffff;border-right:1px solid #475569;border-bottom:1px solid #94a3b8;\">\r\n {{ horario }}\r\n </td>\r\n\r\n <!-- DIAS -->\r\n @for (dia of diasSemana; track dia.data.getTime()) {\r\n @let item = getItem(dia.data, horario);\r\n\r\n <td (dblclick)=\"duploCliqueHorario(dia.data, horario)\" [ngClass]=\"item?.ClasseCss || ''\"\r\n style=\"height:29px;padding:0;text-align:center;vertical-align:middle;cursor:pointer;border-right:1px solid #475569;border-bottom:1px solid #94a3b8;user-select:none;overflow:hidden;\">\r\n\r\n @if (item?.Texto) {\r\n <div\r\n style=\"width:100%;height:100%;min-height:27px;display:flex;align-items:center;justify-content:center;padding:1px 3px;box-sizing:border-box;overflow:hidden;\">\r\n <span\r\n style=\"font-size:9px;font-weight:600;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;\">\r\n {{ item?.Texto }}\r\n </span>\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>", styles: [".status-disponivel{background:#8cc63f!important;color:#fff}.status-agendada{background:#f29a52!important;color:#fff}.status-nao-realizada{background:#aeb4b7!important;color:#fff}.status-nao-compareceu{background:#5f91c9!important;color:#fff}.status-sem-prontuario{background:#d00000!important;color:#fff}td:not([class*=status-]):hover{background:#f8fafc}.status-live-agendada,.status-agendada{background:#f29a52!important;color:#fff}.status-realizada{background:#07594f!important;color:#fff}.status-live-nao-realizada{background:#d00000!important;color:#fff}.status-live-realizada{background:#07594f!important;color:#fff}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { 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: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
5647
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: AgendaSemanalComponent, deps: [{ token: i2.AlertController }], target: i0.ɵɵFactoryTarget.Component });
5648
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: AgendaSemanalComponent, isStandalone: true, selector: "kb-agenda-semanal", inputs: { itens: "itens", legendas: "legendas", textoAjuda: "textoAjuda", horaInicio: "horaInicio", horaFim: "horaFim", intervaloMinutos: "intervaloMinutos", horariosPadrao: "horariosPadrao" }, outputs: { horarioSelecionado: "horarioSelecionado", itemSelecionado: "itemSelecionado" }, ngImport: i0, template: "<div style=\"width:100%;box-sizing:border-box;\">\r\n <!-- LEGENDAS -->\r\n @if (legendas.length > 0 || textoAjuda) {\r\n <ion-row\r\n style=\"align-items:center;margin-bottom:8px;padding:6px 4px;min-height:70px;border-bottom:1px solid #cbd5e1;\">\r\n @for (legenda of legendas; track legenda.Texto) {\r\n <ion-col size=\"auto\">\r\n <div style=\"display:flex;align-items:center;gap:5px;\">\r\n <span [ngClass]=\"legenda.ClasseCss\"\r\n style=\"display:inline-block;width:18px;height:18px;border:1px solid #64748b;\">\r\n </span>\r\n <span style=\"font-size:18px;color:#475569;\">\r\n {{ legenda.Texto }}\r\n </span>\r\n </div>\r\n </ion-col>\r\n }\r\n\r\n @if (textoAjuda) {\r\n <ion-col style=\"display:flex;height:100%;justify-content:end;align-self:end;\">\r\n <div style=\"font-size:14px;color:#475569;\">\r\n {{ textoAjuda }}\r\n </div>\r\n </ion-col>\r\n }\r\n </ion-row>\r\n }\r\n\r\n <!-- GRADE -->\r\n <div style=\"width:100%;max-height:610px;overflow:auto;border:1px solid #475569;background:#ffffff;\">\r\n <table style=\"width:100%;min-width:900px;border-collapse:collapse;table-layout:fixed;font-size:12px;\">\r\n <!-- CABE\u00C7ALHO -->\r\n <thead style=\"position:sticky;top:0;z-index:10;background:#ffffff;\">\r\n <tr>\r\n <!-- M\u00CAS / ANO -->\r\n <th\r\n style=\"width:90px;height:64px;padding:2px;border-right:1px solid #475569;border-bottom:1px solid #475569;background:#ffffff;\">\r\n <div style=\"font-size:10px;font-weight:400;color:#475569;\">\r\n {{ anoSelecionado }}\r\n </div>\r\n\r\n <div style=\"display:flex;align-items:center;justify-content:space-between;padding:0 2px;\">\r\n <button type=\"button\" (click)=\"mesAnterior()\"\r\n style=\"border:0;background:transparent;padding:0;cursor:pointer;\">\r\n <ion-icon name=\"chevron-back-outline\" style=\"font-size:16px;color:#334155;\">\r\n </ion-icon>\r\n </button>\r\n\r\n <span style=\"font-size:25px;line-height:1;font-weight:700;color:#84cc16;\">\r\n {{ numeroMes }}\r\n </span>\r\n\r\n <button type=\"button\" (click)=\"proximoMes()\"\r\n style=\"border:0;background:transparent;padding:0;cursor:pointer;\">\r\n <ion-icon name=\"chevron-forward-outline\" style=\"font-size:16px;color:#334155;\">\r\n </ion-icon>\r\n </button>\r\n </div>\r\n\r\n <div style=\"font-size:9px;color:#475569;margin-top:2px;\">\r\n {{ nomeMes }}\r\n </div>\r\n </th>\r\n\r\n <!-- DIAS -->\r\n @for (dia of diasSemana; track dia.data.getTime(); let primeiro = $first; let ultimo = $last) {\r\n <th [style.background]=\"dia.hoje ? '#fff7ed' : '#ffffff'\"\r\n style=\"height:64px;padding:3px;border-right:1px solid #475569;border-bottom:1px solid #475569;text-align:center;position:relative;\">\r\n\r\n @if (primeiro) {\r\n <button type=\"button\" (click)=\"semanaAnterior()\"\r\n style=\"position:absolute;left:3px;top:22px;border:0;background:transparent;padding:0;cursor:pointer;\">\r\n <ion-icon name=\"chevron-back-outline\" style=\"font-size:15px;color:#334155;\">\r\n </ion-icon>\r\n </button>\r\n }\r\n\r\n <div (dblclick)=\"aplicarHorariosPadrao(dia.data)\"\r\n [style.color]=\"dia.hoje ? '#fb923c' : '#134e4a'\"\r\n title=\"Duplo clique para aplicar os hor\u00E1rios padr\u00F5es\"\r\n style=\"font-size:24px;font-weight:700;line-height:1.1;cursor:pointer;user-select:none;\">\r\n {{ dia.numero }}\r\n </div>\r\n\r\n <div [style.color]=\"dia.hoje ? '#fb923c' : '#111827'\"\r\n style=\"font-size:11px;font-weight:700;margin-top:3px;\">\r\n {{ dia.nome }}\r\n </div>\r\n\r\n @if (ultimo) {\r\n <button type=\"button\" (click)=\"proximaSemana()\"\r\n style=\"position:absolute;right:3px;top:22px;border:0;background:transparent;padding:0;cursor:pointer;\">\r\n <ion-icon name=\"chevron-forward-outline\" style=\"font-size:15px;color:#334155;\">\r\n </ion-icon>\r\n </button>\r\n }\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n\r\n <!-- CORPO -->\r\n <tbody>\r\n @for (horario of horarios; track horario) {\r\n <tr>\r\n <!-- HOR\u00C1RIO -->\r\n <td\r\n style=\"width:90px;height:29px;padding:1px 4px;text-align:center;font-size:13px;color:#1e293b;background:#ffffff;border-right:1px solid #475569;border-bottom:1px solid #94a3b8;\">\r\n {{ horario }}\r\n </td>\r\n\r\n <!-- DIAS -->\r\n @for (dia of diasSemana; track dia.data.getTime()) {\r\n @let item = getItem(dia.data, horario);\r\n\r\n <td (dblclick)=\"duploCliqueHorario(dia.data, horario)\" [ngClass]=\"item?.ClasseCss || ''\"\r\n style=\"height:29px;padding:0;text-align:center;vertical-align:middle;cursor:pointer;border-right:1px solid #475569;border-bottom:1px solid #94a3b8;user-select:none;overflow:hidden;\">\r\n\r\n @if (item?.Texto) {\r\n <div\r\n style=\"width:100%;height:100%;min-height:27px;display:flex;align-items:center;justify-content:center;padding:1px 3px;box-sizing:border-box;overflow:hidden;\">\r\n <span\r\n style=\"font-size:9px;font-weight:600;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;\">\r\n {{ item?.Texto }}\r\n </span>\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>", styles: [".status-disponivel{background:#8cc63f!important;color:#fff}.status-agendada{background:#f29a52!important;color:#fff}.status-nao-realizada{background:#aeb4b7!important;color:#fff}.status-nao-compareceu{background:#5f91c9!important;color:#fff}.status-sem-prontuario{background:#d00000!important;color:#fff}td:not([class*=status-]):hover{background:#f8fafc}.status-live-agendada,.status-agendada{background:#f29a52!important;color:#fff}.status-realizada{background:#07594f!important;color:#fff}.status-live-nao-realizada{background:#d00000!important;color:#fff}.status-live-realizada{background:#07594f!important;color:#fff}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { 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: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
5655
5649
  }
5656
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AgendaSemanalComponent, decorators: [{
5650
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: AgendaSemanalComponent, decorators: [{
5657
5651
  type: Component,
5658
5652
  args: [{ imports: [IonIcon, IonCol, IonRow, NgClass], selector: 'kb-agenda-semanal', template: "<div style=\"width:100%;box-sizing:border-box;\">\r\n <!-- LEGENDAS -->\r\n @if (legendas.length > 0 || textoAjuda) {\r\n <ion-row\r\n style=\"align-items:center;margin-bottom:8px;padding:6px 4px;min-height:70px;border-bottom:1px solid #cbd5e1;\">\r\n @for (legenda of legendas; track legenda.Texto) {\r\n <ion-col size=\"auto\">\r\n <div style=\"display:flex;align-items:center;gap:5px;\">\r\n <span [ngClass]=\"legenda.ClasseCss\"\r\n style=\"display:inline-block;width:18px;height:18px;border:1px solid #64748b;\">\r\n </span>\r\n <span style=\"font-size:18px;color:#475569;\">\r\n {{ legenda.Texto }}\r\n </span>\r\n </div>\r\n </ion-col>\r\n }\r\n\r\n @if (textoAjuda) {\r\n <ion-col style=\"display:flex;height:100%;justify-content:end;align-self:end;\">\r\n <div style=\"font-size:14px;color:#475569;\">\r\n {{ textoAjuda }}\r\n </div>\r\n </ion-col>\r\n }\r\n </ion-row>\r\n }\r\n\r\n <!-- GRADE -->\r\n <div style=\"width:100%;max-height:610px;overflow:auto;border:1px solid #475569;background:#ffffff;\">\r\n <table style=\"width:100%;min-width:900px;border-collapse:collapse;table-layout:fixed;font-size:12px;\">\r\n <!-- CABE\u00C7ALHO -->\r\n <thead style=\"position:sticky;top:0;z-index:10;background:#ffffff;\">\r\n <tr>\r\n <!-- M\u00CAS / ANO -->\r\n <th\r\n style=\"width:90px;height:64px;padding:2px;border-right:1px solid #475569;border-bottom:1px solid #475569;background:#ffffff;\">\r\n <div style=\"font-size:10px;font-weight:400;color:#475569;\">\r\n {{ anoSelecionado }}\r\n </div>\r\n\r\n <div style=\"display:flex;align-items:center;justify-content:space-between;padding:0 2px;\">\r\n <button type=\"button\" (click)=\"mesAnterior()\"\r\n style=\"border:0;background:transparent;padding:0;cursor:pointer;\">\r\n <ion-icon name=\"chevron-back-outline\" style=\"font-size:16px;color:#334155;\">\r\n </ion-icon>\r\n </button>\r\n\r\n <span style=\"font-size:25px;line-height:1;font-weight:700;color:#84cc16;\">\r\n {{ numeroMes }}\r\n </span>\r\n\r\n <button type=\"button\" (click)=\"proximoMes()\"\r\n style=\"border:0;background:transparent;padding:0;cursor:pointer;\">\r\n <ion-icon name=\"chevron-forward-outline\" style=\"font-size:16px;color:#334155;\">\r\n </ion-icon>\r\n </button>\r\n </div>\r\n\r\n <div style=\"font-size:9px;color:#475569;margin-top:2px;\">\r\n {{ nomeMes }}\r\n </div>\r\n </th>\r\n\r\n <!-- DIAS -->\r\n @for (dia of diasSemana; track dia.data.getTime(); let primeiro = $first; let ultimo = $last) {\r\n <th [style.background]=\"dia.hoje ? '#fff7ed' : '#ffffff'\"\r\n style=\"height:64px;padding:3px;border-right:1px solid #475569;border-bottom:1px solid #475569;text-align:center;position:relative;\">\r\n\r\n @if (primeiro) {\r\n <button type=\"button\" (click)=\"semanaAnterior()\"\r\n style=\"position:absolute;left:3px;top:22px;border:0;background:transparent;padding:0;cursor:pointer;\">\r\n <ion-icon name=\"chevron-back-outline\" style=\"font-size:15px;color:#334155;\">\r\n </ion-icon>\r\n </button>\r\n }\r\n\r\n <div (dblclick)=\"aplicarHorariosPadrao(dia.data)\"\r\n [style.color]=\"dia.hoje ? '#fb923c' : '#134e4a'\"\r\n title=\"Duplo clique para aplicar os hor\u00E1rios padr\u00F5es\"\r\n style=\"font-size:24px;font-weight:700;line-height:1.1;cursor:pointer;user-select:none;\">\r\n {{ dia.numero }}\r\n </div>\r\n\r\n <div [style.color]=\"dia.hoje ? '#fb923c' : '#111827'\"\r\n style=\"font-size:11px;font-weight:700;margin-top:3px;\">\r\n {{ dia.nome }}\r\n </div>\r\n\r\n @if (ultimo) {\r\n <button type=\"button\" (click)=\"proximaSemana()\"\r\n style=\"position:absolute;right:3px;top:22px;border:0;background:transparent;padding:0;cursor:pointer;\">\r\n <ion-icon name=\"chevron-forward-outline\" style=\"font-size:15px;color:#334155;\">\r\n </ion-icon>\r\n </button>\r\n }\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n\r\n <!-- CORPO -->\r\n <tbody>\r\n @for (horario of horarios; track horario) {\r\n <tr>\r\n <!-- HOR\u00C1RIO -->\r\n <td\r\n style=\"width:90px;height:29px;padding:1px 4px;text-align:center;font-size:13px;color:#1e293b;background:#ffffff;border-right:1px solid #475569;border-bottom:1px solid #94a3b8;\">\r\n {{ horario }}\r\n </td>\r\n\r\n <!-- DIAS -->\r\n @for (dia of diasSemana; track dia.data.getTime()) {\r\n @let item = getItem(dia.data, horario);\r\n\r\n <td (dblclick)=\"duploCliqueHorario(dia.data, horario)\" [ngClass]=\"item?.ClasseCss || ''\"\r\n style=\"height:29px;padding:0;text-align:center;vertical-align:middle;cursor:pointer;border-right:1px solid #475569;border-bottom:1px solid #94a3b8;user-select:none;overflow:hidden;\">\r\n\r\n @if (item?.Texto) {\r\n <div\r\n style=\"width:100%;height:100%;min-height:27px;display:flex;align-items:center;justify-content:center;padding:1px 3px;box-sizing:border-box;overflow:hidden;\">\r\n <span\r\n style=\"font-size:9px;font-weight:600;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;\">\r\n {{ item?.Texto }}\r\n </span>\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>", styles: [".status-disponivel{background:#8cc63f!important;color:#fff}.status-agendada{background:#f29a52!important;color:#fff}.status-nao-realizada{background:#aeb4b7!important;color:#fff}.status-nao-compareceu{background:#5f91c9!important;color:#fff}.status-sem-prontuario{background:#d00000!important;color:#fff}td:not([class*=status-]):hover{background:#f8fafc}.status-live-agendada,.status-agendada{background:#f29a52!important;color:#fff}.status-realizada{background:#07594f!important;color:#fff}.status-live-nao-realizada{background:#d00000!important;color:#fff}.status-live-realizada{background:#07594f!important;color:#fff}\n"] }]
5659
5653
  }], ctorParameters: () => [{ type: i2.AlertController }], propDecorators: { itens: [{
@@ -5707,10 +5701,10 @@ class BaseBtnComponent {
5707
5701
  this.fill = 'solid';
5708
5702
  }
5709
5703
  }
5710
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BaseBtnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5711
- 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", hint: "hint" }, outputs: { btnClick: "btnClick" }, ngImport: i0, template: '', isInline: true });
5704
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: BaseBtnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5705
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.2.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", hint: "hint" }, outputs: { btnClick: "btnClick" }, ngImport: i0, template: '', isInline: true });
5712
5706
  }
5713
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BaseBtnComponent, decorators: [{
5707
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: BaseBtnComponent, decorators: [{
5714
5708
  type: Component,
5715
5709
  args: [{
5716
5710
  template: ''
@@ -5761,12 +5755,12 @@ class BtnActionComponent extends BaseBtnComponent {
5761
5755
  ngOnInit() {
5762
5756
  this.buttonStyle = '';
5763
5757
  }
5764
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5765
- 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 [title]=\"hint\">\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"] }] });
5758
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: BtnActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5759
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.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\"\r\n [hidden]=\"hidden\" (click)=\"onClick()\" class=\"kb-btn-action\"\r\n [title]=\"hint\">\r\n @if (icon || iconSrc) {\r\n <ion-icon [slot]=\"title ? iconSlot : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\" [style]=\"iconStyle\"></ion-icon>\r\n }\r\n <span [style]=\"titleStyle\">{{ title }}</span>\r\n @if (imgSrc) {\r\n <img [src]=\"imgSrc\" [slot]=\"title ? iconSlot : 'icon-only'\" />\r\n }\r\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"] }] });
5766
5760
  }
5767
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnActionComponent, decorators: [{
5761
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: BtnActionComponent, decorators: [{
5768
5762
  type: Component,
5769
- 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 [title]=\"hint\">\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"] }]
5763
+ args: [{ selector: 'kb-btn-action', imports: [IonIcon, IonButton,], template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\r\n [hidden]=\"hidden\" (click)=\"onClick()\" class=\"kb-btn-action\"\r\n [title]=\"hint\">\r\n @if (icon || iconSrc) {\r\n <ion-icon [slot]=\"title ? iconSlot : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\" [style]=\"iconStyle\"></ion-icon>\r\n }\r\n <span [style]=\"titleStyle\">{{ title }}</span>\r\n @if (imgSrc) {\r\n <img [src]=\"imgSrc\" [slot]=\"title ? iconSlot : 'icon-only'\" />\r\n }\r\n</ion-button>", styles: ["img{width:24px;margin-right:6px}\n"] }]
5770
5764
  }], ctorParameters: () => [], propDecorators: { title: [{
5771
5765
  type: Input
5772
5766
  }], color: [{
@@ -5801,12 +5795,12 @@ class BtnCancelarComponent extends BaseBtnComponent {
5801
5795
  super();
5802
5796
  this.type = 'button';
5803
5797
  }
5804
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnCancelarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5805
- 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 [title]=\"hint\"> \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"] }] });
5798
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: BtnCancelarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5799
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.2.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\" \r\n [size]=\"size\" class=\"kb-btn-cancelar\"\r\n (click)=\"onClick()\"\r\n [title]=\"hint\"> \r\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [src]=\"iconSrc\" [name]=\"icon\"></ion-icon>\r\n {{ title }}\r\n</ion-button> \r\n<!-- \r\n<ion-button color=\"tertiary\" fill=\"outline\" (click)=\"cancelarContato()\" style=\"box-shadow: #6370ff 0px 3px 3px 0.05px\"\r\n [disabled]=\"!selectedContato\">\r\n <ion-icon src=\"/assets/icon/limpar_purple_24dp.svg\"></ion-icon>\r\n Cancelar\r\n</ion-button>\r\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"] }] });
5806
5800
  }
5807
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnCancelarComponent, decorators: [{
5801
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: BtnCancelarComponent, decorators: [{
5808
5802
  type: Component,
5809
- 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 [title]=\"hint\"> \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"] }]
5803
+ args: [{ selector: 'kb-btn-cancelar', imports: [IonIcon, IonButton,], template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" \r\n [size]=\"size\" class=\"kb-btn-cancelar\"\r\n (click)=\"onClick()\"\r\n [title]=\"hint\"> \r\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [src]=\"iconSrc\" [name]=\"icon\"></ion-icon>\r\n {{ title }}\r\n</ion-button> \r\n<!-- \r\n<ion-button color=\"tertiary\" fill=\"outline\" (click)=\"cancelarContato()\" style=\"box-shadow: #6370ff 0px 3px 3px 0.05px\"\r\n [disabled]=\"!selectedContato\">\r\n <ion-icon src=\"/assets/icon/limpar_purple_24dp.svg\"></ion-icon>\r\n Cancelar\r\n</ion-button>\r\n-->", styles: ["ion-button{margin:4px}\n"] }]
5810
5804
  }], ctorParameters: () => [], propDecorators: { icon: [{
5811
5805
  type: Input
5812
5806
  }], title: [{
@@ -5824,12 +5818,12 @@ class BtnExcluirComponent extends BaseBtnComponent {
5824
5818
  constructor() {
5825
5819
  super();
5826
5820
  }
5827
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnExcluirComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5828
- 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 [title]=\"hint\">\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"] }] });
5821
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: BtnExcluirComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5822
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.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\"\r\n (click)=\"onClick()\"\r\n [title]=\"hint\">\r\n @if (icon) {\r\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\"></ion-icon>\r\n }\r\n {{ title }}\r\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"] }] });
5829
5823
  }
5830
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnExcluirComponent, decorators: [{
5824
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: BtnExcluirComponent, decorators: [{
5831
5825
  type: Component,
5832
- 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 [title]=\"hint\">\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"] }]
5826
+ args: [{ selector: 'kb-btn-excluir', imports: [IonIcon, IonButton,], template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\r\n (click)=\"onClick()\"\r\n [title]=\"hint\">\r\n @if (icon) {\r\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\"></ion-icon>\r\n }\r\n {{ title }}\r\n</ion-button>", styles: ["ion-button{margin:4px}\n"] }]
5833
5827
  }], ctorParameters: () => [], propDecorators: { type: [{
5834
5828
  type: Input
5835
5829
  }], expand: [{
@@ -5853,12 +5847,12 @@ class BtnNovoComponent extends BaseBtnComponent {
5853
5847
  super();
5854
5848
  this.type = 'button';
5855
5849
  }
5856
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnNovoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5857
- 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 [title]=\"hint\">\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"] }] });
5850
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: BtnNovoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5851
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.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\"\r\n (click)=\"onClick()\" class=\"kb-btn-novo\"\r\n [title]=\"hint\">\r\n @if (icon || iconSrc) {\r\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\"></ion-icon>\r\n }\r\n {{ title }}\r\n @if (imgSrc) {\r\n <img [src]=\"imgSrc\" [slot]=\"title ? 'start' : 'icon-only'\" />\r\n }\r\n</ion-button>\r\n<!-- \r\n<ion-button (click)=\"novoContato()\" fill=\"outline\" style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\">\r\n <ion-icon slot=\"start\" name=\"person-add\"></ion-icon>\r\n Novo\r\n</ion-button>\r\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"] }] });
5858
5852
  }
5859
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnNovoComponent, decorators: [{
5853
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: BtnNovoComponent, decorators: [{
5860
5854
  type: Component,
5861
- 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 [title]=\"hint\">\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"] }]
5855
+ args: [{ selector: 'kb-btn-novo', imports: [IonIcon, IonButton,], template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\r\n (click)=\"onClick()\" class=\"kb-btn-novo\"\r\n [title]=\"hint\">\r\n @if (icon || iconSrc) {\r\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\"></ion-icon>\r\n }\r\n {{ title }}\r\n @if (imgSrc) {\r\n <img [src]=\"imgSrc\" [slot]=\"title ? 'start' : 'icon-only'\" />\r\n }\r\n</ion-button>\r\n<!-- \r\n<ion-button (click)=\"novoContato()\" fill=\"outline\" style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\">\r\n <ion-icon slot=\"start\" name=\"person-add\"></ion-icon>\r\n Novo\r\n</ion-button>\r\n-->", styles: ["img{width:24px;margin-right:6px}\n"] }]
5862
5856
  }], ctorParameters: () => [], propDecorators: { title: [{
5863
5857
  type: Input
5864
5858
  }], icon: [{
@@ -5879,12 +5873,12 @@ class BtnSalvarComponent extends BaseBtnComponent {
5879
5873
  constructor() {
5880
5874
  super();
5881
5875
  }
5882
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnSalvarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5883
- 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 [title]=\"hint\">\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"] }] });
5876
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: BtnSalvarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5877
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.2.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\"\r\n (click)=\"onClick()\" [style.margin]=\"btnMargin\" class=\"kb-btn-salvar\"\r\n [title]=\"hint\">\r\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\"></ion-icon>\r\n {{ title }}\r\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"] }] });
5884
5878
  }
5885
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnSalvarComponent, decorators: [{
5879
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: BtnSalvarComponent, decorators: [{
5886
5880
  type: Component,
5887
- 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 [title]=\"hint\">\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\"></ion-icon>\n {{ title }}\n</ion-button>" }]
5881
+ args: [{ selector: 'kb-btn-salvar', imports: [IonIcon, IonButton,], template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\r\n (click)=\"onClick()\" [style.margin]=\"btnMargin\" class=\"kb-btn-salvar\"\r\n [title]=\"hint\">\r\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\"></ion-icon>\r\n {{ title }}\r\n</ion-button>" }]
5888
5882
  }], ctorParameters: () => [], propDecorators: { btnMargin: [{
5889
5883
  type: Input
5890
5884
  }], color: [{
@@ -5903,12 +5897,12 @@ class BtnRoundedComponent extends BaseBtnComponent {
5903
5897
  super();
5904
5898
  this.type = 'button';
5905
5899
  }
5906
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnRoundedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5907
- 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 [title]=\"hint\">\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"] }] });
5900
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: BtnRoundedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5901
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.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\"\r\n (click)=\"onClick()\" class=\"kb-btn-rounded\"\r\n [title]=\"hint\">\r\n @if (icon || iconSrc) {\r\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\"></ion-icon>\r\n }\r\n <!-- \r\n {{ title }}\r\n -->\r\n @if (title) {\r\n <span [innerHTML]=\"title\"></span>\r\n }\r\n @if (imgSrc) {\r\n <img [src]=\"imgSrc\" [slot]=\"title ? 'start' : 'icon-only'\" />\r\n }\r\n</ion-button>\r\n<!-- \r\n<ion-button (click)=\"novoContato()\" fill=\"outline\" style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\">\r\n <ion-icon slot=\"start\" name=\"person-add\"></ion-icon>\r\n Novo\r\n</ion-button>\r\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"] }] });
5908
5902
  }
5909
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnRoundedComponent, decorators: [{
5903
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: BtnRoundedComponent, decorators: [{
5910
5904
  type: Component,
5911
- 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 [title]=\"hint\">\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"] }]
5905
+ 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\"\r\n (click)=\"onClick()\" class=\"kb-btn-rounded\"\r\n [title]=\"hint\">\r\n @if (icon || iconSrc) {\r\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\"></ion-icon>\r\n }\r\n <!-- \r\n {{ title }}\r\n -->\r\n @if (title) {\r\n <span [innerHTML]=\"title\"></span>\r\n }\r\n @if (imgSrc) {\r\n <img [src]=\"imgSrc\" [slot]=\"title ? 'start' : 'icon-only'\" />\r\n }\r\n</ion-button>\r\n<!-- \r\n<ion-button (click)=\"novoContato()\" fill=\"outline\" style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\">\r\n <ion-icon slot=\"start\" name=\"person-add\"></ion-icon>\r\n Novo\r\n</ion-button>\r\n-->", styles: ["img{width:24px;margin-right:6px}\n"] }]
5912
5906
  }], ctorParameters: () => [], propDecorators: { title: [{
5913
5907
  type: Input
5914
5908
  }], icon: [{
@@ -5926,10 +5920,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
5926
5920
  }] } });
5927
5921
 
5928
5922
  class TituloComponent {
5929
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TituloComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5930
- 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"] });
5923
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: TituloComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5924
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.2.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"] });
5931
5925
  }
5932
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TituloComponent, decorators: [{
5926
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: TituloComponent, decorators: [{
5933
5927
  type: Component,
5934
5928
  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"] }]
5935
5929
  }] });