ngx-sp-infra 6.5.19 → 6.5.20

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.
@@ -982,6 +982,68 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
982
982
  }]
983
983
  }], ctorParameters: () => [{ type: i1$2.DomSanitizer }] });
984
984
 
985
+ /**
986
+ * Diretiva de marcação usada pelo componente lib-combobox.
987
+ *
988
+ * Nas versões modernas do Angular, consultas de conteúdo (`@ContentChild` / `@ContentChildren`)
989
+ * não conseguem mais localizar elementos apenas por seletores CSS, como `[btnLeft]` ou `[btnRight]`.
990
+ * Isso significa que, mesmo que o conteúdo seja projetado corretamente no HTML com:
991
+ * ```html
992
+ * <button btnLeft></button>
993
+ * ```
994
+ *
995
+ * o Angular não consegue associar esse elemento a um `@ContentChild('[btnLeft]')`.
996
+ *
997
+ * Para que a query funcione, o framework exige um “token” estático — normalmente uma diretiva.
998
+ * Por isso esta diretiva existe: ela atua como um identificador explícito para o Angular.
999
+ *
1000
+ * Assim, quando o desenvolvedor usa `btnLeft` no componente pai, o Angular passa a enxergar
1001
+ * aquele elemento através de `@ContentChild(BtnLeftDirective)`, permitindo validar, manipular
1002
+ * ou reagir à presença do botão projetado.
1003
+ */
1004
+ class BtnLeftDirective {
1005
+ constructor() { }
1006
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BtnLeftDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1007
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: BtnLeftDirective, isStandalone: true, selector: "[btnLeft]", ngImport: i0 }); }
1008
+ }
1009
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BtnLeftDirective, decorators: [{
1010
+ type: Directive,
1011
+ args: [{
1012
+ selector: '[btnLeft]'
1013
+ }]
1014
+ }], ctorParameters: () => [] });
1015
+
1016
+ /**
1017
+ * Diretiva de marcação usada pelo componente lib-combobox.
1018
+ *
1019
+ * Nas versões modernas do Angular, consultas de conteúdo (`@ContentChild` / `@ContentChildren`)
1020
+ * não conseguem mais localizar elementos apenas por seletores CSS, como `[btnLeft]` ou `[btnRight]`.
1021
+ * Isso significa que, mesmo que o conteúdo seja projetado corretamente no HTML com:
1022
+ * ```html
1023
+ * <button btnRight></button>
1024
+ * ```
1025
+ *
1026
+ * o Angular não consegue associar esse elemento a um `@ContentChild('[btnRight]')`.
1027
+ *
1028
+ * Para que a query funcione, o framework exige um “token” estático — normalmente uma diretiva.
1029
+ * Por isso esta diretiva existe: ela atua como um identificador explícito para o Angular.
1030
+ *
1031
+ * Assim, quando o desenvolvedor usa `btnRight` no componente pai, o Angular passa a enxergar
1032
+ * aquele elemento através de `@ContentChild(BtnLeftDirective)`, permitindo validar, manipular
1033
+ * ou reagir à presença do botão projetado.
1034
+ */
1035
+ class BtnRightDirective {
1036
+ constructor() { }
1037
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BtnRightDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1038
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: BtnRightDirective, isStandalone: true, selector: "[btnRight]", ngImport: i0 }); }
1039
+ }
1040
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BtnRightDirective, decorators: [{
1041
+ type: Directive,
1042
+ args: [{
1043
+ selector: '[btnRight]'
1044
+ }]
1045
+ }], ctorParameters: () => [] });
1046
+
985
1047
  class PageNotAuthorizedComponent {
986
1048
  constructor(router) {
987
1049
  this.router = router;
@@ -6937,9 +6999,17 @@ class LibComboboxComponent {
6937
6999
  this.adjustDropdownWidth();
6938
7000
  this.setValidator();
6939
7001
  this.updateSelectedValue();
7002
+ console.log('btnLeft', this.btnLeft);
7003
+ console.log('btnRight', this.btnRight);
6940
7004
  }
6941
7005
  ngAfterViewInit() {
6942
7006
  this.adjustDropdownWidth();
7007
+ console.log('btnLeft', this.btnLeft);
7008
+ console.log('btnRight', this.btnRight);
7009
+ }
7010
+ ngAfterContentInit() {
7011
+ console.log('btnLeft', this.btnLeft); // undefined
7012
+ console.log('btnRight', this.btnRight); // undefined
6943
7013
  }
6944
7014
  ngOnChanges(changes) {
6945
7015
  if (changes["list"]?.currentValue)
@@ -6953,6 +7023,8 @@ class LibComboboxComponent {
6953
7023
  this.setValidator();
6954
7024
  this.updateSelectedValue(changes["control"].currentValue.value);
6955
7025
  }
7026
+ console.log('btnLeft', this.btnLeft);
7027
+ console.log('btnRight', this.btnRight);
6956
7028
  }
6957
7029
  ngOnDestroy() {
6958
7030
  this._subscription.unsubscribe();
@@ -7048,7 +7120,7 @@ class LibComboboxComponent {
7048
7120
  }
7049
7121
  reloadList() { this.reloadListChange.emit(this.textoPesquisa); }
7050
7122
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: LibComboboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7051
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: LibComboboxComponent, isStandalone: true, selector: "lib-combobox", inputs: { control: "control", list: "list", labelText: "labelText", separator: "separator", libRequired: "libRequired", disabled: "disabled", mainPlaceholder: "mainPlaceholder", searchPlaceholder: "searchPlaceholder", theme: "theme", returnRecord: "returnRecord", additionalStringBold: "additionalStringBold", showErrorMessage: "showErrorMessage" }, outputs: { reloadListChange: "reloadListChange", changeValue: "changeValue", changePesquisa: "changePesquisa" }, viewQueries: [{ propertyName: "_mainInput", first: true, predicate: ["mainInput"], descendants: true }, { propertyName: "_searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "_dropdownMenu", first: true, predicate: ["dropdownMenu"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!-- eslint-disable @angular-eslint/template/interactive-supports-focus -->\n<!-- eslint-disable @angular-eslint/template/click-events-have-key-events -->\n\n<label *ngIf=\"labelText && labelText !== ''\" class=\"form-label fw-bold d-flex align-items-center gap-1\" [id]=\"labelID\" [for]=\"comboboxID\" [libRequired]=\"isRequired\">\n <ng-content select=\"lib-icon[iconLeft]\"></ng-content>\n {{ labelText }}\n <ng-content select=\"lib-icon[iconRight]\"></ng-content>\n</label>\n\n<div class=\"input-group dropdown flex-fill glb-max-height-350px\">\n\n <!-- Este elemento ng-content com o atributo [btnLeft] permite que o usu\u00E1rio final forne\u00E7a conte\u00FAdo personalizado para ser exibido no lado esquerdo do combobox de pesquisa.\n Ao usar o atributo [btnLeft], o usu\u00E1rio pode facilmente adicionar bot\u00F5es ou outros elementos para melhorar a funcionalidade ou apar\u00EAncia do combobox de pesquisa. -->\n <ng-content select=\"[btnLeft]\"></ng-content>\n\n <input #mainInput class=\"form-select text-start rounded-end cursor-pointer\" type=\"text\"\n data-bs-toggle=\"dropdown\" data-bs-auto-close=\"outside\" aria-expanded=\"false\" readonly\n [placeholder]=\"mainPlaceholder\" [class.text-muted]=\"innerControl.value == null\" [formControl]=\"innerControl\" [class.is-invalid]=\"invalidControl\" [id]=\"comboboxID\"\n (click)=\"ariaExpanded = !ariaExpanded; focusSearchInput()\" (focus)=\"focusSearchInput()\">\n\n <ul #dropdownMenu class=\"dropdown-menu p-2 glb-max-height-350px overflow-y-scroll z-index-1020\" [class.show]=\"ariaExpanded\">\n @if(showSearchInput){\n <div class=\"input-group mb-2\">\n <input #searchInput type=\"text\" id=\"searchInput-{{comboboxID}}\" class=\"searchInput form-control glb-input-no-glow\" [placeholder]=\"searchPlaceholder\" (keyup.enter)=\"reloadList()\"\n [(ngModel)]=\"textoPesquisa\" (ngModelChange)=\"changePesquisa.emit(textoPesquisa)\" >\n <button class=\"btn btn-{{theme}}\" (click)=\"reloadList()\"> <lib-icon iconName=\"lupa\" iconSize=\"medium-small\" /> </button>\n </div>\n }\n\n @if (list) {\n <li *ngIf=\"innerControl.value !== '' && innerControl.value !== null\" class=\"dropdown-item glb-cursor-pointer\" (click)=\"clearValue()\"> <span class=\"fw-bold\">Limpar op\u00E7\u00E3o selecionada</span> </li>\n @for (item of list | textFilter:textoPesquisa; track $index) {\n <li class=\"dropdown-item glb-cursor-pointer\" (click)=\"setValue(item)\">\n <span *ngIf=\"item.AdditionalStringProperty1 && item.AdditionalStringProperty1 !== ''\" class=\"glb-fs-12 d-inline-block w-125\" [class.fw-bold]=\"additionalStringBold\">\n {{ item.AdditionalStringProperty1 + (separator === undefined ? \"\" : \" \"+separator) }}\n </span> {{ item.LABEL }}\n </li>\n }\n @empty { <li class=\"dropdown-item fst-italic\">Nenhum registro encontrado com esta pesquisa...</li> }\n }\n @else { <li class=\"dropdown-item text-center\"> <div class=\"spinner-border\" role=\"status\"><span class=\"visually-hidden\">Carregando dados...</span></div> </li> }\n </ul>\n\n <!-- Este elemento ng-content com o atributo [btnRight] permite que o usu\u00E1rio final forne\u00E7a conte\u00FAdo personalizado para ser exibido no lado direito do combobox de pesquisa.\n Ao usar o atributo [btnRight], o usu\u00E1rio pode facilmente adicionar bot\u00F5es ou outros elementos para melhorar a funcionalidade ou apar\u00EAncia do combobox de pesquisa. -->\n <ng-content select=\"[btnRight]\"></ng-content>\n\n</div>\n\n<!-- #region MENSAGEM DE ERRO DE VALIDA\u00C7\u00C3O -->\n<lib-error-message *ngIf=\"showErrorMessage && invalidControl\" customMessage=\"Este campo \u00E9 obrigat\u00F3rio.\" />\n<!-- #endregion MENSAGEM DE ERRO DE VALIDA\u00C7\u00C3O -->", styles: [".glb-max-height-350px{max-height:350px!important}.form-label{font-size:16px!important}.z-index-1020{z-index:1020!important}.cursor-pointer{cursor:pointer!important}.dropdown-menu{position:relative}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RequiredDirective, selector: "label[libRequired], span[libRequired], p[libRequired]", inputs: ["libRequired", "requiredID"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: FieldErrorMessageComponent, selector: "app-field-error-message, lib-error-message", inputs: ["customMessage", "control", "label"] }, { kind: "pipe", type: TextFilterPipe, name: "textFilter" }] }); }
7123
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: LibComboboxComponent, isStandalone: true, selector: "lib-combobox", inputs: { control: "control", list: "list", labelText: "labelText", separator: "separator", libRequired: "libRequired", disabled: "disabled", mainPlaceholder: "mainPlaceholder", searchPlaceholder: "searchPlaceholder", theme: "theme", returnRecord: "returnRecord", additionalStringBold: "additionalStringBold", showErrorMessage: "showErrorMessage" }, outputs: { reloadListChange: "reloadListChange", changeValue: "changeValue", changePesquisa: "changePesquisa" }, queries: [{ propertyName: "btnLeft", first: true, predicate: BtnLeftDirective, descendants: true }, { propertyName: "btnRight", first: true, predicate: BtnRightDirective, descendants: true }], viewQueries: [{ propertyName: "_mainInput", first: true, predicate: ["mainInput"], descendants: true }, { propertyName: "_searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "_dropdownMenu", first: true, predicate: ["dropdownMenu"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!-- eslint-disable @angular-eslint/template/interactive-supports-focus -->\n<!-- eslint-disable @angular-eslint/template/click-events-have-key-events -->\n\n<label *ngIf=\"labelText && labelText !== ''\" class=\"form-label fw-bold d-flex align-items-center gap-1\" [id]=\"labelID\" [for]=\"comboboxID\" [libRequired]=\"isRequired\">\n <ng-content select=\"lib-icon[iconLeft]\"></ng-content>\n {{ labelText }}\n <ng-content select=\"lib-icon[iconRight]\"></ng-content>\n</label>\n\n\n<div class=\"input-group\">\n <!-- Este elemento ng-content com o atributo [btnLeft] permite que o usu\u00E1rio final forne\u00E7a conte\u00FAdo personalizado para ser exibido no lado esquerdo do combobox de pesquisa.\n Ao usar o atributo [btnLeft], o usu\u00E1rio pode facilmente adicionar bot\u00F5es ou outros elementos para melhorar a funcionalidade ou apar\u00EAncia do combobox de pesquisa. -->\n <ng-content select=\"[btnLeft]\"></ng-content>\n\n <div class=\"dropdown flex-fill glb-max-height-350px\">\n <input #mainInput class=\"form-select text-start rounded-end cursor-pointer\" type=\"text\"\n data-bs-toggle=\"dropdown\" data-bs-auto-close=\"outside\" aria-expanded=\"false\" readonly\n [placeholder]=\"mainPlaceholder\" [class.text-muted]=\"innerControl.value == null\" [formControl]=\"innerControl\" [class.is-invalid]=\"invalidControl\" [id]=\"comboboxID\"\n (click)=\"ariaExpanded = !ariaExpanded; focusSearchInput()\" (focus)=\"focusSearchInput()\"\n [class.rounded-start-0]=\"btnLeft\" [class.rounded-end-0]=\"btnLeft\" >\n\n <ul #dropdownMenu class=\"dropdown-menu p-2 glb-max-height-350px overflow-y-scroll z-index-1020\" [class.show]=\"ariaExpanded\">\n @if(showSearchInput){\n <div class=\"input-group mb-2\">\n <input #searchInput type=\"text\" id=\"searchInput-{{comboboxID}}\" class=\"searchInput form-control glb-input-no-glow\" [placeholder]=\"searchPlaceholder\" (keyup.enter)=\"reloadList()\"\n [(ngModel)]=\"textoPesquisa\" (ngModelChange)=\"changePesquisa.emit(textoPesquisa)\" >\n <button class=\"btn btn-{{theme}}\" (click)=\"reloadList()\"> <lib-icon iconName=\"lupa\" iconSize=\"medium-small\" /> </button>\n </div>\n }\n\n @if (list) {\n <li *ngIf=\"innerControl.value !== '' && innerControl.value !== null\" class=\"dropdown-item glb-cursor-pointer\" (click)=\"clearValue()\"> <span class=\"fw-bold\">Limpar op\u00E7\u00E3o selecionada</span> </li>\n @for (item of list | textFilter:textoPesquisa; track $index) {\n <li class=\"dropdown-item glb-cursor-pointer\" (click)=\"setValue(item)\">\n <span *ngIf=\"item.AdditionalStringProperty1 && item.AdditionalStringProperty1 !== ''\" class=\"glb-fs-12 d-inline-block w-125\" [class.fw-bold]=\"additionalStringBold\">\n {{ item.AdditionalStringProperty1 + (separator === undefined ? \"\" : \" \"+separator) }}\n </span> {{ item.LABEL }}\n </li>\n }\n @empty { <li class=\"dropdown-item fst-italic\">Nenhum registro encontrado com esta pesquisa...</li> }\n }\n @else { <li class=\"dropdown-item text-center\"> <div class=\"spinner-border\" role=\"status\"><span class=\"visually-hidden\">Carregando dados...</span></div> </li> }\n </ul>\n </div>\n\n <!-- Este elemento ng-content com o atributo [btnRight] permite que o usu\u00E1rio final forne\u00E7a conte\u00FAdo personalizado para ser exibido no lado direito do combobox de pesquisa.\n Ao usar o atributo [btnRight], o usu\u00E1rio pode facilmente adicionar bot\u00F5es ou outros elementos para melhorar a funcionalidade ou apar\u00EAncia do combobox de pesquisa. -->\n <ng-content select=\"[btnRight]\"></ng-content>\n</div>\n\n\n<!-- #region MENSAGEM DE ERRO DE VALIDA\u00C7\u00C3O -->\n<lib-error-message *ngIf=\"showErrorMessage && invalidControl\" customMessage=\"Este campo \u00E9 obrigat\u00F3rio.\" />\n<!-- #endregion MENSAGEM DE ERRO DE VALIDA\u00C7\u00C3O -->", styles: [".glb-max-height-350px{max-height:350px!important}.form-label{font-size:16px!important}.z-index-1020{z-index:1020!important}.cursor-pointer{cursor:pointer!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RequiredDirective, selector: "label[libRequired], span[libRequired], p[libRequired]", inputs: ["libRequired", "requiredID"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }, { kind: "component", type: FieldErrorMessageComponent, selector: "app-field-error-message, lib-error-message", inputs: ["customMessage", "control", "label"] }, { kind: "pipe", type: TextFilterPipe, name: "textFilter" }] }); }
7052
7124
  }
7053
7125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: LibComboboxComponent, decorators: [{
7054
7126
  type: Component,
@@ -7060,7 +7132,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
7060
7132
  LibIconsComponent,
7061
7133
  FieldErrorMessageComponent,
7062
7134
  TextFilterPipe,
7063
- ], template: "<!-- eslint-disable @angular-eslint/template/interactive-supports-focus -->\n<!-- eslint-disable @angular-eslint/template/click-events-have-key-events -->\n\n<label *ngIf=\"labelText && labelText !== ''\" class=\"form-label fw-bold d-flex align-items-center gap-1\" [id]=\"labelID\" [for]=\"comboboxID\" [libRequired]=\"isRequired\">\n <ng-content select=\"lib-icon[iconLeft]\"></ng-content>\n {{ labelText }}\n <ng-content select=\"lib-icon[iconRight]\"></ng-content>\n</label>\n\n<div class=\"input-group dropdown flex-fill glb-max-height-350px\">\n\n <!-- Este elemento ng-content com o atributo [btnLeft] permite que o usu\u00E1rio final forne\u00E7a conte\u00FAdo personalizado para ser exibido no lado esquerdo do combobox de pesquisa.\n Ao usar o atributo [btnLeft], o usu\u00E1rio pode facilmente adicionar bot\u00F5es ou outros elementos para melhorar a funcionalidade ou apar\u00EAncia do combobox de pesquisa. -->\n <ng-content select=\"[btnLeft]\"></ng-content>\n\n <input #mainInput class=\"form-select text-start rounded-end cursor-pointer\" type=\"text\"\n data-bs-toggle=\"dropdown\" data-bs-auto-close=\"outside\" aria-expanded=\"false\" readonly\n [placeholder]=\"mainPlaceholder\" [class.text-muted]=\"innerControl.value == null\" [formControl]=\"innerControl\" [class.is-invalid]=\"invalidControl\" [id]=\"comboboxID\"\n (click)=\"ariaExpanded = !ariaExpanded; focusSearchInput()\" (focus)=\"focusSearchInput()\">\n\n <ul #dropdownMenu class=\"dropdown-menu p-2 glb-max-height-350px overflow-y-scroll z-index-1020\" [class.show]=\"ariaExpanded\">\n @if(showSearchInput){\n <div class=\"input-group mb-2\">\n <input #searchInput type=\"text\" id=\"searchInput-{{comboboxID}}\" class=\"searchInput form-control glb-input-no-glow\" [placeholder]=\"searchPlaceholder\" (keyup.enter)=\"reloadList()\"\n [(ngModel)]=\"textoPesquisa\" (ngModelChange)=\"changePesquisa.emit(textoPesquisa)\" >\n <button class=\"btn btn-{{theme}}\" (click)=\"reloadList()\"> <lib-icon iconName=\"lupa\" iconSize=\"medium-small\" /> </button>\n </div>\n }\n\n @if (list) {\n <li *ngIf=\"innerControl.value !== '' && innerControl.value !== null\" class=\"dropdown-item glb-cursor-pointer\" (click)=\"clearValue()\"> <span class=\"fw-bold\">Limpar op\u00E7\u00E3o selecionada</span> </li>\n @for (item of list | textFilter:textoPesquisa; track $index) {\n <li class=\"dropdown-item glb-cursor-pointer\" (click)=\"setValue(item)\">\n <span *ngIf=\"item.AdditionalStringProperty1 && item.AdditionalStringProperty1 !== ''\" class=\"glb-fs-12 d-inline-block w-125\" [class.fw-bold]=\"additionalStringBold\">\n {{ item.AdditionalStringProperty1 + (separator === undefined ? \"\" : \" \"+separator) }}\n </span> {{ item.LABEL }}\n </li>\n }\n @empty { <li class=\"dropdown-item fst-italic\">Nenhum registro encontrado com esta pesquisa...</li> }\n }\n @else { <li class=\"dropdown-item text-center\"> <div class=\"spinner-border\" role=\"status\"><span class=\"visually-hidden\">Carregando dados...</span></div> </li> }\n </ul>\n\n <!-- Este elemento ng-content com o atributo [btnRight] permite que o usu\u00E1rio final forne\u00E7a conte\u00FAdo personalizado para ser exibido no lado direito do combobox de pesquisa.\n Ao usar o atributo [btnRight], o usu\u00E1rio pode facilmente adicionar bot\u00F5es ou outros elementos para melhorar a funcionalidade ou apar\u00EAncia do combobox de pesquisa. -->\n <ng-content select=\"[btnRight]\"></ng-content>\n\n</div>\n\n<!-- #region MENSAGEM DE ERRO DE VALIDA\u00C7\u00C3O -->\n<lib-error-message *ngIf=\"showErrorMessage && invalidControl\" customMessage=\"Este campo \u00E9 obrigat\u00F3rio.\" />\n<!-- #endregion MENSAGEM DE ERRO DE VALIDA\u00C7\u00C3O -->", styles: [".glb-max-height-350px{max-height:350px!important}.form-label{font-size:16px!important}.z-index-1020{z-index:1020!important}.cursor-pointer{cursor:pointer!important}.dropdown-menu{position:relative}\n"] }]
7135
+ ], template: "<!-- eslint-disable @angular-eslint/template/interactive-supports-focus -->\n<!-- eslint-disable @angular-eslint/template/click-events-have-key-events -->\n\n<label *ngIf=\"labelText && labelText !== ''\" class=\"form-label fw-bold d-flex align-items-center gap-1\" [id]=\"labelID\" [for]=\"comboboxID\" [libRequired]=\"isRequired\">\n <ng-content select=\"lib-icon[iconLeft]\"></ng-content>\n {{ labelText }}\n <ng-content select=\"lib-icon[iconRight]\"></ng-content>\n</label>\n\n\n<div class=\"input-group\">\n <!-- Este elemento ng-content com o atributo [btnLeft] permite que o usu\u00E1rio final forne\u00E7a conte\u00FAdo personalizado para ser exibido no lado esquerdo do combobox de pesquisa.\n Ao usar o atributo [btnLeft], o usu\u00E1rio pode facilmente adicionar bot\u00F5es ou outros elementos para melhorar a funcionalidade ou apar\u00EAncia do combobox de pesquisa. -->\n <ng-content select=\"[btnLeft]\"></ng-content>\n\n <div class=\"dropdown flex-fill glb-max-height-350px\">\n <input #mainInput class=\"form-select text-start rounded-end cursor-pointer\" type=\"text\"\n data-bs-toggle=\"dropdown\" data-bs-auto-close=\"outside\" aria-expanded=\"false\" readonly\n [placeholder]=\"mainPlaceholder\" [class.text-muted]=\"innerControl.value == null\" [formControl]=\"innerControl\" [class.is-invalid]=\"invalidControl\" [id]=\"comboboxID\"\n (click)=\"ariaExpanded = !ariaExpanded; focusSearchInput()\" (focus)=\"focusSearchInput()\"\n [class.rounded-start-0]=\"btnLeft\" [class.rounded-end-0]=\"btnLeft\" >\n\n <ul #dropdownMenu class=\"dropdown-menu p-2 glb-max-height-350px overflow-y-scroll z-index-1020\" [class.show]=\"ariaExpanded\">\n @if(showSearchInput){\n <div class=\"input-group mb-2\">\n <input #searchInput type=\"text\" id=\"searchInput-{{comboboxID}}\" class=\"searchInput form-control glb-input-no-glow\" [placeholder]=\"searchPlaceholder\" (keyup.enter)=\"reloadList()\"\n [(ngModel)]=\"textoPesquisa\" (ngModelChange)=\"changePesquisa.emit(textoPesquisa)\" >\n <button class=\"btn btn-{{theme}}\" (click)=\"reloadList()\"> <lib-icon iconName=\"lupa\" iconSize=\"medium-small\" /> </button>\n </div>\n }\n\n @if (list) {\n <li *ngIf=\"innerControl.value !== '' && innerControl.value !== null\" class=\"dropdown-item glb-cursor-pointer\" (click)=\"clearValue()\"> <span class=\"fw-bold\">Limpar op\u00E7\u00E3o selecionada</span> </li>\n @for (item of list | textFilter:textoPesquisa; track $index) {\n <li class=\"dropdown-item glb-cursor-pointer\" (click)=\"setValue(item)\">\n <span *ngIf=\"item.AdditionalStringProperty1 && item.AdditionalStringProperty1 !== ''\" class=\"glb-fs-12 d-inline-block w-125\" [class.fw-bold]=\"additionalStringBold\">\n {{ item.AdditionalStringProperty1 + (separator === undefined ? \"\" : \" \"+separator) }}\n </span> {{ item.LABEL }}\n </li>\n }\n @empty { <li class=\"dropdown-item fst-italic\">Nenhum registro encontrado com esta pesquisa...</li> }\n }\n @else { <li class=\"dropdown-item text-center\"> <div class=\"spinner-border\" role=\"status\"><span class=\"visually-hidden\">Carregando dados...</span></div> </li> }\n </ul>\n </div>\n\n <!-- Este elemento ng-content com o atributo [btnRight] permite que o usu\u00E1rio final forne\u00E7a conte\u00FAdo personalizado para ser exibido no lado direito do combobox de pesquisa.\n Ao usar o atributo [btnRight], o usu\u00E1rio pode facilmente adicionar bot\u00F5es ou outros elementos para melhorar a funcionalidade ou apar\u00EAncia do combobox de pesquisa. -->\n <ng-content select=\"[btnRight]\"></ng-content>\n</div>\n\n\n<!-- #region MENSAGEM DE ERRO DE VALIDA\u00C7\u00C3O -->\n<lib-error-message *ngIf=\"showErrorMessage && invalidControl\" customMessage=\"Este campo \u00E9 obrigat\u00F3rio.\" />\n<!-- #endregion MENSAGEM DE ERRO DE VALIDA\u00C7\u00C3O -->", styles: [".glb-max-height-350px{max-height:350px!important}.form-label{font-size:16px!important}.z-index-1020{z-index:1020!important}.cursor-pointer{cursor:pointer!important}\n"] }]
7064
7136
  }], ctorParameters: () => [], propDecorators: { control: [{
7065
7137
  type: Input,
7066
7138
  args: [{ required: true }]
@@ -7093,6 +7165,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
7093
7165
  type: Output
7094
7166
  }], changePesquisa: [{
7095
7167
  type: Output
7168
+ }], btnLeft: [{
7169
+ type: ContentChild,
7170
+ args: [BtnLeftDirective]
7171
+ }], btnRight: [{
7172
+ type: ContentChild,
7173
+ args: [BtnRightDirective]
7096
7174
  }], _mainInput: [{
7097
7175
  type: ViewChild,
7098
7176
  args: ['mainInput']
@@ -10171,6 +10249,8 @@ class InfraModule {
10171
10249
  InnerRowsDirective,
10172
10250
  LibComboboxReworkComponent,
10173
10251
  ContadorCaracteresComponent,
10252
+ BtnLeftDirective,
10253
+ BtnRightDirective,
10174
10254
  PageNotAuthorizedComponent], exports: [LoadingComponent,
10175
10255
  FieldControlErrorComponent,
10176
10256
  FieldErrorMessageComponent,
@@ -10242,6 +10322,8 @@ class InfraModule {
10242
10322
  InnerRowsDirective,
10243
10323
  LibComboboxReworkComponent,
10244
10324
  ContadorCaracteresComponent,
10325
+ BtnLeftDirective,
10326
+ BtnRightDirective,
10245
10327
  PageNotAuthorizedComponent] }); }
10246
10328
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: InfraModule, imports: [CommonModule,
10247
10329
  ModalModule.forRoot(),
@@ -10369,6 +10451,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
10369
10451
  InnerRowsDirective,
10370
10452
  LibComboboxReworkComponent,
10371
10453
  ContadorCaracteresComponent,
10454
+ BtnLeftDirective,
10455
+ BtnRightDirective,
10372
10456
  PageNotAuthorizedComponent
10373
10457
  ],
10374
10458
  exports: [
@@ -10443,6 +10527,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
10443
10527
  InnerRowsDirective,
10444
10528
  LibComboboxReworkComponent,
10445
10529
  ContadorCaracteresComponent,
10530
+ BtnLeftDirective,
10531
+ BtnRightDirective,
10446
10532
  PageNotAuthorizedComponent
10447
10533
  ],
10448
10534
  providers: [],
@@ -10522,7 +10608,9 @@ class LibDirectivesModule {
10522
10608
  RequiredDirective,
10523
10609
  TextTruncateDirective,
10524
10610
  A11yClickDirective,
10525
- InnerRowsDirective], exports: [ClickOutsideDirective,
10611
+ InnerRowsDirective,
10612
+ BtnLeftDirective,
10613
+ BtnRightDirective], exports: [ClickOutsideDirective,
10526
10614
  CopyClipboardDirective,
10527
10615
  DisableControlDirective,
10528
10616
  HighlightDirective,
@@ -10530,7 +10618,9 @@ class LibDirectivesModule {
10530
10618
  RequiredDirective,
10531
10619
  TextTruncateDirective,
10532
10620
  A11yClickDirective,
10533
- InnerRowsDirective] }); }
10621
+ InnerRowsDirective,
10622
+ BtnLeftDirective,
10623
+ BtnRightDirective] }); }
10534
10624
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: LibDirectivesModule, imports: [CommonModule,
10535
10625
  ModalModule.forRoot(),
10536
10626
  AccordionModule.forRoot(),
@@ -10564,6 +10654,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
10564
10654
  TextTruncateDirective,
10565
10655
  A11yClickDirective,
10566
10656
  InnerRowsDirective,
10657
+ BtnLeftDirective,
10658
+ BtnRightDirective,
10567
10659
  ],
