@po-ui/ng-components 19.28.0-beta.1 → 19.28.1

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.
@@ -11993,10 +11993,7 @@ class PoDropdownComponent extends PoDropdownBaseComponent {
11993
11993
  hideDropdown() {
11994
11994
  this.icon = 'ICON_ARROW_DOWN';
11995
11995
  this.removeListeners();
11996
- if (this.popupRef.showPopup) {
11997
- this.popupRef.close();
11998
- }
11999
- this.dropdownRef.nativeElement.focus();
11996
+ this.popupRef.close();
12000
11997
  this.open = false;
12001
11998
  this.changeDetector.detectChanges();
12002
11999
  }
@@ -12041,11 +12038,11 @@ class PoDropdownComponent extends PoDropdownBaseComponent {
12041
12038
  }
12042
12039
  }
12043
12040
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PoDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
12044
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.7", type: PoDropdownComponent, isStandalone: false, selector: "po-dropdown", viewQueries: [{ propertyName: "dropdownRef", first: true, predicate: ["dropdownRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "popupRef", first: true, predicate: ["popupRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n #dropdownRef\n class=\"po-dropdown\"\n [class.po-dropdown-aa]=\"size === 'small'\"\n [attr.disabled]=\"disabled\"\n tabindex=\"{{ disabled ? -1 : 0 }}\"\n (click)=\"toggleDropdown()\"\n (keydown)=\"onKeyDown($event)\"\n>\n <div\n class=\"po-dropdown-button\"\n [class.po-dropdown-button-aa]=\"size === 'small'\"\n [ngClass]=\"{ 'po-dropdown-button-disabled': disabled, 'po-dropdown-button-open': open }\"\n >\n <span>{{ label }}</span>\n <po-icon class=\"po-dropdown-icon\" [class.po-dropdown-icon-aa]=\"size === 'small'\" [p-icon]=\"icon\"></po-icon>\n </div>\n</div>\n\n<po-popup\n #popupRef\n p-hide-arrow\n p-is-corner-align\n p-position=\"bottom-left\"\n [p-actions]=\"actions\"\n [p-custom-positions]=\"['bottom-left', 'top-left']\"\n [p-size]=\"size\"\n [p-target]=\"dropdownRef\"\n (p-close)=\"hideDropdown()\"\n>\n</po-popup>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: PoPopupComponent, selector: "po-popup" }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12041
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.7", type: PoDropdownComponent, isStandalone: false, selector: "po-dropdown", viewQueries: [{ propertyName: "dropdownRef", first: true, predicate: ["dropdownRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "popupRef", first: true, predicate: ["popupRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n #dropdownRef\n class=\"po-dropdown\"\n [class.po-dropdown-aa]=\"size === 'small'\"\n [attr.disabled]=\"disabled\"\n tabindex=\"{{ disabled ? -1 : 0 }}\"\n (click)=\"toggleDropdown()\"\n (keydown)=\"onKeyDown($event)\"\n>\n <div\n class=\"po-dropdown-button\"\n [class.po-dropdown-button-aa]=\"size === 'small'\"\n [ngClass]=\"{ 'po-dropdown-button-disabled': disabled, 'po-dropdown-button-open': open }\"\n >\n <span>{{ label }}</span>\n <po-icon class=\"po-dropdown-icon\" [class.po-dropdown-icon-aa]=\"size === 'small'\" [p-icon]=\"icon\"></po-icon>\n </div>\n</div>\n\n<po-popup\n #popupRef\n p-hide-arrow\n p-is-corner-align\n p-position=\"bottom-left\"\n [p-actions]=\"actions\"\n [p-custom-positions]=\"['bottom-left', 'top-left']\"\n [p-size]=\"size\"\n [p-target]=\"dropdownRef\"\n>\n</po-popup>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: PoPopupComponent, selector: "po-popup" }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12045
12042
  }
12046
12043
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PoDropdownComponent, decorators: [{
12047
12044
  type: Component,
12048
- args: [{ selector: 'po-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div\n #dropdownRef\n class=\"po-dropdown\"\n [class.po-dropdown-aa]=\"size === 'small'\"\n [attr.disabled]=\"disabled\"\n tabindex=\"{{ disabled ? -1 : 0 }}\"\n (click)=\"toggleDropdown()\"\n (keydown)=\"onKeyDown($event)\"\n>\n <div\n class=\"po-dropdown-button\"\n [class.po-dropdown-button-aa]=\"size === 'small'\"\n [ngClass]=\"{ 'po-dropdown-button-disabled': disabled, 'po-dropdown-button-open': open }\"\n >\n <span>{{ label }}</span>\n <po-icon class=\"po-dropdown-icon\" [class.po-dropdown-icon-aa]=\"size === 'small'\" [p-icon]=\"icon\"></po-icon>\n </div>\n</div>\n\n<po-popup\n #popupRef\n p-hide-arrow\n p-is-corner-align\n p-position=\"bottom-left\"\n [p-actions]=\"actions\"\n [p-custom-positions]=\"['bottom-left', 'top-left']\"\n [p-size]=\"size\"\n [p-target]=\"dropdownRef\"\n (p-close)=\"hideDropdown()\"\n>\n</po-popup>\n" }]
12045
+ args: [{ selector: 'po-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div\n #dropdownRef\n class=\"po-dropdown\"\n [class.po-dropdown-aa]=\"size === 'small'\"\n [attr.disabled]=\"disabled\"\n tabindex=\"{{ disabled ? -1 : 0 }}\"\n (click)=\"toggleDropdown()\"\n (keydown)=\"onKeyDown($event)\"\n>\n <div\n class=\"po-dropdown-button\"\n [class.po-dropdown-button-aa]=\"size === 'small'\"\n [ngClass]=\"{ 'po-dropdown-button-disabled': disabled, 'po-dropdown-button-open': open }\"\n >\n <span>{{ label }}</span>\n <po-icon class=\"po-dropdown-icon\" [class.po-dropdown-icon-aa]=\"size === 'small'\" [p-icon]=\"icon\"></po-icon>\n </div>\n</div>\n\n<po-popup\n #popupRef\n p-hide-arrow\n p-is-corner-align\n p-position=\"bottom-left\"\n [p-actions]=\"actions\"\n [p-custom-positions]=\"['bottom-left', 'top-left']\"\n [p-size]=\"size\"\n [p-target]=\"dropdownRef\"\n>\n</po-popup>\n" }]
12049
12046
  }], propDecorators: { dropdownRef: [{
12050
12047
  type: ViewChild,
12051
12048
  args: ['dropdownRef', { read: ElementRef, static: true }]
@@ -15899,11 +15896,11 @@ class PoModalComponent extends PoModalBaseComponent {
15899
15896
  this.modalContent.nativeElement.querySelector(this.focusableElements) || this.modalContent.nativeElement;
15900
15897
  }
15901
15898
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PoModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15902
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.7", type: PoModalComponent, isStandalone: false, selector: "po-modal", queries: [{ propertyName: "modalFooter", first: true, predicate: PoModalFooterComponent, descendants: true }], viewQueries: [{ propertyName: "modalContent", first: true, predicate: ["modalContent"], descendants: true, read: ElementRef }, { propertyName: "modalContainer", first: true, predicate: ["modalContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "@if (!isHidden) {\n <div #modalContainer class=\"po-modal\" tabindex=\"0\" (keydown.esc)=\"closeModalOnEscapeKey($event)\">\n <div class=\"po-modal-overlay\" (mousedown)=\"onClickOut($event)\"></div>\n <div class=\"po-modal-container po-pb-2 po-pt-2\">\n <div class=\"po-modal-vertical-align\">\n <div #modalContent class=\"po-modal-content po-modal-{{ size }}\" tabindex=\"-1\">\n <div class=\"po-modal-header\">\n <div class=\"po-modal-title po-text-ellipsis\">\n @if (icon) {\n <po-icon [p-icon]=\"icon\"></po-icon>\n }\n <div class=\"po-text-ellipsis\">\n {{ title }}\n </div>\n </div>\n @if (!hideClose) {\n <po-button\n [p-aria-label]=\"literals.close\"\n p-icon=\"ICON_CLOSE\"\n (p-click)=\"close(true)\"\n p-kind=\"tertiary\"\n [p-size]=\"componentsSize\"\n >\n </po-button>\n }\n </div>\n <div class=\"po-modal-body\">\n <ng-content></ng-content>\n </div>\n @if (modalFooter) {\n <ng-content select=\"po-modal-footer\"></ng-content>\n } @else {\n <po-modal-footer>\n <div class=\"po-modal-footer-basic\">\n @if (secondaryAction) {\n <po-button\n [p-danger]=\"getSecondaryActionButtonDanger()\"\n [p-disabled]=\"secondaryAction.disabled\"\n [p-icon]=\"secondaryAction.icon\"\n [p-label]=\"secondaryAction.label\"\n [p-loading]=\"secondaryAction.loading\"\n p-kind=\"secondary\"\n [p-size]=\"componentsSize\"\n (p-click)=\"secondaryAction.action()\"\n >\n </po-button>\n }\n <po-button\n class=\"po-button-modal-first-action\"\n [p-danger]=\"primaryAction.danger\"\n [p-disabled]=\"primaryAction.disabled\"\n [p-icon]=\"primaryAction.icon\"\n [p-label]=\"primaryAction.label\"\n [p-loading]=\"primaryAction.loading\"\n p-kind=\"primary\"\n [p-size]=\"componentsSize\"\n (p-click)=\"primaryAction.action()\"\n >\n </po-button>\n </div>\n </po-modal-footer>\n }\n </div>\n </div>\n </div>\n </div>\n}\n", dependencies: [{ kind: "component", type: PoButtonComponent, selector: "po-button" }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoModalFooterComponent, selector: "po-modal-footer", inputs: ["p-disabled-align"] }] });
15899
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.7", type: PoModalComponent, isStandalone: false, selector: "po-modal", queries: [{ propertyName: "modalFooter", first: true, predicate: PoModalFooterComponent, descendants: true }], viewQueries: [{ propertyName: "modalContent", first: true, predicate: ["modalContent"], descendants: true, read: ElementRef }, { propertyName: "modalContainer", first: true, predicate: ["modalContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "@if (!isHidden) {\n <div #modalContainer class=\"po-modal\" tabindex=\"0\" (keydown.esc)=\"closeModalOnEscapeKey($event)\">\n <div class=\"po-modal-overlay\" (mousedown)=\"onClickOut($event)\"></div>\n <div class=\"po-modal-container po-pb-2 po-pt-2\">\n <div class=\"po-modal-vertical-align\">\n <div #modalContent class=\"po-modal-content po-modal-{{ size }}\" tabindex=\"-1\">\n <div class=\"po-modal-header\">\n <div class=\"po-modal-title po-text-ellipsis\">\n @if (icon) {\n <po-icon [p-icon]=\"icon\"></po-icon>\n }\n <div class=\"po-text-ellipsis\">\n {{ title }}\n </div>\n </div>\n @if (!hideClose) {\n <po-button\n [p-aria-label]=\"literals.close\"\n p-icon=\"ICON_CLOSE\"\n (p-click)=\"close(true)\"\n p-kind=\"tertiary\"\n [p-size]=\"componentsSize\"\n >\n </po-button>\n }\n </div>\n <div class=\"po-modal-body\">\n <ng-content></ng-content>\n </div>\n @if (modalFooter) {\n <ng-content select=\"po-modal-footer\"></ng-content>\n } @else {\n <po-modal-footer>\n <div class=\"po-modal-footer-basic\">\n @if (secondaryAction) {\n <po-button\n [p-danger]=\"getSecondaryActionButtonDanger()\"\n [p-disabled]=\"secondaryAction.disabled\"\n [p-label]=\"secondaryAction.label\"\n [p-loading]=\"secondaryAction.loading\"\n p-kind=\"secondary\"\n [p-size]=\"componentsSize\"\n (p-click)=\"secondaryAction.action()\"\n >\n </po-button>\n }\n <po-button\n class=\"po-button-modal-first-action\"\n [p-danger]=\"primaryAction.danger\"\n [p-disabled]=\"primaryAction.disabled\"\n [p-label]=\"primaryAction.label\"\n [p-loading]=\"primaryAction.loading\"\n p-kind=\"primary\"\n [p-size]=\"componentsSize\"\n (p-click)=\"primaryAction.action()\"\n >\n </po-button>\n </div>\n </po-modal-footer>\n }\n </div>\n </div>\n </div>\n </div>\n}\n", dependencies: [{ kind: "component", type: PoButtonComponent, selector: "po-button" }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoModalFooterComponent, selector: "po-modal-footer", inputs: ["p-disabled-align"] }] });
15903
15900
  }
15904
15901
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PoModalComponent, decorators: [{
15905
15902
  type: Component,
15906
- args: [{ selector: 'po-modal', standalone: false, template: "@if (!isHidden) {\n <div #modalContainer class=\"po-modal\" tabindex=\"0\" (keydown.esc)=\"closeModalOnEscapeKey($event)\">\n <div class=\"po-modal-overlay\" (mousedown)=\"onClickOut($event)\"></div>\n <div class=\"po-modal-container po-pb-2 po-pt-2\">\n <div class=\"po-modal-vertical-align\">\n <div #modalContent class=\"po-modal-content po-modal-{{ size }}\" tabindex=\"-1\">\n <div class=\"po-modal-header\">\n <div class=\"po-modal-title po-text-ellipsis\">\n @if (icon) {\n <po-icon [p-icon]=\"icon\"></po-icon>\n }\n <div class=\"po-text-ellipsis\">\n {{ title }}\n </div>\n </div>\n @if (!hideClose) {\n <po-button\n [p-aria-label]=\"literals.close\"\n p-icon=\"ICON_CLOSE\"\n (p-click)=\"close(true)\"\n p-kind=\"tertiary\"\n [p-size]=\"componentsSize\"\n >\n </po-button>\n }\n </div>\n <div class=\"po-modal-body\">\n <ng-content></ng-content>\n </div>\n @if (modalFooter) {\n <ng-content select=\"po-modal-footer\"></ng-content>\n } @else {\n <po-modal-footer>\n <div class=\"po-modal-footer-basic\">\n @if (secondaryAction) {\n <po-button\n [p-danger]=\"getSecondaryActionButtonDanger()\"\n [p-disabled]=\"secondaryAction.disabled\"\n [p-icon]=\"secondaryAction.icon\"\n [p-label]=\"secondaryAction.label\"\n [p-loading]=\"secondaryAction.loading\"\n p-kind=\"secondary\"\n [p-size]=\"componentsSize\"\n (p-click)=\"secondaryAction.action()\"\n >\n </po-button>\n }\n <po-button\n class=\"po-button-modal-first-action\"\n [p-danger]=\"primaryAction.danger\"\n [p-disabled]=\"primaryAction.disabled\"\n [p-icon]=\"primaryAction.icon\"\n [p-label]=\"primaryAction.label\"\n [p-loading]=\"primaryAction.loading\"\n p-kind=\"primary\"\n [p-size]=\"componentsSize\"\n (p-click)=\"primaryAction.action()\"\n >\n </po-button>\n </div>\n </po-modal-footer>\n }\n </div>\n </div>\n </div>\n </div>\n}\n" }]
15903
+ args: [{ selector: 'po-modal', standalone: false, template: "@if (!isHidden) {\n <div #modalContainer class=\"po-modal\" tabindex=\"0\" (keydown.esc)=\"closeModalOnEscapeKey($event)\">\n <div class=\"po-modal-overlay\" (mousedown)=\"onClickOut($event)\"></div>\n <div class=\"po-modal-container po-pb-2 po-pt-2\">\n <div class=\"po-modal-vertical-align\">\n <div #modalContent class=\"po-modal-content po-modal-{{ size }}\" tabindex=\"-1\">\n <div class=\"po-modal-header\">\n <div class=\"po-modal-title po-text-ellipsis\">\n @if (icon) {\n <po-icon [p-icon]=\"icon\"></po-icon>\n }\n <div class=\"po-text-ellipsis\">\n {{ title }}\n </div>\n </div>\n @if (!hideClose) {\n <po-button\n [p-aria-label]=\"literals.close\"\n p-icon=\"ICON_CLOSE\"\n (p-click)=\"close(true)\"\n p-kind=\"tertiary\"\n [p-size]=\"componentsSize\"\n >\n </po-button>\n }\n </div>\n <div class=\"po-modal-body\">\n <ng-content></ng-content>\n </div>\n @if (modalFooter) {\n <ng-content select=\"po-modal-footer\"></ng-content>\n } @else {\n <po-modal-footer>\n <div class=\"po-modal-footer-basic\">\n @if (secondaryAction) {\n <po-button\n [p-danger]=\"getSecondaryActionButtonDanger()\"\n [p-disabled]=\"secondaryAction.disabled\"\n [p-label]=\"secondaryAction.label\"\n [p-loading]=\"secondaryAction.loading\"\n p-kind=\"secondary\"\n [p-size]=\"componentsSize\"\n (p-click)=\"secondaryAction.action()\"\n >\n </po-button>\n }\n <po-button\n class=\"po-button-modal-first-action\"\n [p-danger]=\"primaryAction.danger\"\n [p-disabled]=\"primaryAction.disabled\"\n [p-label]=\"primaryAction.label\"\n [p-loading]=\"primaryAction.loading\"\n p-kind=\"primary\"\n [p-size]=\"componentsSize\"\n (p-click)=\"primaryAction.action()\"\n >\n </po-button>\n </div>\n </po-modal-footer>\n }\n </div>\n </div>\n </div>\n </div>\n}\n" }]
15907
15904
  }], ctorParameters: () => [], propDecorators: { modalContent: [{
15908
15905
  type: ViewChild,
15909
15906
  args: ['modalContent', { read: ElementRef }]
@@ -50813,13 +50810,13 @@ class PoContextTabsComponent extends PoTabsComponent {
50813
50810
  }
50814
50811
  if (!currentTab) {
50815
50812
  this.initialTabsWidth.push({ id: tab.nativeElement.id, width: tab.nativeElement.offsetWidth });
50816
- if (index > quantityTabs - 1) {
50813
+ if (index > quantityTabs) {
50817
50814
  tab.nativeElement.style.display = 'none';
50818
50815
  tab.nativeElement.hidden = true;
50819
50816
  }
50820
50817
  this.tabsChildren['_results'] = this.tabsChildren['_results'].filter(item => !item.removed);
50821
50818
  }
50822
- if (tab.nativeElement.hidden && index <= quantityTabs - 1)
50819
+ if (tab.nativeElement.hidden && index <= quantityTabs)
50823
50820
  return;
50824
50821
  index++;
50825
50822
  });
@@ -54844,11 +54841,15 @@ const NO_MESSAGE_HEADER_PARAM = 'X-PO-No-Message';
54844
54841
  *
54845
54842
  * ## Configuração
54846
54843
  *
54847
- * Para o correto funcionamento do interceptor `po-http-interceptor`, deve ser importado o `BrowserAnimationsModule` no
54848
- * módulo principal da sua aplicação. Além disso, é necessário configurar o `HttpClient` para utilizar os interceptors
54849
- * registrados no Dependency Injection (DI) por meio da função `provideHttpClient(withInterceptorsFromDi())`.
54844
+ * Para o correto funcionamento do interceptor `po-http-interceptor`, deve ser importado o `BrowserAnimationsModule` na
54845
+ * aplicação. Além disso, é necessário configurar o `HttpClient` para utilizar os interceptors registrados via Dependency
54846
+ * Injection (DI) por meio da função `provideHttpClient(withInterceptorsFromDi())`.
54847
+ *
54848
+ * ### 1) NgModule
54849
+ *
54850
+ * No módulo principal da aplicação (geralmente `AppModule`), importe o `BrowserAnimationsModule` e configure o `HttpClient`,
54851
+ * como no exemplo abaixo:
54850
54852
  *
54851
- * Módulo da aplicação:
54852
54853
  * ```
54853
54854
  * import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
54854
54855
  * import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
@@ -54878,6 +54879,32 @@ const NO_MESSAGE_HEADER_PARAM = 'X-PO-No-Message';
54878
54879
  * Ao importar o módulo `PoModule` na aplicação, o `po-http-interceptor` é automaticamente configurado sem a necessidade
54879
54880
  * de qualquer configuração extra.
54880
54881
  *
54882
+ * ### 2) Standalone
54883
+ *
54884
+ * No arquivo contendo a configuração da aplicação (geralmente `src/app/app.config.ts`), adicione os providers e configure o `HttpClient`,
54885
+ * como no exemplo abaixo:
54886
+ *
54887
+ * ```
54888
+ * import { ApplicationConfig, importProvidersFrom } from '@angular/core';
54889
+ * import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
54890
+ * import { provideAnimations } from '@angular/platform-browser/animations';
54891
+ * import { PoHttpInterceptorModule } from '@po-ui/ng-components';
54892
+ *
54893
+ * export const appConfig: ApplicationConfig = {
54894
+ * providers: [
54895
+ * ...
54896
+ * provideAnimations(),
54897
+ * provideHttpClient(withInterceptorsFromDi()),
54898
+ * importProvidersFrom([
54899
+ * PoHttpInterceptorModule
54900
+ * ]),
54901
+ * ...
54902
+ * ]
54903
+ * };
54904
+ * ```
54905
+ *
54906
+ * ## Como usar
54907
+ *
54881
54908
  * Ao realizar requisições utilize o `HttpClient`, conforme exemplo abaixo:
54882
54909
  *
54883
54910
  * ```
@@ -54901,8 +54928,6 @@ const NO_MESSAGE_HEADER_PARAM = 'X-PO-No-Message';
54901
54928
  * }
54902
54929
  * ```
54903
54930
  *
54904
- * ## Como usar
54905
- *
54906
54931
  * Para exibir as noticações é necessário informar a mensagem no retorno da requisição. A estrutura da mensagem
54907
54932
  * é feita com base no status da resposta, conforme será apresentado nos próximos tópicos.
54908
54933
  *
@@ -55206,9 +55231,63 @@ const screenLock = 'X-PO-Screen-Lock';
55206
55231
  * ```
55207
55232
  * > Após a validação no interceptor, o parâmetro será removido do cabeçalho da requisição.
55208
55233
  *
55234
+ * ## Configuração
55235
+ *
55236
+ * É necessário configurar o `HttpClient` para utilizar os interceptors registrados via Dependency Injection (DI)
55237
+ * por meio da função `provideHttpClient(withInterceptorsFromDi())`.
55238
+ *
55239
+ * ### 1) NgModule
55240
+ *
55241
+ * ```
55242
+ * import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
55243
+ * import { PoModule } from '@po-ui/ng-components';
55244
+ * ...
55245
+ *
55246
+ * @NgModule({
55247
+ * imports: [
55248
+ * ...
55249
+ * PoModule
55250
+ * ],
55251
+ * declarations: [
55252
+ * AppComponent,
55253
+ * ...
55254
+ * ],
55255
+ * providers: [
55256
+ * provideHttpClient(withInterceptorsFromDi()),
55257
+ * ...
55258
+ * ],
55259
+ * bootstrap: [AppComponent]
55260
+ * })
55261
+ * export class AppModule { }
55262
+ * ```
55263
+ *
55209
55264
  * Ao importar o módulo `PoModule` na aplicação, o `po-http-request-interceptor` é automaticamente configurado sem a necessidade
55210
55265
  * de qualquer configuração extra.
55211
55266
  *
55267
+ * ### 2) Standalone
55268
+ *
55269
+ * No arquivo contendo a configuração da aplicação (geralmente `src/app/app.config.ts`), adicione os providers e configure o `HttpClient`,
55270
+ * como no exemplo abaixo:
55271
+ *
55272
+ * ```
55273
+ * import { ApplicationConfig, importProvidersFrom } from '@angular/core';
55274
+ * import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
55275
+ * import { provideAnimations } from '@angular/platform-browser/animations';
55276
+ * import { PoHttpRequestModule } from '@po-ui/ng-components';
55277
+ *
55278
+ * export const appConfig: ApplicationConfig = {
55279
+ * providers: [
55280
+ * ...
55281
+ * provideHttpClient(withInterceptorsFromDi()),
55282
+ * importProvidersFrom([
55283
+ * PoHttpRequestModule
55284
+ * ]),
55285
+ * ...
55286
+ * ]
55287
+ * };
55288
+ * ```
55289
+ *
55290
+ * ## Como usar
55212
55291
  *
55213
55292
  * Segue abaixo um exemplo de uso:
55214
55293
  *