10568
10660
  exports: [
10569
10661
  ClickOutsideDirective,
@@ -10575,6 +10667,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
10575
10667
  TextTruncateDirective,
10576
10668
  A11yClickDirective,
10577
10669
  InnerRowsDirective,
10670
+ BtnLeftDirective,
10671
+ BtnRightDirective,
10578
10672
  ]
10579
10673
  }]
10580
10674
  }] });
@@ -12027,5 +12121,5 @@ class TreeItem {
12027
12121
  * Generated bundle index. Do not edit.
12028
12122
  */
12029
12123
 
12030
- export { A11yClickDirective, AlertComponent, AppliedFiltersComponent, AuditoriaButtonComponent, BasicFilters, BreadcrumbComponent, CheckUrlAndMethodService, ClickOutsideDirective, ComboboxComponent, ComboboxMultipleChoiceComponent, ConfirmComponent, ConfirmModalComponent, ContadorCaracteresComponent, ContainerTabsModel, ContentContainerComponent, CopyClipboardDirective, CpfCnpjPipe, CpfCnpjValidator, CpfCnpjValidatorDirective, CurrencyPipe, CustomAcordionComponent, CustomFormControl, DecimalCommaPipe, DialogCropperComponent, DisableControlDirective, DownloadArquivos, DropdownOptionsComponent, DynamicInputComponent, EmailAnexoRecord, EmailModel, EmpresaAbasComponent, EnderecoByCep, EstabelecimentoAbasComponent, FieldContadorMessageComponent, FieldControlErrorComponent, FieldErrorMessageComponent, FileModel, FileService, FilterByPipe, FilterMultipleChoicePipe, FiltrosAplicadosModel, FiltrosAplicadosService, FooterComponent, FormUtils, FormatByTypePipe, GenericModalComponent, GlobalLoadingService, GrupoContabilAbasComponent, HighlightDirective, IconsList, ImageCropperComponent, InfraBreadcrumbComponent, InfraBreadcrumbItemComponent, InfraEstabelecimentoFavoritoDefault, InfraModule, InfraSegConfig, InfraSegConfigRecord, InnerListComponent, InnerRowsDirective, InputTrimComponent, IpServiceService, ItemsAbasComponent, LibComboboxComponent, LibComboboxReworkComponent, LibCustomizableTableComponent, LibDateRangePickerComponent, LibDirectivesModule, LibHeaderComponent, LibIconsComponent, LibNavProdutosComponent, LibPipesModule, LibSimplifiedTableComponent, LibSpinnerComponent, LibTransferListComponent, LibWidgetsModule, LimitToPipe, LoadingBtnDirective, LoadingButtonComponent, LoadingComponent, LoadingScreenComponent, MenuSubmenuTela, MessageService, ModalUtilsService, MultiStatusList, NavItem, NavProdutosComponent, NavigationOptions, OrderSortPipe, OrderingComponent, PageNotAuthorizedComponent, PaginationComponent, Params, PasswordPolicyComponent, PessoaAbasComponent, PhoneFormatPipe, RecordCombobox, ReportFile, RequiredDirective, RetBoolean, RetCep, RetError, RetEstabelecimentosModal, RetFeedbackMessage, RetInfraSegConfig, RetNumber, RetObjectList, RetRecordCombobox, RetRecordsCombobox, RetReportFile, RetString, RetStringList, RetTree, SaveComponent, SearchComboboxComponent, SearchFiltersComponent, SearchInputComponent, SearchTreePipe, SettingsService, SideTabsGenericComponent, SimpleSearchComponent, TableComponent, TableHeaderIcon, TableHeaderStructure, TableSelectionService, TextFilterPipe, TextTruncateDirective, TitleCasePipe, ToUrlPipe, TransferListConfig, TreeComponent, TreeItem, UsuarioAbasComponent, Utils, alertIds, alertTypes };
12124
+ export { A11yClickDirective, AlertComponent, AppliedFiltersComponent, AuditoriaButtonComponent, BasicFilters, BreadcrumbComponent, BtnLeftDirective, BtnRightDirective, CheckUrlAndMethodService, ClickOutsideDirective, ComboboxComponent, ComboboxMultipleChoiceComponent, ConfirmComponent, ConfirmModalComponent, ContadorCaracteresComponent, ContainerTabsModel, ContentContainerComponent, CopyClipboardDirective, CpfCnpjPipe, CpfCnpjValidator, CpfCnpjValidatorDirective, CurrencyPipe, CustomAcordionComponent, CustomFormControl, DecimalCommaPipe, DialogCropperComponent, DisableControlDirective, DownloadArquivos, DropdownOptionsComponent, DynamicInputComponent, EmailAnexoRecord, EmailModel, EmpresaAbasComponent, EnderecoByCep, EstabelecimentoAbasComponent, FieldContadorMessageComponent, FieldControlErrorComponent, FieldErrorMessageComponent, FileModel, FileService, FilterByPipe, FilterMultipleChoicePipe, FiltrosAplicadosModel, FiltrosAplicadosService, FooterComponent, FormUtils, FormatByTypePipe, GenericModalComponent, GlobalLoadingService, GrupoContabilAbasComponent, HighlightDirective, IconsList, ImageCropperComponent, InfraBreadcrumbComponent, InfraBreadcrumbItemComponent, InfraEstabelecimentoFavoritoDefault, InfraModule, InfraSegConfig, InfraSegConfigRecord, InnerListComponent, InnerRowsDirective, InputTrimComponent, IpServiceService, ItemsAbasComponent, LibComboboxComponent, LibComboboxReworkComponent, LibCustomizableTableComponent, LibDateRangePickerComponent, LibDirectivesModule, LibHeaderComponent, LibIconsComponent, LibNavProdutosComponent, LibPipesModule, LibSimplifiedTableComponent, LibSpinnerComponent, LibTransferListComponent, LibWidgetsModule, LimitToPipe, LoadingBtnDirective, LoadingButtonComponent, LoadingComponent, LoadingScreenComponent, MenuSubmenuTela, MessageService, ModalUtilsService, MultiStatusList, NavItem, NavProdutosComponent, NavigationOptions, OrderSortPipe, OrderingComponent, PageNotAuthorizedComponent, PaginationComponent, Params, PasswordPolicyComponent, PessoaAbasComponent, PhoneFormatPipe, RecordCombobox, ReportFile, RequiredDirective, RetBoolean, RetCep, RetError, RetEstabelecimentosModal, RetFeedbackMessage, RetInfraSegConfig, RetNumber, RetObjectList, RetRecordCombobox, RetRecordsCombobox, RetReportFile, RetString, RetStringList, RetTree, SaveComponent, SearchComboboxComponent, SearchFiltersComponent, SearchInputComponent, SearchTreePipe, SettingsService, SideTabsGenericComponent, SimpleSearchComponent, TableComponent, TableHeaderIcon, TableHeaderStructure, TableSelectionService, TextFilterPipe, TextTruncateDirective, TitleCasePipe, ToUrlPipe, TransferListConfig, TreeComponent, TreeItem, UsuarioAbasComponent, Utils, alertIds, alertTypes };
12031
12125
  //# sourceMappingURL=ngx-sp-infra.mjs.map