@po-ui/ng-components 20.11.0 → 20.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/fesm2022/po-ui-ng-components.mjs +489 -95
  2. package/fesm2022/po-ui-ng-components.mjs.map +1 -1
  3. package/index.d.ts +318 -72
  4. package/lib/components/po-accordion/po-accordion-base.component.d.ts +17 -0
  5. package/lib/components/po-chart/enums/po-chart-type.enum.d.ts +5 -1
  6. package/lib/components/po-chart/index.d.ts +4 -4
  7. package/lib/components/po-chart/interfaces/po-chart-indicator-options.interface.d.ts +50 -0
  8. package/lib/components/po-chart/interfaces/po-chart-options.interface.d.ts +17 -1
  9. package/lib/components/po-chart/interfaces/po-chart-radar-options.interface.d.ts +38 -0
  10. package/lib/components/po-chart/interfaces/po-chart-serie-data-label.interface.d.ts +1 -2
  11. package/lib/components/po-chart/interfaces/po-chart-serie.interface.d.ts +15 -5
  12. package/lib/components/po-chart/po-chart-base.component.d.ts +22 -9
  13. package/lib/components/po-chart/po-chart-grid-utils.d.ts +45 -0
  14. package/lib/components/po-chart/po-chart.component.d.ts +7 -0
  15. package/lib/components/po-field/po-input/po-input-base.component.d.ts +12 -0
  16. package/lib/components/po-icon/po-icon.component.d.ts +3 -1
  17. package/lib/components/po-listbox/po-item-list/po-item-list-base.component.d.ts +8 -0
  18. package/lib/components/po-listbox/po-listbox.component.d.ts +2 -1
  19. package/lib/components/po-popup/po-popup-action.interface.d.ts +1 -0
  20. package/lib/components/po-popup/po-popup-base.component.d.ts +1 -0
  21. package/lib/components/po-popup/po-popup.component.d.ts +4 -2
  22. package/lib/components/po-search/po-search-base.component.d.ts +20 -1
  23. package/lib/components/po-search/po-search.component.d.ts +1 -0
  24. package/lib/components/po-tag/po-tag-base.component.d.ts +2 -1
  25. package/lib/components/po-tag/po-tag.component.d.ts +0 -2
  26. package/lib/utils/util.d.ts +12 -0
  27. package/package.json +4 -4
  28. package/po-ui-ng-components-20.13.0.tgz +0 -0
  29. package/schematics/ng-add/index.js +1 -1
  30. package/schematics/ng-update/v14/index.js +1 -1
  31. package/schematics/ng-update/v15/index.js +1 -1
  32. package/schematics/ng-update/v16/index.js +1 -1
  33. package/schematics/ng-update/v17/index.js +1 -1
  34. package/schematics/ng-update/v18/index.js +2 -2
  35. package/schematics/ng-update/v19/index.js +2 -2
  36. package/schematics/ng-update/v2/index.js +1 -1
  37. package/schematics/ng-update/v20/index.js +2 -2
  38. package/schematics/ng-update/v3/index.js +1 -1
  39. package/schematics/ng-update/v4/index.js +1 -1
  40. package/schematics/ng-update/v5/index.js +1 -1
  41. package/schematics/ng-update/v6/index.js +1 -1
  42. package/po-ui-ng-components-20.11.0.tgz +0 -0
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, Input, Component, ChangeDetectionStrategy, NgModule, InjectionToken, TemplateRef, Optional, Inject, Injectable, EventEmitter, Output, ElementRef, SecurityContext, HostListener, inject, ViewChild, ChangeDetectorRef, ViewChildren, ContentChildren, HostBinding, input, forwardRef, Renderer2, IterableDiffers, ViewContainerRef, ContentChild, Pipe, DOCUMENT, Injector, provideAppInitializer } from '@angular/core';
2
+ import { Directive, Input, Component, ChangeDetectionStrategy, NgModule, InjectionToken, TemplateRef, Optional, Inject, ViewChild, HostBinding, Injectable, EventEmitter, Output, ElementRef, SecurityContext, HostListener, inject, ChangeDetectorRef, ViewChildren, ContentChildren, input, forwardRef, Renderer2, IterableDiffers, ViewContainerRef, ContentChild, Pipe, DOCUMENT, Injector, provideAppInitializer } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule, CurrencyPipe, DecimalPipe, TitleCasePipe, DatePipe, NgOptimizedImage, Location } from '@angular/common';
5
5
  import * as i2 from '@angular/platform-browser';
@@ -8,7 +8,7 @@ import { trigger, transition, style, animate, group, query, animateChild, state,
8
8
  import { Subject, filter, fromEvent, debounceTime, Subscription, switchMap, isObservable, of, ReplaySubject, timer, throwError, Observable, map as map$1, catchError as catchError$1, startWith, delay as delay$1 } from 'rxjs';
9
9
  import * as i1$1 from '@angular/router';
10
10
  import { RouterModule, Router, NavigationEnd, NavigationCancel } from '@angular/router';
11
- import * as i4 from '@angular/cdk/listbox';
11
+ import * as i5$1 from '@angular/cdk/listbox';
12
12
  import { CdkListboxModule } from '@angular/cdk/listbox';
13
13
  import * as i1$2 from '@angular/forms';
14
14
  import { NG_VALUE_ACCESSOR, FormsModule, NG_VALIDATORS, Validators, NgControl, NgForm, ControlContainer } from '@angular/forms';
@@ -17,7 +17,7 @@ import { OverlayModule } from '@angular/cdk/overlay';
17
17
  import * as i1$3 from '@angular/common/http';
18
18
  import { HttpClient, HttpHeaders, HttpEventType, HttpResponse, HttpRequest, HTTP_INTERCEPTORS } from '@angular/common/http';
19
19
  import { debounceTime as debounceTime$1, take, delay, takeWhile, tap, map, filter as filter$1, distinctUntilChanged, catchError, switchMap as switchMap$1, finalize, mergeMap } from 'rxjs/operators';
20
- import { BarChart, CustomChart, GaugeChart, LineChart, PieChart } from 'echarts/charts';
20
+ import { BarChart, CustomChart, GaugeChart, LineChart, PieChart, RadarChart } from 'echarts/charts';
21
21
  import { GraphicComponent, BrushComponent, DataZoomComponent, GridComponent, LegendComponent, MarkLineComponent, ToolboxComponent, TooltipComponent } from 'echarts/components';
22
22
  import * as echarts from 'echarts/core';
23
23
  import { use } from 'echarts/core';
@@ -354,9 +354,11 @@ const AnimaliaIconDictionary = {
354
354
  ICON_ALIGN_RIGHT: 'an an-text-align-right',
355
355
  ICON_ARROW_ARC_LEFT: 'an an-arrow-arc-left',
356
356
  ICON_ARROW_DOWN: 'an an-caret-down',
357
+ ICON_OTHER_ARROW_DOWN: 'an an-arrow-down',
357
358
  ICON_ARROW_LEFT: 'an an-caret-left',
358
359
  ICON_ARROW_RIGHT: 'an an-caret-right',
359
360
  ICON_ARROW_UP: 'an an-caret-up',
361
+ ICON_OTHER_ARROW_UP: 'an an-arrow-up',
360
362
  ICON_CALENDAR: 'an an-calendar-blank',
361
363
  ICON_CLEAR_CONTENT: 'an an-x-circle',
362
364
  ICON_CLOCK: 'an an-clock',
@@ -370,6 +372,9 @@ const AnimaliaIconDictionary = {
370
372
  ICON_EYE: 'an an-eye',
371
373
  ICON_EYE_OFF: 'an an-eye-closed',
372
374
  ICON_FILTER: 'an an-funnel',
375
+ ICON_FILL_FILTER: 'an-fill an-funnel',
376
+ ICON_FUNNEL: 'an an-funnel-simple',
377
+ ICON_FUNNEL_X: 'an an-funnel-x',
373
378
  ICON_HELP: 'an an-question',
374
379
  ICON_INFO: 'an an-info',
375
380
  ICON_LAST_PAGE: 'an an-caret-double-right',
@@ -384,6 +389,7 @@ const AnimaliaIconDictionary = {
384
389
  ICON_MINUS: 'an an-minus',
385
390
  ICON_MORE: 'an an-dots-three',
386
391
  ICON_MORE_VERT: 'an an-dots-three-vertical',
392
+ ICON_FILL_MORE_OUTLINE_VERT: 'an-fill an-dots-three-outline-vertical',
387
393
  ICON_NOTIFICATION: 'an an-bell',
388
394
  ICON_OK: 'an an-check',
389
395
  ICON_PARAMETERS: 'an an-sliders-horizontal',
@@ -398,7 +404,11 @@ const AnimaliaIconDictionary = {
398
404
  ICON_SETTINGS: 'an an-gear-six',
399
405
  ICON_SORT: 'an an-arrows-down-up',
400
406
  ICON_SORT_ASC: 'an an-arrow-up',
407
+ ICON_SORT_ASCENDING: 'an an-sort-ascending',
408
+ ICON_FILL_SORT_ASCENDING: 'an-fill an-sort-ascending',
401
409
  ICON_SORT_DESC: 'an an-arrow-down',
410
+ ICON_SORT_DESCENDING: 'an an-sort-descending',
411
+ ICON_FILL_SORT_DESCENDING: 'an-fill an-sort-descending',
402
412
  ICON_STAR: 'an an-star',
403
413
  ICON_TELEPHONE: 'an an-phone',
404
414
  ICON_TEXT_BOLD: 'an an-text-b',
@@ -420,9 +430,11 @@ const AnimaliaIconDictionary = {
420
430
  * Permite a exibição de ícones.
421
431
  */
422
432
  class PoIconComponent {
433
+ iconElement;
423
434
  class;
424
435
  _icon;
425
436
  _iconToken;
437
+ hostPIcon = null;
426
438
  constructor(value) {
427
439
  this._iconToken = value ?? AnimaliaIconDictionary;
428
440
  }
@@ -449,10 +461,12 @@ class PoIconComponent {
449
461
  */
450
462
  set icon(value) {
451
463
  if (typeof value === 'string') {
464
+ this.hostPIcon = value;
452
465
  this.processIcon(value);
453
466
  }
454
467
  else if (value instanceof TemplateRef) {
455
468
  this._icon = value;
469
+ this.hostPIcon = null;
456
470
  }
457
471
  }
458
472
  get icon() {
@@ -498,17 +512,23 @@ class PoIconComponent {
498
512
  return iconName.includes(' ') ? iconName.split(' ') : iconName;
499
513
  }
500
514
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoIconComponent, deps: [{ token: ICONS_DICTIONARY, optional: true }], target: i0.ɵɵFactoryTarget.Component });
501
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: PoIconComponent, isStandalone: false, selector: "po-icon", inputs: { icon: ["p-icon", "icon"] }, ngImport: i0, template: "@if (class) {\n <i [class]=\"class\" aria-hidden=\"true\">\n <ng-content></ng-content>\n </i>\n} @else {\n <ng-template [ngTemplateOutlet]=\"icon\"></ng-template>\n}\n", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
515
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: PoIconComponent, isStandalone: false, selector: "po-icon", inputs: { icon: ["p-icon", "icon"] }, host: { properties: { "attr.p-icon": "this.hostPIcon" } }, viewQueries: [{ propertyName: "iconElement", first: true, predicate: ["iconElement"], descendants: true }], ngImport: i0, template: "@if (class) {\n <i #iconElement [class]=\"class\" aria-hidden=\"true\">\n <ng-content></ng-content>\n </i>\n} @else {\n <ng-template [ngTemplateOutlet]=\"icon\"></ng-template>\n}\n", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
502
516
  }
503
517
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoIconComponent, decorators: [{
504
518
  type: Component,
505
- args: [{ selector: 'po-icon', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (class) {\n <i [class]=\"class\" aria-hidden=\"true\">\n <ng-content></ng-content>\n </i>\n} @else {\n <ng-template [ngTemplateOutlet]=\"icon\"></ng-template>\n}\n" }]
519
+ args: [{ selector: 'po-icon', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (class) {\n <i #iconElement [class]=\"class\" aria-hidden=\"true\">\n <ng-content></ng-content>\n </i>\n} @else {\n <ng-template [ngTemplateOutlet]=\"icon\"></ng-template>\n}\n" }]
506
520
  }], ctorParameters: () => [{ type: undefined, decorators: [{
507
521
  type: Optional
508
522
  }, {
509
523
  type: Inject,
510
524
  args: [ICONS_DICTIONARY]
511
- }] }], propDecorators: { icon: [{
525
+ }] }], propDecorators: { iconElement: [{
526
+ type: ViewChild,
527
+ args: ['iconElement', { static: false }]
528
+ }], hostPIcon: [{
529
+ type: HostBinding,
530
+ args: ['attr.p-icon']
531
+ }], icon: [{
512
532
  type: Input,
513
533
  args: ['p-icon']
514
534
  }] } });
@@ -1468,6 +1488,38 @@ function getMeasurableEl(labelElement) {
1468
1488
  const inner = host.querySelector('.po-label, label, .po-label-title, .po-field-title .po-checkbox-label');
1469
1489
  return inner ?? host;
1470
1490
  }
1491
+ /**
1492
+ * Retorna a cor do texto baseada no tema atual.
1493
+ * @param type Tipo de cor do texto, pode ser 'lightest' ou 'darkest'.
1494
+ * @returns Valor da cor no formato definido pela propriedade customizada CSS (por exemplo, '#ffffff', 'rgb(255,255,255)').
1495
+ */
1496
+ function getTextColor(type) {
1497
+ const isLightTheme = !document.documentElement.className.includes('-dark-');
1498
+ let token = '';
1499
+ if (type === 'lightest') {
1500
+ token = isLightTheme ? '--color-neutral-light-00' : '--color-neutral-dark-95';
1501
+ }
1502
+ else {
1503
+ token = isLightTheme ? '--color-neutral-dark-95' : '--color-neutral-light-00';
1504
+ }
1505
+ return getComputedStyle(document.documentElement).getPropertyValue(token);
1506
+ }
1507
+ /**
1508
+ * Retorna a cor do texto baseada na cor de fundo informada.
1509
+ * @param backgroundColor Cor de fundo em formato 'rgb(r,g,b)' ou 'rgba(r,g,b,a)'.
1510
+ * @returns Valor da cor do texto (por exemplo, '#ffffff', 'rgb(255,255,255)') baseado no brilho percebido da cor de fundo usando a fórmula do espaço de cor YIQ.
1511
+ */
1512
+ function getTextColorFromBackgroundColor(backgroundColor) {
1513
+ const rgbValues = backgroundColor
1514
+ .replaceAll(/(?:^rgba?\(|\s+|\)$)/g, '')
1515
+ .split(',')
1516
+ .map(value => Number.parseInt(value, 10));
1517
+ const r = rgbValues[0];
1518
+ const g = rgbValues[1];
1519
+ const b = rgbValues[2];
1520
+ const yiq = (r * 299 + g * 587 + b * 114) / 1000;
1521
+ return yiq >= 128 ? getTextColor('darkest') : getTextColor('lightest');
1522
+ }
1471
1523
 
1472
1524
  const poDefaultLanguage = 'PO_DEFAULT_LANGUAGE';
1473
1525
  const poLocaleKey = 'PO_USER_LOCALE';
@@ -1828,7 +1880,8 @@ class PoTagBaseComponent {
1828
1880
  * - <span class="dot po-color-11"></span> `color-11`
1829
1881
  * - <span class="dot po-color-12"></span> `color-12`
1830
1882
  *
1831
- * - Para uma melhor acessibilidade no uso do componente é recomendável utilizar cores com um melhor contraste em relação ao background.
1883
+ * - Para uma melhor acessibilidade no uso do componente é recomendável utilizar cores com um melhor contraste em relação ao background;
1884
+ * - O componente ajusta automaticamente a cor do texto para garantir legibilidade, escolhendo dinamicamente entre texto claro ou escuro conforme o contraste necessário.
1832
1885
  *
1833
1886
  * > **Atenção:** A propriedade `p-type` sobrepõe esta definição.
1834
1887
  */
@@ -2915,8 +2968,22 @@ class PoTagComponent extends PoTagBaseComponent {
2915
2968
  this.onClick('enter');
2916
2969
  }
2917
2970
  styleTag() {
2971
+ // Ajusta a cor do texto com base na cor de fundo computada do elemento
2972
+ requestAnimationFrame(() => {
2973
+ const computedStyle = getComputedStyle(this.poTag.nativeElement);
2974
+ if ((!this.tagColor || this.tagColor?.startsWith('po-color-')) &&
2975
+ !this.removable &&
2976
+ !this.textColor &&
2977
+ computedStyle?.backgroundColor) {
2978
+ const textColor = getTextColorFromBackgroundColor(computedStyle.backgroundColor);
2979
+ this.poTag.nativeElement.style.color = textColor;
2980
+ }
2981
+ else {
2982
+ this.poTag.nativeElement.style.color = '';
2983
+ }
2984
+ });
2918
2985
  if (!this.tagColor && !this.removable) {
2919
- return { 'background-color': this.customColor, 'color': 'white' };
2986
+ return { 'background-color': this.customColor };
2920
2987
  }
2921
2988
  else {
2922
2989
  return {};
@@ -3406,6 +3473,7 @@ const poAccordionLiteralsDefault = {
3406
3473
  class PoAccordionBaseComponent {
3407
3474
  language = poLocaleDefault;
3408
3475
  _literals;
3476
+ _size = undefined;
3409
3477
  /**
3410
3478
  * @optional
3411
3479
  *
@@ -3477,6 +3545,26 @@ class PoAccordionBaseComponent {
3477
3545
  * @default `false`
3478
3546
  */
3479
3547
  allowExpandItems = false;
3548
+ /**
3549
+ * @optional
3550
+ *
3551
+ * @description
3552
+ *
3553
+ * Define o tamanho do componente:
3554
+ * - `small`: altura de 32px (disponível apenas para acessibilidade AA).
3555
+ * - `medium`: altura de 44px.
3556
+ *
3557
+ * > Caso a acessibilidade AA não esteja configurada, o tamanho `medium` será mantido.
3558
+ * Para mais detalhes, consulte a documentação do [po-theme](https://po-ui.io/documentation/po-theme).
3559
+ *
3560
+ * @default `medium`
3561
+ */
3562
+ set size(value) {
3563
+ this._size = validateSizeFn(value, PoFieldSize);
3564
+ }
3565
+ get size() {
3566
+ return this._size ?? getDefaultSizeFn(PoFieldSize);
3567
+ }
3480
3568
  /**
3481
3569
  * @optional
3482
3570
  *
@@ -3499,7 +3587,7 @@ class PoAccordionBaseComponent {
3499
3587
  this.language = languageService.getShortLanguage();
3500
3588
  }
3501
3589
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoAccordionBaseComponent, deps: [{ token: PoLanguageService }], target: i0.ɵɵFactoryTarget.Directive });
3502
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.0.7", type: PoAccordionBaseComponent, isStandalone: true, inputs: { literals: ["p-literals", "literals"], showManagerAccordion: ["p-show-manager-accordion", "showManagerAccordion", convertToBoolean], allowExpandItems: ["p-allow-expand-all-items", "allowExpandItems", convertToBoolean] }, outputs: { expandAllEvent: "p-expand-all", collapseAllEvent: "p-collapse-all" }, ngImport: i0 });
3590
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.0.7", type: PoAccordionBaseComponent, isStandalone: true, inputs: { literals: ["p-literals", "literals"], showManagerAccordion: ["p-show-manager-accordion", "showManagerAccordion", convertToBoolean], allowExpandItems: ["p-allow-expand-all-items", "allowExpandItems", convertToBoolean], size: ["p-size", "size"] }, outputs: { expandAllEvent: "p-expand-all", collapseAllEvent: "p-collapse-all" }, host: { properties: { "attr.p-size": "this.size" } }, ngImport: i0 });
3503
3591
  }
3504
3592
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoAccordionBaseComponent, decorators: [{
3505
3593
  type: Directive
@@ -3512,6 +3600,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
3512
3600
  }], allowExpandItems: [{
3513
3601
  type: Input,
3514
3602
  args: [{ alias: 'p-allow-expand-all-items', transform: convertToBoolean }]
3603
+ }], size: [{
3604
+ type: HostBinding,
3605
+ args: ['attr.p-size']
3606
+ }, {
3607
+ type: Input,
3608
+ args: ['p-size']
3515
3609
  }], expandAllEvent: [{
3516
3610
  type: Output,
3517
3611
  args: ['p-expand-all']
@@ -4560,6 +4654,8 @@ class PoPopupBaseComponent {
4560
4654
  _target;
4561
4655
  // Indica se há um listbox com subitens
4562
4656
  listboxSubitems = false;
4657
+ // template-icon
4658
+ templateIcon = false;
4563
4659
  /** Lista de ações que serão exibidas no componente. */
4564
4660
  set actions(value) {
4565
4661
  this._actions = Array.isArray(value) ? value : [];
@@ -4720,13 +4816,16 @@ class PoPopupBaseComponent {
4720
4816
  closeEvent = new EventEmitter();
4721
4817
  clickItem = new EventEmitter();
4722
4818
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoPopupBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4723
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.7", type: PoPopupBaseComponent, isStandalone: true, inputs: { listboxSubitems: ["p-listbox-subitems", "listboxSubitems"], actions: ["p-actions", "actions"], hideArrow: ["p-hide-arrow", "hideArrow"], isCornerAlign: ["p-is-corner-align", "isCornerAlign"], position: ["p-position", "position"], customPositions: ["p-custom-positions", "customPositions"], size: ["p-size", "size"], target: ["p-target", "target"] }, outputs: { closeEvent: "p-close", clickItem: "p-click-item" }, ngImport: i0 });
4819
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.7", type: PoPopupBaseComponent, isStandalone: true, inputs: { listboxSubitems: ["p-listbox-subitems", "listboxSubitems"], templateIcon: ["p-template-icon", "templateIcon"], actions: ["p-actions", "actions"], hideArrow: ["p-hide-arrow", "hideArrow"], isCornerAlign: ["p-is-corner-align", "isCornerAlign"], position: ["p-position", "position"], customPositions: ["p-custom-positions", "customPositions"], size: ["p-size", "size"], target: ["p-target", "target"] }, outputs: { closeEvent: "p-close", clickItem: "p-click-item" }, ngImport: i0 });
4724
4820
  }
4725
4821
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoPopupBaseComponent, decorators: [{
4726
4822
  type: Directive
4727
4823
  }], propDecorators: { listboxSubitems: [{
4728
4824
  type: Input,
4729
4825
  args: ['p-listbox-subitems']
4826
+ }], templateIcon: [{
4827
+ type: Input,
4828
+ args: ['p-template-icon']
4730
4829
  }], actions: [{
4731
4830
  type: Input,
4732
4831
  args: ['p-actions']
@@ -5540,6 +5639,14 @@ class PoItemListBaseComponent {
5540
5639
  * Define um ícone que será exibido ao lado esquerdo do rótulo.
5541
5640
  */
5542
5641
  icon;
5642
+ /**
5643
+ * @optional
5644
+ *
5645
+ * @description
5646
+ *
5647
+ * Define se deve ser exibido o ícone indicando subnível.
5648
+ */
5649
+ iconArrowRight;
5543
5650
  // Define a posição do ícone: 'left' (padrão) ou 'right'.
5544
5651
  iconPosition = 'left';
5545
5652
  /**
@@ -5587,7 +5694,7 @@ class PoItemListBaseComponent {
5587
5694
  }
5588
5695
  }
5589
5696
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoItemListBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5590
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.0.7", type: PoItemListBaseComponent, isStandalone: true, inputs: { type: ["p-type", "type"], visible: ["p-visible", "visible"], item: ["p-item", "item"], label: ["p-label", "label"], size: ["p-size", "size"], value: ["p-value", "value"], danger: ["p-danger", "danger", convertToBoolean], disabled: ["p-disabled", "disabled"], selected: ["p-selected", "selected", convertToBoolean], separator: ["p-separator", "separator", convertToBoolean], icon: ["p-icon", "icon"], iconPosition: ["p-icon-position", "iconPosition"], checkboxValue: ["p-checkbox-value", "checkboxValue"], fieldValue: ["p-field-value", "fieldValue"], fieldLabel: ["p-field-label", "fieldLabel"], template: ["p-template", "template"], templateContext: ["p-template-context", "templateContext"], searchValue: ["p-search-value", "searchValue"], filterMode: ["p-filter-mode", "filterMode"], isFiltering: ["p-filtering", "isFiltering"], shouldMarkLetters: ["p-should-mark-letter", "shouldMarkLetters"], compareCache: ["p-compare-cache", "compareCache"], comboService: ["p-combo-service", "comboService"], isTabs: ["p-is-tabs", "isTabs"], tabHide: ["p-tab-hide", "tabHide"], activeTabs: ["p-active-tabs", "activeTabs"], keysLabel: ["p-keys-label", "keysLabel"] }, outputs: { clickItem: "p-click-item", checkboxItem: "p-selectcheckbox-item", comboItem: "p-selectcombo-item", tabsItem: "p-emit-item-tabs", activatedTab: "p-activated-tabs" }, host: { properties: { "attr.p-type": "this.type", "attr.p-size": "this.size" } }, ngImport: i0 });
5697
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.0.7", type: PoItemListBaseComponent, isStandalone: true, inputs: { type: ["p-type", "type"], visible: ["p-visible", "visible"], item: ["p-item", "item"], label: ["p-label", "label"], size: ["p-size", "size"], value: ["p-value", "value"], danger: ["p-danger", "danger", convertToBoolean], disabled: ["p-disabled", "disabled"], selected: ["p-selected", "selected", convertToBoolean], separator: ["p-separator", "separator", convertToBoolean], icon: ["p-icon", "icon"], iconArrowRight: ["p-icon-arrow-right", "iconArrowRight"], iconPosition: ["p-icon-position", "iconPosition"], checkboxValue: ["p-checkbox-value", "checkboxValue"], fieldValue: ["p-field-value", "fieldValue"], fieldLabel: ["p-field-label", "fieldLabel"], template: ["p-template", "template"], templateContext: ["p-template-context", "templateContext"], searchValue: ["p-search-value", "searchValue"], filterMode: ["p-filter-mode", "filterMode"], isFiltering: ["p-filtering", "isFiltering"], shouldMarkLetters: ["p-should-mark-letter", "shouldMarkLetters"], compareCache: ["p-compare-cache", "compareCache"], comboService: ["p-combo-service", "comboService"], isTabs: ["p-is-tabs", "isTabs"], tabHide: ["p-tab-hide", "tabHide"], activeTabs: ["p-active-tabs", "activeTabs"], keysLabel: ["p-keys-label", "keysLabel"] }, outputs: { clickItem: "p-click-item", checkboxItem: "p-selectcheckbox-item", comboItem: "p-selectcombo-item", tabsItem: "p-emit-item-tabs", activatedTab: "p-activated-tabs" }, host: { properties: { "attr.p-type": "this.type", "attr.p-size": "this.size" } }, ngImport: i0 });
5591
5698
  }
5592
5699
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoItemListBaseComponent, decorators: [{
5593
5700
  type: Directive
@@ -5630,6 +5737,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
5630
5737
  }], icon: [{
5631
5738
  type: Input,
5632
5739
  args: ['p-icon']
5740
+ }], iconArrowRight: [{
5741
+ type: Input,
5742
+ args: ['p-icon-arrow-right']
5633
5743
  }], iconPosition: [{
5634
5744
  type: Input,
5635
5745
  args: ['p-icon-position']
@@ -8035,11 +8145,11 @@ class PoItemListComponent extends PoItemListBaseComponent {
8035
8145
  return value.replace(/</g, '&lt;').replace(/>/g, '&gt;');
8036
8146
  }
8037
8147
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoItemListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
8038
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: PoItemListComponent, isStandalone: false, selector: "po-item-list", viewQueries: [{ propertyName: "itemList", first: true, predicate: ["itemList"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container (keydown)=\"onCheckboxItemEmit($event)\">\n @switch (type) {\n @default {\n <div\n #itemList\n [class.po-item-list__separator]=\"separator\"\n [class.po-item-list__disabled]=\"disabled || !visible\"\n [class.po-item-list__selected]=\"(selected || activeTabs) && !disabled\"\n [class.po-item-list__hidden]=\"tabHide\"\n [attr.aria-disabled]=\"disabled || !visible\"\n [attr.aria-label]=\"label\"\n [class.po-item-list__danger]=\"danger\"\n class=\"po-item-list po-item-list__action\"\n >\n @if (icon && iconPosition === 'left') {\n <po-icon\n class=\"po-popup-icon-item po-field-icon\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n }\n <span class=\"po-item-list-label\">{{ label }}</span>\n\n @if (icon && iconPosition === 'right') {\n <po-icon class=\"po-popup-icon-item-right po-field-icon\" [p-icon]=\"icon\"></po-icon>\n }\n </div>\n }\n @case ('option') {\n <div\n #itemList\n class=\"po-item-list po-item-list__option\"\n [class.po-item-list__separator]=\"separator\"\n [class.po-item-list__selected]=\"selected && !disabled\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-label]=\"label\"\n (click)=\"onComboItem(item, $event)\"\n >\n @if (!template) {\n @switch (keysLabel.length) {\n @case (0) {\n <span class=\"po-item-list-label\" [innerHTML]=\"getLabelFormatted(label)\"></span>\n }\n\n @case (1) {\n <span class=\"po-item-list-label\">{{ item[keysLabel[0]] }}</span>\n }\n\n @case (2) {\n <div class=\"po-item-list-label po-item-list-label-group\">\n <span class=\"po-item-list-label\">{{ item[keysLabel[0]] }}</span>\n <span class=\"po-item-list-sublabel\">{{ item[keysLabel[1]] }}</span>\n </div>\n }\n\n @default {\n <div class=\"po-item-list-label po-item-list-label-group\">\n <span class=\"po-item-list-label\">{{ item[keysLabel[0]] }}</span>\n <span class=\"po-item-list-sublabel\">{{ item[keysLabel[1]] }} - {{ item[keysLabel[2]] }}</span>\n </div>\n }\n }\n }\n\n <ng-template\n [ngTemplateOutlet]=\"template?.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: templateContext }\"\n >\n </ng-template>\n </div>\n }\n @case ('check') {\n <div\n class=\"po-item-list po-item-list__check\"\n [class.po-item-list__separator]=\"separator\"\n [class.po-item-list__selected]=\"selected && !disabled\"\n [class.po-item-list__disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-label]=\"label\"\n (click)=\"onCheckboxItem()\"\n (keydown)=\"onCheckboxItemEmit($event)\"\n (keyup)=\"onCheckboxItemEmit($event)\"\n >\n <po-checkbox\n [p-disabled-tabindex]=\"true\"\n [p-checkboxValue]=\"checkboxValue === null ? 'mixed' : checkboxValue\"\n [p-disabled]=\"disabled\"\n [p-size]=\"size\"\n ></po-checkbox>\n @if (!template) {\n <span class=\"po-item-list__label\">{{ label }}</span>\n }\n <ng-template\n [ngTemplateOutlet]=\"template?.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: templateContext }\"\n >\n </ng-template>\n </div>\n }\n }\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PoCheckboxComponent, selector: "po-checkbox" }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }] });
8148
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: PoItemListComponent, isStandalone: false, selector: "po-item-list", viewQueries: [{ propertyName: "itemList", first: true, predicate: ["itemList"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container (keydown)=\"onCheckboxItemEmit($event)\">\n @switch (type) {\n @default {\n <div\n #itemList\n [class.po-item-list__separator]=\"separator\"\n [class.po-item-list__disabled]=\"disabled || !visible\"\n [class.po-item-list__selected]=\"(selected || activeTabs) && !disabled\"\n [class.po-item-list__hidden]=\"tabHide\"\n [attr.aria-disabled]=\"disabled || !visible\"\n [attr.aria-label]=\"label\"\n [class.po-item-list__danger]=\"danger\"\n class=\"po-item-list po-item-list__action\"\n >\n @if (icon) {\n <po-icon\n class=\"po-popup-icon-item po-field-icon\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n }\n <span class=\"po-item-list-label\">{{ label }}</span>\n\n @if (iconArrowRight) {\n <po-icon class=\"po-popup-icon-item-right po-field-icon\" [p-icon]=\"iconArrowRight\"></po-icon>\n }\n </div>\n }\n @case ('option') {\n <div\n #itemList\n class=\"po-item-list po-item-list__option\"\n [class.po-item-list__separator]=\"separator\"\n [class.po-item-list__selected]=\"selected && !disabled\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-label]=\"label\"\n (click)=\"onComboItem(item, $event)\"\n >\n @if (!template) {\n @switch (keysLabel.length) {\n @case (0) {\n <span class=\"po-item-list-label\" [innerHTML]=\"getLabelFormatted(label)\"></span>\n }\n\n @case (1) {\n <span class=\"po-item-list-label\">{{ item[keysLabel[0]] }}</span>\n }\n\n @case (2) {\n <div class=\"po-item-list-label po-item-list-label-group\">\n <span class=\"po-item-list-label\">{{ item[keysLabel[0]] }}</span>\n <span class=\"po-item-list-sublabel\">{{ item[keysLabel[1]] }}</span>\n </div>\n }\n\n @default {\n <div class=\"po-item-list-label po-item-list-label-group\">\n <span class=\"po-item-list-label\">{{ item[keysLabel[0]] }}</span>\n <span class=\"po-item-list-sublabel\">{{ item[keysLabel[1]] }} - {{ item[keysLabel[2]] }}</span>\n </div>\n }\n }\n }\n\n <ng-template\n [ngTemplateOutlet]=\"template?.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: templateContext }\"\n >\n </ng-template>\n </div>\n }\n @case ('check') {\n <div\n class=\"po-item-list po-item-list__check\"\n [class.po-item-list__separator]=\"separator\"\n [class.po-item-list__selected]=\"selected && !disabled\"\n [class.po-item-list__disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-label]=\"label\"\n (click)=\"onCheckboxItem()\"\n (keydown)=\"onCheckboxItemEmit($event)\"\n (keyup)=\"onCheckboxItemEmit($event)\"\n >\n <po-checkbox\n [p-disabled-tabindex]=\"true\"\n [p-checkboxValue]=\"checkboxValue === null ? 'mixed' : checkboxValue\"\n [p-disabled]=\"disabled\"\n [p-size]=\"size\"\n ></po-checkbox>\n @if (!template) {\n <span class=\"po-item-list__label\">{{ label }}</span>\n }\n <ng-template\n [ngTemplateOutlet]=\"template?.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: templateContext }\"\n >\n </ng-template>\n </div>\n }\n }\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PoCheckboxComponent, selector: "po-checkbox" }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }] });
8039
8149
  }
8040
8150
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoItemListComponent, decorators: [{
8041
8151
  type: Component,
8042
- args: [{ selector: 'po-item-list', standalone: false, template: "<ng-container (keydown)=\"onCheckboxItemEmit($event)\">\n @switch (type) {\n @default {\n <div\n #itemList\n [class.po-item-list__separator]=\"separator\"\n [class.po-item-list__disabled]=\"disabled || !visible\"\n [class.po-item-list__selected]=\"(selected || activeTabs) && !disabled\"\n [class.po-item-list__hidden]=\"tabHide\"\n [attr.aria-disabled]=\"disabled || !visible\"\n [attr.aria-label]=\"label\"\n [class.po-item-list__danger]=\"danger\"\n class=\"po-item-list po-item-list__action\"\n >\n @if (icon && iconPosition === 'left') {\n <po-icon\n class=\"po-popup-icon-item po-field-icon\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n }\n <span class=\"po-item-list-label\">{{ label }}</span>\n\n @if (icon && iconPosition === 'right') {\n <po-icon class=\"po-popup-icon-item-right po-field-icon\" [p-icon]=\"icon\"></po-icon>\n }\n </div>\n }\n @case ('option') {\n <div\n #itemList\n class=\"po-item-list po-item-list__option\"\n [class.po-item-list__separator]=\"separator\"\n [class.po-item-list__selected]=\"selected && !disabled\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-label]=\"label\"\n (click)=\"onComboItem(item, $event)\"\n >\n @if (!template) {\n @switch (keysLabel.length) {\n @case (0) {\n <span class=\"po-item-list-label\" [innerHTML]=\"getLabelFormatted(label)\"></span>\n }\n\n @case (1) {\n <span class=\"po-item-list-label\">{{ item[keysLabel[0]] }}</span>\n }\n\n @case (2) {\n <div class=\"po-item-list-label po-item-list-label-group\">\n <span class=\"po-item-list-label\">{{ item[keysLabel[0]] }}</span>\n <span class=\"po-item-list-sublabel\">{{ item[keysLabel[1]] }}</span>\n </div>\n }\n\n @default {\n <div class=\"po-item-list-label po-item-list-label-group\">\n <span class=\"po-item-list-label\">{{ item[keysLabel[0]] }}</span>\n <span class=\"po-item-list-sublabel\">{{ item[keysLabel[1]] }} - {{ item[keysLabel[2]] }}</span>\n </div>\n }\n }\n }\n\n <ng-template\n [ngTemplateOutlet]=\"template?.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: templateContext }\"\n >\n </ng-template>\n </div>\n }\n @case ('check') {\n <div\n class=\"po-item-list po-item-list__check\"\n [class.po-item-list__separator]=\"separator\"\n [class.po-item-list__selected]=\"selected && !disabled\"\n [class.po-item-list__disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-label]=\"label\"\n (click)=\"onCheckboxItem()\"\n (keydown)=\"onCheckboxItemEmit($event)\"\n (keyup)=\"onCheckboxItemEmit($event)\"\n >\n <po-checkbox\n [p-disabled-tabindex]=\"true\"\n [p-checkboxValue]=\"checkboxValue === null ? 'mixed' : checkboxValue\"\n [p-disabled]=\"disabled\"\n [p-size]=\"size\"\n ></po-checkbox>\n @if (!template) {\n <span class=\"po-item-list__label\">{{ label }}</span>\n }\n <ng-template\n [ngTemplateOutlet]=\"template?.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: templateContext }\"\n >\n </ng-template>\n </div>\n }\n }\n</ng-container>\n" }]
8152
+ args: [{ selector: 'po-item-list', standalone: false, template: "<ng-container (keydown)=\"onCheckboxItemEmit($event)\">\n @switch (type) {\n @default {\n <div\n #itemList\n [class.po-item-list__separator]=\"separator\"\n [class.po-item-list__disabled]=\"disabled || !visible\"\n [class.po-item-list__selected]=\"(selected || activeTabs) && !disabled\"\n [class.po-item-list__hidden]=\"tabHide\"\n [attr.aria-disabled]=\"disabled || !visible\"\n [attr.aria-label]=\"label\"\n [class.po-item-list__danger]=\"danger\"\n class=\"po-item-list po-item-list__action\"\n >\n @if (icon) {\n <po-icon\n class=\"po-popup-icon-item po-field-icon\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n }\n <span class=\"po-item-list-label\">{{ label }}</span>\n\n @if (iconArrowRight) {\n <po-icon class=\"po-popup-icon-item-right po-field-icon\" [p-icon]=\"iconArrowRight\"></po-icon>\n }\n </div>\n }\n @case ('option') {\n <div\n #itemList\n class=\"po-item-list po-item-list__option\"\n [class.po-item-list__separator]=\"separator\"\n [class.po-item-list__selected]=\"selected && !disabled\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-label]=\"label\"\n (click)=\"onComboItem(item, $event)\"\n >\n @if (!template) {\n @switch (keysLabel.length) {\n @case (0) {\n <span class=\"po-item-list-label\" [innerHTML]=\"getLabelFormatted(label)\"></span>\n }\n\n @case (1) {\n <span class=\"po-item-list-label\">{{ item[keysLabel[0]] }}</span>\n }\n\n @case (2) {\n <div class=\"po-item-list-label po-item-list-label-group\">\n <span class=\"po-item-list-label\">{{ item[keysLabel[0]] }}</span>\n <span class=\"po-item-list-sublabel\">{{ item[keysLabel[1]] }}</span>\n </div>\n }\n\n @default {\n <div class=\"po-item-list-label po-item-list-label-group\">\n <span class=\"po-item-list-label\">{{ item[keysLabel[0]] }}</span>\n <span class=\"po-item-list-sublabel\">{{ item[keysLabel[1]] }} - {{ item[keysLabel[2]] }}</span>\n </div>\n }\n }\n }\n\n <ng-template\n [ngTemplateOutlet]=\"template?.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: templateContext }\"\n >\n </ng-template>\n </div>\n }\n @case ('check') {\n <div\n class=\"po-item-list po-item-list__check\"\n [class.po-item-list__separator]=\"separator\"\n [class.po-item-list__selected]=\"selected && !disabled\"\n [class.po-item-list__disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-label]=\"label\"\n (click)=\"onCheckboxItem()\"\n (keydown)=\"onCheckboxItemEmit($event)\"\n (keyup)=\"onCheckboxItemEmit($event)\"\n >\n <po-checkbox\n [p-disabled-tabindex]=\"true\"\n [p-checkboxValue]=\"checkboxValue === null ? 'mixed' : checkboxValue\"\n [p-disabled]=\"disabled\"\n [p-size]=\"size\"\n ></po-checkbox>\n @if (!template) {\n <span class=\"po-item-list__label\">{{ label }}</span>\n }\n <ng-template\n [ngTemplateOutlet]=\"template?.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: templateContext }\"\n >\n </ng-template>\n </div>\n }\n }\n</ng-container>\n" }]
8043
8153
  }], propDecorators: { itemList: [{
8044
8154
  type: ViewChild,
8045
8155
  args: ['itemList', { static: true }]
@@ -8240,11 +8350,23 @@ class PoListBoxComponent extends PoListBoxBaseComponent {
8240
8350
  }
8241
8351
  });
8242
8352
  }
8243
- onKeydownGoBack(event) {
8353
+ onKeydownGoBack(event, currentGroup) {
8244
8354
  if (event.key === 'Enter') {
8245
8355
  this.goBack(event);
8246
8356
  }
8247
8357
  if (event?.code === 'Escape' || event.code === 'Tab') {
8358
+ if (event.code === 'Tab' && !event.shiftKey && currentGroup?.$subItemTemplate) {
8359
+ return;
8360
+ }
8361
+ this.closeEvent.emit();
8362
+ }
8363
+ }
8364
+ onKeydownTemplate(event) {
8365
+ if (event.code === 'Tab') {
8366
+ if (event.target?.closest('.po-listbox-dropdown')) {
8367
+ event.stopPropagation();
8368
+ return;
8369
+ }
8248
8370
  this.closeEvent.emit();
8249
8371
  }
8250
8372
  }
@@ -8268,7 +8390,7 @@ class PoListBoxComponent extends PoListBoxBaseComponent {
8268
8390
  if (itemListAction?.url && !isDisabled && isVisible) {
8269
8391
  return this.openUrl(itemListAction.url);
8270
8392
  }
8271
- if (itemListAction?.subItems?.length) {
8393
+ if (itemListAction?.subItems?.length || itemListAction?.$subItemTemplate) {
8272
8394
  this.openGroup(itemListAction, event);
8273
8395
  }
8274
8396
  else if (this.listboxSubitems) {
@@ -8464,11 +8586,11 @@ class PoListBoxComponent extends PoListBoxBaseComponent {
8464
8586
  this.closeEvent.emit();
8465
8587
  }
8466
8588
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoListBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8467
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: PoListBoxComponent, isStandalone: false, selector: "po-listbox", viewQueries: [{ propertyName: "listbox", first: true, predicate: ["listbox"], descendants: true, static: true }, { propertyName: "listboxItemList", first: true, predicate: ["listboxItemList"], descendants: true }, { propertyName: "listboxGroupHeader", first: true, predicate: ["listboxGroupHeader"], descendants: true }, { propertyName: "searchElement", first: true, predicate: ["searchElement"], descendants: true }, { propertyName: "popupHeaderContainer", first: true, predicate: ["popupHeaderContainer"], descendants: true }, { propertyName: "listboxItems", predicate: ["listboxItem"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n #listbox\n class=\"po-listbox\"\n [class.po-listbox-check]=\"type === 'check' || type === 'option'\"\n [attr.data-type]=\"type\"\n [attr.p-size]=\"size\"\n [hidden]=\"visible\"\n>\n <div #popupHeaderContainer>\n <ng-content select=\"[p-popup-header-template]\"></ng-content>\n </div>\n\n @if (!hideSearch && type === 'check') {\n <po-search-list\n #searchElement\n (p-change)=\"callChangeSearch($event)\"\n [p-literals]=\"literalSearch\"\n [p-field-value]=\"fieldValueSearch\"\n [p-placeholder]=\"placeholderSearch\"\n [p-size]=\"size\"\n ></po-search-list>\n }\n\n @if (checkTemplate() && !listboxSubitems) {\n <ul #listboxItemList cdkListbox [cdkListboxMultiple]=\"type === 'check'\" class=\"po-listbox-list\">\n @if (type === 'check' && items.length && !searchElement?.inputValue && !hideSelectAll) {\n <li\n cdkOption=\"selectAll\"\n [attr.aria-checked]=\"checkboxAllValue === null ? 'mixed' : checkboxAllValue\"\n class=\"po-listbox-item-type-check\"\n (click)=\"changeAll.emit()\"\n (keydown)=\"changeAllEmit($event)\"\n (keydown)=\"onSelectAllCheckboxKeyDown($event)\"\n >\n <po-item-list\n [p-selected]=\"checkboxAllValue\"\n p-type=\"check\"\n [p-label]=\"literals.selectAll\"\n p-value=\"selectAll\"\n [p-checkbox-value]=\"checkboxAllValue\"\n [p-size]=\"size\"\n >\n </po-item-list>\n </li>\n }\n @for (item of items; track item) {\n <li\n [class.po-listbox-item]=\"visible\"\n [class.po-listbox-item-type-check]=\"type === 'check'\"\n [cdkOption]=\"item[fieldLabel]\"\n [cdkOptionDisabled]=\"\n returnBooleanValue(item, 'disabled') || returnBooleanValue(item, 'visible') === false || item.options\n \"\n [attr.aria-selected]=\"isSelectedItem(item) || item.selected\"\n (click)=\"onSelectItem(item)\"\n (keydown)=\"onKeyDown(item, $event)\"\n >\n @if (item.options) {\n <label class=\"po-combo-item-title\">\n {{ item.label }}\n </label>\n }\n @if (returnBooleanValue(item, 'visible') !== false) {\n <po-item-list\n [p-disabled]=\"returnBooleanValue(item, 'disabled')\"\n [p-visible]=\"returnBooleanValue(item, 'visible')\"\n [p-checkbox-value]=\"isSelectedItem(item)\"\n [attr.data-item-list]=\"formatItemList(item)\"\n [p-label]=\"item[fieldLabel]\"\n [p-value]=\"item[fieldValue]\"\n [p-selected]=\"isSelectedItem(item) || item.selected\"\n [p-active-tabs]=\"item.active\"\n [p-separator]=\"item.separator || separator\"\n [p-danger]=\"item.danger || item.type === 'danger'\"\n [p-icon]=\"item.icon\"\n [p-type]=\"type\"\n [p-item]=\"item\"\n [p-tab-hide]=\"item.hide\"\n [p-is-tabs]=\"isTabs\"\n [p-field-value]=\"fieldValue\"\n [p-field-label]=\"fieldLabel\"\n [p-template]=\"template\"\n [p-template-context]=\"item\"\n (p-selectcheckbox-item)=\"checkboxClicked($event)\"\n (p-selectcombo-item)=\"optionClicked(item)\"\n (p-emit-item-tabs)=\"onSelectTabs($event)\"\n (p-activated-tabs)=\"onActivatedTabs($event)\"\n [p-search-value]=\"searchValue\"\n [p-filter-mode]=\"filterMode\"\n [p-filtering]=\"isFiltering\"\n [p-size]=\"size\"\n [p-should-mark-letter]=\"shouldMarkLetters\"\n [p-compare-cache]=\"compareCache\"\n [p-combo-service]=\"comboService\"\n [p-keys-label]=\"keysLabel\"\n ></po-item-list>\n }\n </li>\n }\n\n @if (footerActionListbox) {\n @if (placeholderListbox) {\n <div class=\"po-item-list\" aria-hidden=\"true\">\n <span>{{ placeholderListbox }}</span>\n </div>\n }\n\n @if (!placeholderListbox && !items.length) {\n <div class=\"po-item-list\" aria-hidden=\"true\">\n <span>{{ literals.noItems }}</span>\n </div>\n }\n\n <li\n class=\"po-listbox-item\"\n (click)=\"handleFooterActionListbox()\"\n (keydown)=\"onKeyDown({ type: 'footerAction' }, $event)\"\n cdkOption=\"footerActionListbox\"\n >\n <po-item-list [p-label]=\"literals.footerActionListbox\" p-separator [p-size]=\"size\" />\n </li>\n }\n </ul>\n } @else {\n @if (!items.length && !isServerSearching && type !== 'action' && !footerActionListbox) {\n <div class=\"po-listbox-container-no-data po-text-center\">\n <span> {{ literals.noItems }}</span>\n </div>\n }\n }\n\n @if (listboxSubitems) {\n <ul cdkListbox class=\"po-listbox-list po-listbox-dropdown\">\n @if (!currentGroup) {\n @for (item of currentItems; track item) {\n <li\n #listboxItem\n [class.po-listbox-item]=\"visible\"\n [cdkOption]=\"item[fieldLabel]\"\n [cdkOptionDisabled]=\"returnBooleanValue(item, 'disabled') || returnBooleanValue(item, 'visible') === false\"\n [attr.aria-selected]=\"isSelectedItem(item) || item.selected\"\n (click)=\"onSelectItem(item, $event)\"\n (keydown)=\"onKeyDown(item, $event)\"\n >\n @if (item.subItems?.length) {\n <po-item-list\n [p-label]=\"item.label\"\n [p-item]=\"item\"\n [p-separator]=\"item.separator || separator\"\n [p-icon]=\"'po-icon-arrow-right'\"\n [p-icon-position]=\"'right'\"\n >\n </po-item-list>\n } @else if (!item.subItems?.length && returnBooleanValue(item, 'visible') !== false) {\n <po-item-list\n class=\"po-listbox-item-sub\"\n [p-disabled]=\"returnBooleanValue(item, 'disabled')\"\n [p-visible]=\"returnBooleanValue(item, 'visible')\"\n [p-label]=\"item[fieldLabel]\"\n [p-item]=\"item\"\n [p-icon]=\"item.icon\"\n [p-separator]=\"item.separator || separator\"\n [p-danger]=\"item.type === 'danger'\"\n [p-selected]=\"isSelectedItem(item) || item.selected\"\n >\n </po-item-list>\n }\n </li>\n }\n }\n\n @if (currentGroup) {\n <li\n #listboxGroupHeader\n class=\"po-listbox-group-header\"\n [cdkOption]=\"'back-option'\"\n [attr.aria-label]=\"literals?.backToPreviousGroup\"\n (click)=\"goBack($event)\"\n (keydown)=\"onKeydownGoBack($event)\"\n >\n <po-icon class=\"po-field-icon\" [p-icon]=\"'po-icon-arrow-left'\"></po-icon>\n <po-tag [p-value]=\"currentGroup.label\"></po-tag>\n </li>\n\n @for (subItem of currentItems; track subItem.label) {\n @if (subItem.subItems?.length) {\n <li\n [cdkOption]=\"subItem[fieldLabel]\"\n (click)=\"onSelectItem(subItem, $event)\"\n (keydown)=\"onKeyDown(subItem, $event)\"\n >\n <po-item-list\n [p-label]=\"subItem.label\"\n [p-item]=\"subItem\"\n [p-separator]=\"subItem.separator || separator\"\n [p-icon]=\"'po-icon-arrow-right'\"\n [p-icon-position]=\"'right'\"\n >\n </po-item-list>\n </li>\n } @else if (!subItem.subItems?.length && returnBooleanValue(subItem, 'visible') !== false) {\n <li\n [cdkOption]=\"subItem[fieldLabel]\"\n (click)=\"onSelectItem(subItem, $event)\"\n (keydown)=\"onKeyDown(subItem, $event)\"\n >\n <po-item-list\n class=\"po-listbox-item-sub\"\n [p-disabled]=\"returnBooleanValue(subItem, 'disabled')\"\n [p-visible]=\"returnBooleanValue(subItem, 'visible')\"\n [p-label]=\"subItem[fieldLabel]\"\n [p-item]=\"subItem\"\n [p-icon]=\"subItem.icon\"\n [p-separator]=\"subItem.separator || separator\"\n [p-danger]=\"subItem.type === 'danger'\"\n [p-selected]=\"isSelectedItem(subItem) || subItem.selected\"\n >\n </po-item-list>\n </li>\n }\n }\n }\n </ul>\n }\n\n @if (isServerSearching && type !== 'action') {\n <div [class.po-listbox-container-loading-default]=\"!infiniteLoading\">\n <po-loading-overlay [p-size]=\"getSizeLoading()\" [p-text]=\"getTextLoading()\"></po-loading-overlay>\n </div>\n }\n</div>\n", dependencies: [{ kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoLoadingOverlayComponent, selector: "po-loading-overlay" }, { kind: "component", type: PoTagComponent, selector: "po-tag" }, { kind: "directive", type: i4.CdkListbox, selector: "[cdkListbox]", inputs: ["id", "tabindex", "cdkListboxValue", "cdkListboxMultiple", "cdkListboxDisabled", "cdkListboxUseActiveDescendant", "cdkListboxOrientation", "cdkListboxCompareWith", "cdkListboxNavigationWrapDisabled", "cdkListboxNavigatesDisabledOptions"], outputs: ["cdkListboxValueChange"], exportAs: ["cdkListbox"] }, { kind: "directive", type: i4.CdkOption, selector: "[cdkOption]", inputs: ["id", "cdkOption", "cdkOptionTypeaheadLabel", "cdkOptionDisabled", "tabindex"], exportAs: ["cdkOption"] }, { kind: "component", type: PoItemListComponent, selector: "po-item-list" }, { kind: "component", type: PoSearchListComponent, selector: "po-search-list", inputs: ["p-literals", "p-field-value", "p-size", "p-placeholder"], outputs: ["p-change"] }] });
8589
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: PoListBoxComponent, isStandalone: false, selector: "po-listbox", viewQueries: [{ propertyName: "listbox", first: true, predicate: ["listbox"], descendants: true, static: true }, { propertyName: "listboxItemList", first: true, predicate: ["listboxItemList"], descendants: true }, { propertyName: "listboxGroupHeader", first: true, predicate: ["listboxGroupHeader"], descendants: true }, { propertyName: "searchElement", first: true, predicate: ["searchElement"], descendants: true }, { propertyName: "popupHeaderContainer", first: true, predicate: ["popupHeaderContainer"], descendants: true }, { propertyName: "listboxItems", predicate: ["listboxItem"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n #listbox\n class=\"po-listbox\"\n [class.po-listbox-check]=\"type === 'check' || type === 'option'\"\n [attr.data-type]=\"type\"\n [attr.p-size]=\"size\"\n [hidden]=\"visible\"\n>\n <div #popupHeaderContainer>\n <ng-content select=\"[p-popup-header-template]\"></ng-content>\n </div>\n\n @if (!hideSearch && type === 'check') {\n <po-search-list\n #searchElement\n (p-change)=\"callChangeSearch($event)\"\n [p-literals]=\"literalSearch\"\n [p-field-value]=\"fieldValueSearch\"\n [p-placeholder]=\"placeholderSearch\"\n [p-size]=\"size\"\n ></po-search-list>\n }\n\n @if (checkTemplate() && !listboxSubitems) {\n <ul #listboxItemList cdkListbox [cdkListboxMultiple]=\"type === 'check'\" class=\"po-listbox-list\">\n @if (type === 'check' && items.length && !searchElement?.inputValue && !hideSelectAll) {\n <li\n cdkOption=\"selectAll\"\n [attr.aria-checked]=\"checkboxAllValue === null ? 'mixed' : checkboxAllValue\"\n class=\"po-listbox-item-type-check\"\n (click)=\"changeAll.emit()\"\n (keydown)=\"changeAllEmit($event)\"\n (keydown)=\"onSelectAllCheckboxKeyDown($event)\"\n >\n <po-item-list\n [p-selected]=\"checkboxAllValue\"\n p-type=\"check\"\n [p-label]=\"literals.selectAll\"\n p-value=\"selectAll\"\n [p-checkbox-value]=\"checkboxAllValue\"\n [p-size]=\"size\"\n >\n </po-item-list>\n </li>\n }\n @for (item of items; track item) {\n <li\n [class.po-listbox-item]=\"visible\"\n [class.po-listbox-item-type-check]=\"type === 'check'\"\n [cdkOption]=\"item[fieldLabel]\"\n [cdkOptionDisabled]=\"\n returnBooleanValue(item, 'disabled') || returnBooleanValue(item, 'visible') === false || item.options\n \"\n [attr.aria-selected]=\"isSelectedItem(item) || item.selected\"\n (click)=\"onSelectItem(item)\"\n (keydown)=\"onKeyDown(item, $event)\"\n >\n @if (item.options) {\n <label class=\"po-combo-item-title\">\n {{ item.label }}\n </label>\n }\n @if (returnBooleanValue(item, 'visible') !== false) {\n <po-item-list\n [p-disabled]=\"returnBooleanValue(item, 'disabled')\"\n [p-visible]=\"returnBooleanValue(item, 'visible')\"\n [p-checkbox-value]=\"isSelectedItem(item)\"\n [attr.data-item-list]=\"formatItemList(item)\"\n [p-label]=\"item[fieldLabel]\"\n [p-value]=\"item[fieldValue]\"\n [p-selected]=\"isSelectedItem(item) || item.selected\"\n [p-active-tabs]=\"item.active\"\n [p-separator]=\"item.separator || separator\"\n [p-danger]=\"item.danger || item.type === 'danger'\"\n [p-icon]=\"item.icon\"\n [p-type]=\"type\"\n [p-item]=\"item\"\n [p-tab-hide]=\"item.hide\"\n [p-is-tabs]=\"isTabs\"\n [p-field-value]=\"fieldValue\"\n [p-field-label]=\"fieldLabel\"\n [p-template]=\"template\"\n [p-template-context]=\"item\"\n (p-selectcheckbox-item)=\"checkboxClicked($event)\"\n (p-selectcombo-item)=\"optionClicked(item)\"\n (p-emit-item-tabs)=\"onSelectTabs($event)\"\n (p-activated-tabs)=\"onActivatedTabs($event)\"\n [p-search-value]=\"searchValue\"\n [p-filter-mode]=\"filterMode\"\n [p-filtering]=\"isFiltering\"\n [p-size]=\"size\"\n [p-should-mark-letter]=\"shouldMarkLetters\"\n [p-compare-cache]=\"compareCache\"\n [p-combo-service]=\"comboService\"\n [p-keys-label]=\"keysLabel\"\n ></po-item-list>\n }\n </li>\n }\n\n @if (footerActionListbox) {\n @if (placeholderListbox) {\n <div class=\"po-item-list\" aria-hidden=\"true\">\n <span>{{ placeholderListbox }}</span>\n </div>\n }\n\n @if (!placeholderListbox && !items.length) {\n <div class=\"po-item-list\" aria-hidden=\"true\">\n <span>{{ literals.noItems }}</span>\n </div>\n }\n\n <li\n class=\"po-listbox-item\"\n (click)=\"handleFooterActionListbox()\"\n (keydown)=\"onKeyDown({ type: 'footerAction' }, $event)\"\n cdkOption=\"footerActionListbox\"\n >\n <po-item-list [p-label]=\"literals.footerActionListbox\" p-separator [p-size]=\"size\" />\n </li>\n }\n </ul>\n } @else {\n @if (!items.length && !isServerSearching && type !== 'action' && !footerActionListbox) {\n <div class=\"po-listbox-container-no-data po-text-center\">\n <span> {{ literals.noItems }}</span>\n </div>\n }\n }\n\n @if (listboxSubitems) {\n <ul cdkListbox class=\"po-listbox-list po-listbox-dropdown\">\n @if (!currentGroup) {\n @for (item of currentItems; track item) {\n <li\n #listboxItem\n [class.po-listbox-item]=\"visible\"\n [cdkOption]=\"item[fieldLabel]\"\n [cdkOptionDisabled]=\"returnBooleanValue(item, 'disabled') || returnBooleanValue(item, 'visible') === false\"\n [attr.aria-selected]=\"isSelectedItem(item) || item.selected\"\n (click)=\"onSelectItem(item, $event)\"\n (keydown)=\"onKeyDown(item, $event)\"\n >\n @if (item.subItems?.length || item.$subItemTemplate) {\n <po-item-list\n [p-label]=\"item.label\"\n [p-item]=\"item\"\n [p-separator]=\"item.separator || separator\"\n [p-icon]=\"item.icon\"\n [p-icon-arrow-right]=\"'ICON_ARROW_RIGHT'\"\n [p-selected]=\"isSelectedItem(item) || item.selected\"\n >\n </po-item-list>\n } @else if (!item.subItems?.length && returnBooleanValue(item, 'visible') !== false) {\n <po-item-list\n class=\"po-listbox-item-sub\"\n [p-disabled]=\"returnBooleanValue(item, 'disabled')\"\n [p-visible]=\"returnBooleanValue(item, 'visible')\"\n [p-label]=\"item[fieldLabel]\"\n [p-item]=\"item\"\n [p-icon]=\"item.icon\"\n [p-separator]=\"item.separator || separator\"\n [p-danger]=\"item.type === 'danger'\"\n [p-selected]=\"isSelectedItem(item) || item.selected\"\n >\n </po-item-list>\n }\n </li>\n }\n }\n\n @if (currentGroup) {\n <li\n #listboxGroupHeader\n class=\"po-listbox-group-header\"\n [cdkOption]=\"'back-option'\"\n [attr.aria-label]=\"literals?.backToPreviousGroup\"\n (click)=\"goBack($event)\"\n (keydown)=\"onKeydownGoBack($event, currentGroup)\"\n >\n <po-icon class=\"po-field-icon\" [p-icon]=\"'ICON_ARROW_LEFT'\"></po-icon>\n <po-tag [p-value]=\"currentGroup.label\"></po-tag>\n </li>\n\n @if (currentGroup.$subItemTemplate) {\n <div\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"onKeydownTemplate($event)\"\n (keydown.space)=\"$event.stopPropagation()\"\n >\n <ng-container\n *ngTemplateOutlet=\"currentGroup.$subItemTemplate; context: { $implicit: currentGroup }\"\n ></ng-container>\n </div>\n } @else {\n @for (subItem of currentItems; track subItem.label) {\n @if (subItem.subItems?.length) {\n <li\n [cdkOption]=\"subItem[fieldLabel]\"\n (click)=\"onSelectItem(subItem, $event)\"\n (keydown)=\"onKeyDown(subItem, $event)\"\n >\n <po-item-list\n [p-label]=\"subItem.label\"\n [p-item]=\"subItem\"\n [p-separator]=\"subItem.separator || separator\"\n [p-icon]=\"'ICON_ARROW_RIGHT'\"\n [p-icon-position]=\"'right'\"\n >\n </po-item-list>\n </li>\n } @else if (!subItem.subItems?.length && returnBooleanValue(subItem, 'visible') !== false) {\n <li\n [cdkOption]=\"subItem[fieldLabel]\"\n (click)=\"onSelectItem(subItem, $event)\"\n (keydown)=\"onKeyDown(subItem, $event)\"\n >\n <po-item-list\n class=\"po-listbox-item-sub\"\n [p-disabled]=\"returnBooleanValue(subItem, 'disabled')\"\n [p-visible]=\"returnBooleanValue(subItem, 'visible')\"\n [p-label]=\"subItem[fieldLabel]\"\n [p-item]=\"subItem\"\n [p-icon]=\"subItem.icon\"\n [p-separator]=\"subItem.separator || separator\"\n [p-danger]=\"subItem.type === 'danger'\"\n [p-selected]=\"isSelectedItem(subItem) || subItem.selected\"\n >\n </po-item-list>\n </li>\n }\n }\n }\n }\n </ul>\n }\n\n @if (isServerSearching && type !== 'action') {\n <div [class.po-listbox-container-loading-default]=\"!infiniteLoading\">\n <po-loading-overlay [p-size]=\"getSizeLoading()\" [p-text]=\"getTextLoading()\"></po-loading-overlay>\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoLoadingOverlayComponent, selector: "po-loading-overlay" }, { kind: "component", type: PoTagComponent, selector: "po-tag" }, { kind: "directive", type: i5$1.CdkListbox, selector: "[cdkListbox]", inputs: ["id", "tabindex", "cdkListboxValue", "cdkListboxMultiple", "cdkListboxDisabled", "cdkListboxUseActiveDescendant", "cdkListboxOrientation", "cdkListboxCompareWith", "cdkListboxNavigationWrapDisabled", "cdkListboxNavigatesDisabledOptions"], outputs: ["cdkListboxValueChange"], exportAs: ["cdkListbox"] }, { kind: "directive", type: i5$1.CdkOption, selector: "[cdkOption]", inputs: ["id", "cdkOption", "cdkOptionTypeaheadLabel", "cdkOptionDisabled", "tabindex"], exportAs: ["cdkOption"] }, { kind: "component", type: PoItemListComponent, selector: "po-item-list" }, { kind: "component", type: PoSearchListComponent, selector: "po-search-list", inputs: ["p-literals", "p-field-value", "p-size", "p-placeholder"], outputs: ["p-change"] }] });
8468
8590
  }
8469
8591
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoListBoxComponent, decorators: [{
8470
8592
  type: Component,
8471
- args: [{ selector: 'po-listbox', standalone: false, template: "<div\n #listbox\n class=\"po-listbox\"\n [class.po-listbox-check]=\"type === 'check' || type === 'option'\"\n [attr.data-type]=\"type\"\n [attr.p-size]=\"size\"\n [hidden]=\"visible\"\n>\n <div #popupHeaderContainer>\n <ng-content select=\"[p-popup-header-template]\"></ng-content>\n </div>\n\n @if (!hideSearch && type === 'check') {\n <po-search-list\n #searchElement\n (p-change)=\"callChangeSearch($event)\"\n [p-literals]=\"literalSearch\"\n [p-field-value]=\"fieldValueSearch\"\n [p-placeholder]=\"placeholderSearch\"\n [p-size]=\"size\"\n ></po-search-list>\n }\n\n @if (checkTemplate() && !listboxSubitems) {\n <ul #listboxItemList cdkListbox [cdkListboxMultiple]=\"type === 'check'\" class=\"po-listbox-list\">\n @if (type === 'check' && items.length && !searchElement?.inputValue && !hideSelectAll) {\n <li\n cdkOption=\"selectAll\"\n [attr.aria-checked]=\"checkboxAllValue === null ? 'mixed' : checkboxAllValue\"\n class=\"po-listbox-item-type-check\"\n (click)=\"changeAll.emit()\"\n (keydown)=\"changeAllEmit($event)\"\n (keydown)=\"onSelectAllCheckboxKeyDown($event)\"\n >\n <po-item-list\n [p-selected]=\"checkboxAllValue\"\n p-type=\"check\"\n [p-label]=\"literals.selectAll\"\n p-value=\"selectAll\"\n [p-checkbox-value]=\"checkboxAllValue\"\n [p-size]=\"size\"\n >\n </po-item-list>\n </li>\n }\n @for (item of items; track item) {\n <li\n [class.po-listbox-item]=\"visible\"\n [class.po-listbox-item-type-check]=\"type === 'check'\"\n [cdkOption]=\"item[fieldLabel]\"\n [cdkOptionDisabled]=\"\n returnBooleanValue(item, 'disabled') || returnBooleanValue(item, 'visible') === false || item.options\n \"\n [attr.aria-selected]=\"isSelectedItem(item) || item.selected\"\n (click)=\"onSelectItem(item)\"\n (keydown)=\"onKeyDown(item, $event)\"\n >\n @if (item.options) {\n <label class=\"po-combo-item-title\">\n {{ item.label }}\n </label>\n }\n @if (returnBooleanValue(item, 'visible') !== false) {\n <po-item-list\n [p-disabled]=\"returnBooleanValue(item, 'disabled')\"\n [p-visible]=\"returnBooleanValue(item, 'visible')\"\n [p-checkbox-value]=\"isSelectedItem(item)\"\n [attr.data-item-list]=\"formatItemList(item)\"\n [p-label]=\"item[fieldLabel]\"\n [p-value]=\"item[fieldValue]\"\n [p-selected]=\"isSelectedItem(item) || item.selected\"\n [p-active-tabs]=\"item.active\"\n [p-separator]=\"item.separator || separator\"\n [p-danger]=\"item.danger || item.type === 'danger'\"\n [p-icon]=\"item.icon\"\n [p-type]=\"type\"\n [p-item]=\"item\"\n [p-tab-hide]=\"item.hide\"\n [p-is-tabs]=\"isTabs\"\n [p-field-value]=\"fieldValue\"\n [p-field-label]=\"fieldLabel\"\n [p-template]=\"template\"\n [p-template-context]=\"item\"\n (p-selectcheckbox-item)=\"checkboxClicked($event)\"\n (p-selectcombo-item)=\"optionClicked(item)\"\n (p-emit-item-tabs)=\"onSelectTabs($event)\"\n (p-activated-tabs)=\"onActivatedTabs($event)\"\n [p-search-value]=\"searchValue\"\n [p-filter-mode]=\"filterMode\"\n [p-filtering]=\"isFiltering\"\n [p-size]=\"size\"\n [p-should-mark-letter]=\"shouldMarkLetters\"\n [p-compare-cache]=\"compareCache\"\n [p-combo-service]=\"comboService\"\n [p-keys-label]=\"keysLabel\"\n ></po-item-list>\n }\n </li>\n }\n\n @if (footerActionListbox) {\n @if (placeholderListbox) {\n <div class=\"po-item-list\" aria-hidden=\"true\">\n <span>{{ placeholderListbox }}</span>\n </div>\n }\n\n @if (!placeholderListbox && !items.length) {\n <div class=\"po-item-list\" aria-hidden=\"true\">\n <span>{{ literals.noItems }}</span>\n </div>\n }\n\n <li\n class=\"po-listbox-item\"\n (click)=\"handleFooterActionListbox()\"\n (keydown)=\"onKeyDown({ type: 'footerAction' }, $event)\"\n cdkOption=\"footerActionListbox\"\n >\n <po-item-list [p-label]=\"literals.footerActionListbox\" p-separator [p-size]=\"size\" />\n </li>\n }\n </ul>\n } @else {\n @if (!items.length && !isServerSearching && type !== 'action' && !footerActionListbox) {\n <div class=\"po-listbox-container-no-data po-text-center\">\n <span> {{ literals.noItems }}</span>\n </div>\n }\n }\n\n @if (listboxSubitems) {\n <ul cdkListbox class=\"po-listbox-list po-listbox-dropdown\">\n @if (!currentGroup) {\n @for (item of currentItems; track item) {\n <li\n #listboxItem\n [class.po-listbox-item]=\"visible\"\n [cdkOption]=\"item[fieldLabel]\"\n [cdkOptionDisabled]=\"returnBooleanValue(item, 'disabled') || returnBooleanValue(item, 'visible') === false\"\n [attr.aria-selected]=\"isSelectedItem(item) || item.selected\"\n (click)=\"onSelectItem(item, $event)\"\n (keydown)=\"onKeyDown(item, $event)\"\n >\n @if (item.subItems?.length) {\n <po-item-list\n [p-label]=\"item.label\"\n [p-item]=\"item\"\n [p-separator]=\"item.separator || separator\"\n [p-icon]=\"'po-icon-arrow-right'\"\n [p-icon-position]=\"'right'\"\n >\n </po-item-list>\n } @else if (!item.subItems?.length && returnBooleanValue(item, 'visible') !== false) {\n <po-item-list\n class=\"po-listbox-item-sub\"\n [p-disabled]=\"returnBooleanValue(item, 'disabled')\"\n [p-visible]=\"returnBooleanValue(item, 'visible')\"\n [p-label]=\"item[fieldLabel]\"\n [p-item]=\"item\"\n [p-icon]=\"item.icon\"\n [p-separator]=\"item.separator || separator\"\n [p-danger]=\"item.type === 'danger'\"\n [p-selected]=\"isSelectedItem(item) || item.selected\"\n >\n </po-item-list>\n }\n </li>\n }\n }\n\n @if (currentGroup) {\n <li\n #listboxGroupHeader\n class=\"po-listbox-group-header\"\n [cdkOption]=\"'back-option'\"\n [attr.aria-label]=\"literals?.backToPreviousGroup\"\n (click)=\"goBack($event)\"\n (keydown)=\"onKeydownGoBack($event)\"\n >\n <po-icon class=\"po-field-icon\" [p-icon]=\"'po-icon-arrow-left'\"></po-icon>\n <po-tag [p-value]=\"currentGroup.label\"></po-tag>\n </li>\n\n @for (subItem of currentItems; track subItem.label) {\n @if (subItem.subItems?.length) {\n <li\n [cdkOption]=\"subItem[fieldLabel]\"\n (click)=\"onSelectItem(subItem, $event)\"\n (keydown)=\"onKeyDown(subItem, $event)\"\n >\n <po-item-list\n [p-label]=\"subItem.label\"\n [p-item]=\"subItem\"\n [p-separator]=\"subItem.separator || separator\"\n [p-icon]=\"'po-icon-arrow-right'\"\n [p-icon-position]=\"'right'\"\n >\n </po-item-list>\n </li>\n } @else if (!subItem.subItems?.length && returnBooleanValue(subItem, 'visible') !== false) {\n <li\n [cdkOption]=\"subItem[fieldLabel]\"\n (click)=\"onSelectItem(subItem, $event)\"\n (keydown)=\"onKeyDown(subItem, $event)\"\n >\n <po-item-list\n class=\"po-listbox-item-sub\"\n [p-disabled]=\"returnBooleanValue(subItem, 'disabled')\"\n [p-visible]=\"returnBooleanValue(subItem, 'visible')\"\n [p-label]=\"subItem[fieldLabel]\"\n [p-item]=\"subItem\"\n [p-icon]=\"subItem.icon\"\n [p-separator]=\"subItem.separator || separator\"\n [p-danger]=\"subItem.type === 'danger'\"\n [p-selected]=\"isSelectedItem(subItem) || subItem.selected\"\n >\n </po-item-list>\n </li>\n }\n }\n }\n </ul>\n }\n\n @if (isServerSearching && type !== 'action') {\n <div [class.po-listbox-container-loading-default]=\"!infiniteLoading\">\n <po-loading-overlay [p-size]=\"getSizeLoading()\" [p-text]=\"getTextLoading()\"></po-loading-overlay>\n </div>\n }\n</div>\n" }]
8593
+ args: [{ selector: 'po-listbox', standalone: false, template: "<div\n #listbox\n class=\"po-listbox\"\n [class.po-listbox-check]=\"type === 'check' || type === 'option'\"\n [attr.data-type]=\"type\"\n [attr.p-size]=\"size\"\n [hidden]=\"visible\"\n>\n <div #popupHeaderContainer>\n <ng-content select=\"[p-popup-header-template]\"></ng-content>\n </div>\n\n @if (!hideSearch && type === 'check') {\n <po-search-list\n #searchElement\n (p-change)=\"callChangeSearch($event)\"\n [p-literals]=\"literalSearch\"\n [p-field-value]=\"fieldValueSearch\"\n [p-placeholder]=\"placeholderSearch\"\n [p-size]=\"size\"\n ></po-search-list>\n }\n\n @if (checkTemplate() && !listboxSubitems) {\n <ul #listboxItemList cdkListbox [cdkListboxMultiple]=\"type === 'check'\" class=\"po-listbox-list\">\n @if (type === 'check' && items.length && !searchElement?.inputValue && !hideSelectAll) {\n <li\n cdkOption=\"selectAll\"\n [attr.aria-checked]=\"checkboxAllValue === null ? 'mixed' : checkboxAllValue\"\n class=\"po-listbox-item-type-check\"\n (click)=\"changeAll.emit()\"\n (keydown)=\"changeAllEmit($event)\"\n (keydown)=\"onSelectAllCheckboxKeyDown($event)\"\n >\n <po-item-list\n [p-selected]=\"checkboxAllValue\"\n p-type=\"check\"\n [p-label]=\"literals.selectAll\"\n p-value=\"selectAll\"\n [p-checkbox-value]=\"checkboxAllValue\"\n [p-size]=\"size\"\n >\n </po-item-list>\n </li>\n }\n @for (item of items; track item) {\n <li\n [class.po-listbox-item]=\"visible\"\n [class.po-listbox-item-type-check]=\"type === 'check'\"\n [cdkOption]=\"item[fieldLabel]\"\n [cdkOptionDisabled]=\"\n returnBooleanValue(item, 'disabled') || returnBooleanValue(item, 'visible') === false || item.options\n \"\n [attr.aria-selected]=\"isSelectedItem(item) || item.selected\"\n (click)=\"onSelectItem(item)\"\n (keydown)=\"onKeyDown(item, $event)\"\n >\n @if (item.options) {\n <label class=\"po-combo-item-title\">\n {{ item.label }}\n </label>\n }\n @if (returnBooleanValue(item, 'visible') !== false) {\n <po-item-list\n [p-disabled]=\"returnBooleanValue(item, 'disabled')\"\n [p-visible]=\"returnBooleanValue(item, 'visible')\"\n [p-checkbox-value]=\"isSelectedItem(item)\"\n [attr.data-item-list]=\"formatItemList(item)\"\n [p-label]=\"item[fieldLabel]\"\n [p-value]=\"item[fieldValue]\"\n [p-selected]=\"isSelectedItem(item) || item.selected\"\n [p-active-tabs]=\"item.active\"\n [p-separator]=\"item.separator || separator\"\n [p-danger]=\"item.danger || item.type === 'danger'\"\n [p-icon]=\"item.icon\"\n [p-type]=\"type\"\n [p-item]=\"item\"\n [p-tab-hide]=\"item.hide\"\n [p-is-tabs]=\"isTabs\"\n [p-field-value]=\"fieldValue\"\n [p-field-label]=\"fieldLabel\"\n [p-template]=\"template\"\n [p-template-context]=\"item\"\n (p-selectcheckbox-item)=\"checkboxClicked($event)\"\n (p-selectcombo-item)=\"optionClicked(item)\"\n (p-emit-item-tabs)=\"onSelectTabs($event)\"\n (p-activated-tabs)=\"onActivatedTabs($event)\"\n [p-search-value]=\"searchValue\"\n [p-filter-mode]=\"filterMode\"\n [p-filtering]=\"isFiltering\"\n [p-size]=\"size\"\n [p-should-mark-letter]=\"shouldMarkLetters\"\n [p-compare-cache]=\"compareCache\"\n [p-combo-service]=\"comboService\"\n [p-keys-label]=\"keysLabel\"\n ></po-item-list>\n }\n </li>\n }\n\n @if (footerActionListbox) {\n @if (placeholderListbox) {\n <div class=\"po-item-list\" aria-hidden=\"true\">\n <span>{{ placeholderListbox }}</span>\n </div>\n }\n\n @if (!placeholderListbox && !items.length) {\n <div class=\"po-item-list\" aria-hidden=\"true\">\n <span>{{ literals.noItems }}</span>\n </div>\n }\n\n <li\n class=\"po-listbox-item\"\n (click)=\"handleFooterActionListbox()\"\n (keydown)=\"onKeyDown({ type: 'footerAction' }, $event)\"\n cdkOption=\"footerActionListbox\"\n >\n <po-item-list [p-label]=\"literals.footerActionListbox\" p-separator [p-size]=\"size\" />\n </li>\n }\n </ul>\n } @else {\n @if (!items.length && !isServerSearching && type !== 'action' && !footerActionListbox) {\n <div class=\"po-listbox-container-no-data po-text-center\">\n <span> {{ literals.noItems }}</span>\n </div>\n }\n }\n\n @if (listboxSubitems) {\n <ul cdkListbox class=\"po-listbox-list po-listbox-dropdown\">\n @if (!currentGroup) {\n @for (item of currentItems; track item) {\n <li\n #listboxItem\n [class.po-listbox-item]=\"visible\"\n [cdkOption]=\"item[fieldLabel]\"\n [cdkOptionDisabled]=\"returnBooleanValue(item, 'disabled') || returnBooleanValue(item, 'visible') === false\"\n [attr.aria-selected]=\"isSelectedItem(item) || item.selected\"\n (click)=\"onSelectItem(item, $event)\"\n (keydown)=\"onKeyDown(item, $event)\"\n >\n @if (item.subItems?.length || item.$subItemTemplate) {\n <po-item-list\n [p-label]=\"item.label\"\n [p-item]=\"item\"\n [p-separator]=\"item.separator || separator\"\n [p-icon]=\"item.icon\"\n [p-icon-arrow-right]=\"'ICON_ARROW_RIGHT'\"\n [p-selected]=\"isSelectedItem(item) || item.selected\"\n >\n </po-item-list>\n } @else if (!item.subItems?.length && returnBooleanValue(item, 'visible') !== false) {\n <po-item-list\n class=\"po-listbox-item-sub\"\n [p-disabled]=\"returnBooleanValue(item, 'disabled')\"\n [p-visible]=\"returnBooleanValue(item, 'visible')\"\n [p-label]=\"item[fieldLabel]\"\n [p-item]=\"item\"\n [p-icon]=\"item.icon\"\n [p-separator]=\"item.separator || separator\"\n [p-danger]=\"item.type === 'danger'\"\n [p-selected]=\"isSelectedItem(item) || item.selected\"\n >\n </po-item-list>\n }\n </li>\n }\n }\n\n @if (currentGroup) {\n <li\n #listboxGroupHeader\n class=\"po-listbox-group-header\"\n [cdkOption]=\"'back-option'\"\n [attr.aria-label]=\"literals?.backToPreviousGroup\"\n (click)=\"goBack($event)\"\n (keydown)=\"onKeydownGoBack($event, currentGroup)\"\n >\n <po-icon class=\"po-field-icon\" [p-icon]=\"'ICON_ARROW_LEFT'\"></po-icon>\n <po-tag [p-value]=\"currentGroup.label\"></po-tag>\n </li>\n\n @if (currentGroup.$subItemTemplate) {\n <div\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"onKeydownTemplate($event)\"\n (keydown.space)=\"$event.stopPropagation()\"\n >\n <ng-container\n *ngTemplateOutlet=\"currentGroup.$subItemTemplate; context: { $implicit: currentGroup }\"\n ></ng-container>\n </div>\n } @else {\n @for (subItem of currentItems; track subItem.label) {\n @if (subItem.subItems?.length) {\n <li\n [cdkOption]=\"subItem[fieldLabel]\"\n (click)=\"onSelectItem(subItem, $event)\"\n (keydown)=\"onKeyDown(subItem, $event)\"\n >\n <po-item-list\n [p-label]=\"subItem.label\"\n [p-item]=\"subItem\"\n [p-separator]=\"subItem.separator || separator\"\n [p-icon]=\"'ICON_ARROW_RIGHT'\"\n [p-icon-position]=\"'right'\"\n >\n </po-item-list>\n </li>\n } @else if (!subItem.subItems?.length && returnBooleanValue(subItem, 'visible') !== false) {\n <li\n [cdkOption]=\"subItem[fieldLabel]\"\n (click)=\"onSelectItem(subItem, $event)\"\n (keydown)=\"onKeyDown(subItem, $event)\"\n >\n <po-item-list\n class=\"po-listbox-item-sub\"\n [p-disabled]=\"returnBooleanValue(subItem, 'disabled')\"\n [p-visible]=\"returnBooleanValue(subItem, 'visible')\"\n [p-label]=\"subItem[fieldLabel]\"\n [p-item]=\"subItem\"\n [p-icon]=\"subItem.icon\"\n [p-separator]=\"subItem.separator || separator\"\n [p-danger]=\"subItem.type === 'danger'\"\n [p-selected]=\"isSelectedItem(subItem) || subItem.selected\"\n >\n </po-item-list>\n </li>\n }\n }\n }\n }\n </ul>\n }\n\n @if (isServerSearching && type !== 'action') {\n <div [class.po-listbox-container-loading-default]=\"!infiniteLoading\">\n <po-loading-overlay [p-size]=\"getSizeLoading()\" [p-text]=\"getTextLoading()\"></po-loading-overlay>\n </div>\n }\n</div>\n" }]
8472
8594
  }], ctorParameters: () => [], propDecorators: { listbox: [{
8473
8595
  type: ViewChild,
8474
8596
  args: ['listbox', { static: true }]
@@ -8512,6 +8634,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
8512
8634
  *
8513
8635
  */
8514
8636
  class PoPopupComponent extends PoPopupBaseComponent {
8637
+ id = `po-popup[${uuid()}]`;
8515
8638
  renderer = inject(Renderer2);
8516
8639
  router = inject(Router);
8517
8640
  poControlPosition = inject(PoControlPositionService);
@@ -8520,6 +8643,11 @@ class PoPopupComponent extends PoPopupBaseComponent {
8520
8643
  listbox;
8521
8644
  //utilizado apenas no theme builder
8522
8645
  poListBoxRef;
8646
+ ngAfterViewInit() {
8647
+ if (this.templateIcon && this.target) {
8648
+ this.target = this.target?.iconElement?.nativeElement;
8649
+ }
8650
+ }
8523
8651
  /**
8524
8652
  * Fecha o componente *popup*.
8525
8653
  *
@@ -8572,7 +8700,7 @@ class PoPopupComponent extends PoPopupBaseComponent {
8572
8700
  if (!item.goBack) {
8573
8701
  this.clickItem.emit(item);
8574
8702
  }
8575
- if (item.subItems || item.goBack) {
8703
+ if (item.subItems || item.$subItemTemplate || item.goBack) {
8576
8704
  this.changeDetector.detectChanges();
8577
8705
  this.validateInitialContent();
8578
8706
  }
@@ -10703,6 +10831,49 @@ var PoChartLabelFormat;
10703
10831
  PoChartLabelFormat["Currency"] = "currency";
10704
10832
  })(PoChartLabelFormat || (PoChartLabelFormat = {}));
10705
10833
 
10834
+ const poChartLiteralsDefault = {
10835
+ en: {
10836
+ downloadCSV: 'Download CSV',
10837
+ exportCSV: 'Export CSV',
10838
+ exportJPG: 'Export JPG',
10839
+ exportPNG: 'Export PNG',
10840
+ value: 'Value',
10841
+ item: 'Item',
10842
+ serie: 'Series',
10843
+ category: 'Category'
10844
+ },
10845
+ es: {
10846
+ downloadCSV: 'Descargar CSV',
10847
+ exportCSV: 'Exportar CSV',
10848
+ exportJPG: 'Exportar JPG',
10849
+ exportPNG: 'Exportar PNG',
10850
+ value: 'Valor',
10851
+ item: 'Artículo',
10852
+ serie: 'Serie',
10853
+ category: 'Categoría'
10854
+ },
10855
+ pt: {
10856
+ downloadCSV: 'Baixar CSV',
10857
+ exportCSV: 'Exportar CSV',
10858
+ exportJPG: 'Exportar JPG',
10859
+ exportPNG: 'Exportar PNG',
10860
+ value: 'Valor',
10861
+ item: 'Item',
10862
+ serie: 'Série',
10863
+ category: 'Categoria'
10864
+ },
10865
+ ru: {
10866
+ downloadCSV: 'Скачать CSV',
10867
+ exportCSV: 'Экспортировать CSV',
10868
+ exportJPG: 'Экспортировать JPG',
10869
+ exportPNG: 'Экспортировать PNG',
10870
+ value: 'Ценить',
10871
+ item: 'Пункт',
10872
+ serie: 'Ряд',
10873
+ category: 'Категория'
10874
+ }
10875
+ };
10876
+
10706
10877
  /**
10707
10878
  * @usedBy PoChartComponent
10708
10879
  *
@@ -10745,51 +10916,12 @@ var PoChartType;
10745
10916
  * - Para um demonstrativo mais elaborado, consegue-se definir alcances em cores, um breve texto descritivo e um ponteiro indicando o valor desejado.
10746
10917
  */
10747
10918
  PoChartType["Gauge"] = "gauge";
10919
+ /**
10920
+ * Tipo de gráfico utilizado para visualizar e comparar o desempenho de diferentes itens em múltiplas categorias.
10921
+ */
10922
+ PoChartType["Radar"] = "radar";
10748
10923
  })(PoChartType || (PoChartType = {}));
10749
10924
 
10750
- const poChartLiteralsDefault = {
10751
- en: {
10752
- downloadCSV: 'Download CSV',
10753
- exportCSV: 'Export CSV',
10754
- exportJPG: 'Export JPG',
10755
- exportPNG: 'Export PNG',
10756
- value: 'Value',
10757
- item: 'Item',
10758
- serie: 'Series',
10759
- category: 'Category'
10760
- },
10761
- es: {
10762
- downloadCSV: 'Descargar CSV',
10763
- exportCSV: 'Exportar CSV',
10764
- exportJPG: 'Exportar JPG',
10765
- exportPNG: 'Exportar PNG',
10766
- value: 'Valor',
10767
- item: 'Artículo',
10768
- serie: 'Serie',
10769
- category: 'Categoría'
10770
- },
10771
- pt: {
10772
- downloadCSV: 'Baixar CSV',
10773
- exportCSV: 'Exportar CSV',
10774
- exportJPG: 'Exportar JPG',
10775
- exportPNG: 'Exportar PNG',
10776
- value: 'Valor',
10777
- item: 'Item',
10778
- serie: 'Série',
10779
- category: 'Categoria'
10780
- },
10781
- ru: {
10782
- downloadCSV: 'Скачать CSV',
10783
- exportCSV: 'Экспортировать CSV',
10784
- exportJPG: 'Экспортировать JPG',
10785
- exportPNG: 'Экспортировать PNG',
10786
- value: 'Ценить',
10787
- item: 'Пункт',
10788
- serie: 'Ряд',
10789
- category: 'Категория'
10790
- }
10791
- };
10792
-
10793
10925
  const poChartMinHeight = 200;
10794
10926
  const poChartDefaultHeight = 400;
10795
10927
  /**
@@ -10845,6 +10977,9 @@ const poChartDefaultHeight = 400;
10845
10977
  * | `--color-base-gauge` | Cor da base do gráfico `Gauge` | `var(--color-neutral-light-20)` |
10846
10978
  * | `--color-gauge-pointer-color` | Cor do ponteiro do gráfico `Gauge` | `var(--color-neutral-dark-70)` |
10847
10979
  * | `--color-chart-line-point-fill` | Cor de dentro do círculo dos gráficos `Line` e `Area` | `var(--color-neutral-light-00)` |
10980
+ * | `--border-color-radar` | Cor do eixo da grid do gráfico `Radar` | `var(--color-neutral-light-30)` |
10981
+ * | `--color-background-zebra` | Cor das áreas alternadas (efeito zebrado) da grid do gráfico `Radar` | `var(--color-neutral-light-10)` |
10982
+ * | `--color-background-line` | Cor das áreas entre as faixas zebradas da grade do `Radar` | `none` |
10848
10983
  * | **Wrapper (.po-chart-container-gauge)** | | |
10849
10984
  * | `--background-color-container-gauge` | Cor de background do container do gauge | `var(--color-neutral-light-00)` |
10850
10985
  */
@@ -10872,11 +11007,18 @@ class PoChartBaseComponent {
10872
11007
  *
10873
11008
  * @description
10874
11009
  *
10875
- * Define os nomes das categorias que serão plotadas no eixo X do gráfico caso seja do tipo `bar`, ou então nos eixos Y do grid de gráficos dos tipos `area`, `columnn` e `line`.
11010
+ * Define os valores utilizados na construção das categorias do gráfico.
10876
11011
  *
10877
- * > Gráficos do tipo `bar` dimensionam a área do gráfico de acordo com a largura do maior texto de categorias. No entanto, é uma boa prática optar por palavras curtas para que a leitura do gráfico não seja prejudicada.
11012
+ * Para gráficos dos tipos *bar*, *area*, *column* e *line*, representa os nomes das categorias exibidas no eixo.
10878
11013
  *
10879
- * > Caso não seja especificado um valor para a categoria, será plotado um hífen na categoria referente a cada série.
11014
+ * Para gráficos do tipo *radar*, representa a configuração dos indicadores, formato (shape), áreas de divisão (splitArea)
11015
+ * e demais opções específicas do gráfico `Radar`.
11016
+ *
11017
+ * > Caso nenhum valor seja informado, será utilizado um hífen como categoria
11018
+ * correspondente para cada série.
11019
+ *
11020
+ * > Gráficos do tipo bar dimensionam sua área considerando a largura do maior texto
11021
+ * da categoria, sendo recomendável utilizar rótulos curtos para facilitar a leitura.
10880
11022
  */
10881
11023
  categories;
10882
11024
  /**
@@ -10895,7 +11037,7 @@ class PoChartBaseComponent {
10895
11037
  * Objeto com as configurações usadas no `po-chart`.
10896
11038
  *
10897
11039
  * É possível, por exemplo, definir as configurações de exibição das legendas,
10898
- * configurar os eixos(*axis*) para os gráficos dos tipos `area`, `line`, `column` e `bar` da seguinte forma:
11040
+ * configurar os eixos(*axis*) para os gráficos dos tipos `area`, `line`, `column`, `bar` e `radar` da seguinte forma:
10899
11041
  *
10900
11042
  * ```
10901
11043
  * chartOptions: PoChartOptions = {
@@ -10922,7 +11064,7 @@ class PoChartBaseComponent {
10922
11064
  * - Os marcadores (*bullets*) terão seu estilo ajustado.
10923
11065
  * - As outras séries ficarão com opacidade reduzida ao passar o mouse sobre a série ativa.
10924
11066
  *
10925
- * > Disponível apenas para gráficos do tipo `line`.
11067
+ * > Disponível para gráficos do tipo `line` e `radar`.
10926
11068
  *
10927
11069
  * #### Exemplo de utilização:
10928
11070
  * ```typescript
@@ -11023,6 +11165,7 @@ class PoChartBaseComponent {
11023
11165
  *
11024
11166
  * O evento emitirá o seguinte parâmetro:
11025
11167
  * - *donut* e *pie*: um objeto contendo a categoria e valor da série.
11168
+ * - *radar*: um objeto contendo o nome da série e os valores.
11026
11169
  * - *area*, *line*, *column* e *bar*: um objeto contendo o nome da série, valor e categoria do eixo do gráfico.
11027
11170
  */
11028
11171
  seriesClick = new EventEmitter();
@@ -11035,6 +11178,7 @@ class PoChartBaseComponent {
11035
11178
  *
11036
11179
  * O evento emitirá o seguinte parâmetro de acordo com o tipo de gráfico:
11037
11180
  * - *donut* e *pie*: um objeto contendo a categoria e valor da série.
11181
+ * - *radar*: um objeto contendo o nome da série e os valores.
11038
11182
  * - *area*, *line*, *column* e *bar*: um objeto contendo a categoria, valor da série e categoria do eixo do gráfico.
11039
11183
  */
11040
11184
  seriesHover = new EventEmitter();
@@ -11168,6 +11312,9 @@ class PoChartGridUtils {
11168
11312
  }
11169
11313
  }
11170
11314
  };
11315
+ if (this.component.isTypeRadar) {
11316
+ return;
11317
+ }
11171
11318
  if (this.component.isTypeBar) {
11172
11319
  options.yAxis.data = this.component.categories;
11173
11320
  }
@@ -11381,7 +11528,8 @@ class PoChartGridUtils {
11381
11528
  }
11382
11529
  else if ((options?.dataZoom && !options?.bottomDataZoom && options.legend === false) ||
11383
11530
  (!options?.dataZoom && options?.legend === false) ||
11384
- (!options?.dataZoom && options?.legendVerticalPosition === 'top')) {
11531
+ (!options?.dataZoom && options?.legendVerticalPosition === 'top') ||
11532
+ (this.component.isTypeRadar && options.legendVerticalPosition !== 'top')) {
11385
11533
  return gridPaddingValues.paddingBottomNoLegend;
11386
11534
  }
11387
11535
  return gridPaddingValues.paddingBottomWithTopLegend;
@@ -11411,6 +11559,135 @@ class PoChartGridUtils {
11411
11559
  : gridPaddingValues.paddingTopDefaultWithBottomLegend;
11412
11560
  }
11413
11561
  }
11562
+ isRadarOptions(value) {
11563
+ return value && typeof value === 'object' && !Array.isArray(value) && 'indicator' in value;
11564
+ }
11565
+ convertRadarConfig(indicators) {
11566
+ return {
11567
+ shape: 'polygon',
11568
+ splitArea: false,
11569
+ indicator: indicators.map(item => ({ name: item }))
11570
+ };
11571
+ }
11572
+ setListTypeRadar() {
11573
+ const radar = this.isRadarOptions(this.component.categories)
11574
+ ? this.component.categories
11575
+ : this.convertRadarConfig(this.component.categories);
11576
+ const radarConfig = {
11577
+ shape: radar?.shape ?? 'polygon',
11578
+ radius: '60%',
11579
+ splitLine: {
11580
+ show: true,
11581
+ lineStyle: {
11582
+ color: [this.component.getCSSVariable('--border-color-radar', 'po-chart .po-chart')],
11583
+ width: this.resolvePx('--border-width-sm')
11584
+ }
11585
+ },
11586
+ axisLine: {
11587
+ show: true,
11588
+ lineStyle: {
11589
+ color: this.component.getCSSVariable('--border-color-radar', 'po-chart .po-chart'),
11590
+ width: this.resolvePx('--border-width-sm')
11591
+ }
11592
+ },
11593
+ splitArea: {
11594
+ show: radar?.splitArea ?? false,
11595
+ areaStyle: {
11596
+ color: [
11597
+ this.component.getCSSVariable('--color-background-line', 'po-chart .po-chart'),
11598
+ this.component.getCSSVariable('--color-background-zebra', 'po-chart .po-chart')
11599
+ ]
11600
+ }
11601
+ },
11602
+ indicator: Array.isArray(radar?.indicator)
11603
+ ? radar.indicator.map(ind => ({
11604
+ name: ind.name,
11605
+ max: ind.max ?? undefined,
11606
+ min: ind.min ?? 0,
11607
+ color: ind.color ?? this.component.getCSSVariable('--color-neutral-dark-90')
11608
+ }))
11609
+ : []
11610
+ };
11611
+ const currentOptions = this.component.options ?? {};
11612
+ const hasGlobalAreaStyle = this.component.options?.areaStyle === true;
11613
+ const hasSeriesAreaStyle = Array.isArray(this.component.series) && this.component.series.some(serie => !!serie?.areaStyle);
11614
+ this.component.options = {
11615
+ ...this.component.options,
11616
+ fillPoints: hasGlobalAreaStyle || hasSeriesAreaStyle ? true : (currentOptions.fillPoints ?? true),
11617
+ radar: radarConfig
11618
+ };
11619
+ return radarConfig;
11620
+ }
11621
+ setSerieTypeRadar(serie, tokenBorderWidthMd, color) {
11622
+ if (serie.type === 'radar') {
11623
+ serie.type = 'radar';
11624
+ serie.symbol = 'circle';
11625
+ serie.symbolSize = 6;
11626
+ if (this.component.dataLabel?.fixed) {
11627
+ serie.label = {
11628
+ show: true
11629
+ };
11630
+ }
11631
+ serie.itemStyle = {
11632
+ color: this.component.options?.fillPoints === false
11633
+ ? this.component.getCSSVariable('--color-chart-line-point-fill', 'po-chart .po-chart')
11634
+ : color,
11635
+ borderColor: color,
11636
+ borderWidth: tokenBorderWidthMd
11637
+ };
11638
+ serie.lineStyle = { color, width: tokenBorderWidthMd };
11639
+ return serie;
11640
+ }
11641
+ }
11642
+ setTooltipRadar(params) {
11643
+ const indicators = this.component.options.radar?.indicator ?? [];
11644
+ const values = params.value ?? [];
11645
+ values.map((val, i) => {
11646
+ const indicatorName = indicators[i]?.name ?? `Indicador ${i + 1}`;
11647
+ return `${indicatorName}: <b>${val}</b>`;
11648
+ });
11649
+ }
11650
+ buildRadarTooltip(params) {
11651
+ const indicators = this.component.options.radar?.indicator ?? [];
11652
+ const values = params.value ?? [];
11653
+ let tooltip = `<b>${params.name}</b><br>`;
11654
+ values.map((val, index) => {
11655
+ const indicatorName = indicators[index]?.name ?? `Indicator ${index + 1}`;
11656
+ tooltip += `${indicatorName}: <b>${val}</b><br>`;
11657
+ });
11658
+ return tooltip;
11659
+ }
11660
+ finalizeSerieTypeRadar(seriesUpdated) {
11661
+ const hasGlobalAreaStyle = this.component.options?.areaStyle === true;
11662
+ return [
11663
+ {
11664
+ type: 'radar',
11665
+ data: seriesUpdated.map(item => {
11666
+ const name = item?.name ?? '';
11667
+ const value = Array.isArray(item?.data) ? item.data : [];
11668
+ let areaStyle;
11669
+ if (hasGlobalAreaStyle || item.areaStyle === true) {
11670
+ areaStyle = {
11671
+ opacity: 0.5
11672
+ };
11673
+ }
11674
+ else {
11675
+ areaStyle = undefined;
11676
+ }
11677
+ return {
11678
+ name,
11679
+ value,
11680
+ areaStyle,
11681
+ symbol: item.symbol,
11682
+ symbolSize: item.symbolSize,
11683
+ itemStyle: item.itemStyle,
11684
+ lineStyle: item.lineStyle,
11685
+ label: { show: item?.label?.show }
11686
+ };
11687
+ })
11688
+ }
11689
+ ];
11690
+ }
11414
11691
  }
11415
11692
 
11416
11693
  class PoChartGaugeUtils {
@@ -11562,11 +11839,9 @@ class PoChartGaugeUtils {
11562
11839
  let lengthPointer = '40%';
11563
11840
  let center = ['50%', '80%'];
11564
11841
  let widthSubtitle = height < 450 ? 400 : 500;
11565
- // 👇 Regras para telas pequenas
11566
11842
  const isSmallScreen = divWidth < 480;
11567
11843
  const isMediumScreen = divWidth >= 480 && divWidth < 960;
11568
11844
  const isLargeScreen = divWidth >= 960;
11569
- // 👇 Ajustes por largura
11570
11845
  if (isSmallScreen) {
11571
11846
  radius = height > 480 ? '100%' : '120%';
11572
11847
  lengthPointer = '25%';
@@ -11581,7 +11856,6 @@ class PoChartGaugeUtils {
11581
11856
  else if (isLargeScreen && height > 750) {
11582
11857
  radius = '100%';
11583
11858
  }
11584
- // 👇 Ajuste específico para altura muito pequena
11585
11859
  if (height < 400) {
11586
11860
  return this.setPropertiesDefaultHeight(center);
11587
11861
  }
@@ -11672,6 +11946,7 @@ use([
11672
11946
  GraphicComponent,
11673
11947
  LineChart,
11674
11948
  PieChart,
11949
+ RadarChart,
11675
11950
  BrushComponent,
11676
11951
  DataZoomComponent,
11677
11952
  GridComponent,
@@ -11716,6 +11991,11 @@ use([
11716
11991
  * <file name="sample-po-chart-world-exports/sample-po-chart-world-exports.component.html"> </file>
11717
11992
  * <file name="sample-po-chart-world-exports/sample-po-chart-world-exports.component.ts"> </file>
11718
11993
  * </example>
11994
+ *
11995
+ * <example name="po-chart-technology-skill" title="PO Chart - Radar">
11996
+ * <file name="sample-po-chart-technology-skill/sample-po-chart-technology-skill.component.html"> </file>
11997
+ * <file name="sample-po-chart-technology-skill/sample-po-chart-technology-skill.component.ts"> </file>
11998
+ * </example>
11719
11999
  */
11720
12000
  class PoChartComponent extends PoChartBaseComponent {
11721
12001
  el = inject(ElementRef);
@@ -11731,6 +12011,7 @@ class PoChartComponent extends PoChartBaseComponent {
11731
12011
  originalRadiusGauge;
11732
12012
  chartMarginTop = '0px';
11733
12013
  isTypeBar = false;
12014
+ isTypeRadar = false;
11734
12015
  boundaryGap = false;
11735
12016
  listTypePieDonut;
11736
12017
  itemsTypeDonut = [];
@@ -12013,7 +12294,9 @@ class PoChartComponent extends PoChartBaseComponent {
12013
12294
  }
12014
12295
  resolveCustomTooltip(params, name, seriesName, valueLabel) {
12015
12296
  let text;
12016
- const serie = params.seriesType === 'pie' ? this.series[params.dataIndex] : this.series[params.seriesIndex];
12297
+ const serie = params.seriesType === 'pie' || params.seriesType === 'radar'
12298
+ ? this.series[params.dataIndex]
12299
+ : this.series[params.seriesIndex];
12017
12300
  if (serie?.tooltip) {
12018
12301
  if (typeof serie.tooltip === 'function') {
12019
12302
  text = serie.tooltip(params);
@@ -12027,6 +12310,9 @@ class PoChartComponent extends PoChartBaseComponent {
12027
12310
  seriesName && !seriesName.includes('\u00000')
12028
12311
  ? `<b>${name}</b><br>${seriesName}: <b>${valueLabel}</b>`
12029
12312
  : `${name}: <b>${valueLabel}</b>`;
12313
+ if (params.seriesType === 'radar') {
12314
+ text = this.chartGridUtils.buildRadarTooltip(params);
12315
+ }
12030
12316
  }
12031
12317
  return this.parseTooltipText(text);
12032
12318
  }
@@ -12051,7 +12337,7 @@ class PoChartComponent extends PoChartBaseComponent {
12051
12337
  this.listTypePieDonut = [];
12052
12338
  this.itemsTypeDonut = [];
12053
12339
  let option = {};
12054
- if (!this.categories?.length && this.categories !== undefined) {
12340
+ if (Array.isArray(this.categories) && !this.categories?.length && this.categories !== undefined) {
12055
12341
  this.categories = undefined;
12056
12342
  }
12057
12343
  if (!this.series?.length) {
@@ -12087,6 +12373,9 @@ class PoChartComponent extends PoChartBaseComponent {
12087
12373
  if (this.isTypeGauge) {
12088
12374
  this.chartGaugeUtils.setGaugeOptions(options, this.chartGridUtils.resolvePx('--font-size-grid', '.po-chart'));
12089
12375
  }
12376
+ if (this.isTypeRadar) {
12377
+ options.radar = this.options?.radar;
12378
+ }
12090
12379
  return options;
12091
12380
  }
12092
12381
  formatLabelOption(options) {
@@ -12124,7 +12413,10 @@ class PoChartComponent extends PoChartBaseComponent {
12124
12413
  };
12125
12414
  }
12126
12415
  setSeries() {
12127
- const hasArea = this.type === 'area' || this.series.some(serie => serie.type === 'area');
12416
+ const hasArea = this.type === 'area' ||
12417
+ this.series.some(serie => serie.type === 'area') ||
12418
+ this.options?.areaStyle ||
12419
+ this.series.some(serie => serie.areaStyle === true);
12128
12420
  const newSeries = [...this.colorService.getColors(this.series, true, hasArea)];
12129
12421
  const tokenBorderWidthMd = this.chartGridUtils.resolvePx('--border-width-md');
12130
12422
  const findType = this.series.find(serie => serie.type)?.type;
@@ -12146,6 +12438,9 @@ class PoChartComponent extends PoChartBaseComponent {
12146
12438
  };
12147
12439
  serieGauge = this.chartGaugeUtils.setListTypeGauge(serie, fontSizes);
12148
12440
  }
12441
+ else if (verifyType === 'radar') {
12442
+ this.chartGridUtils.setListTypeRadar();
12443
+ }
12149
12444
  const seriesUpdated = newSeries.map((serie, index) => {
12150
12445
  serie.name = serie.name || (serie.label && typeof serie.label === 'string') ? (serie.name ?? serie.label) : ' ';
12151
12446
  !serie.type ? this.setTypeSerie(serie, this.type || typeDefault) : this.setTypeSerie(serie, serie.type);
@@ -12167,6 +12462,7 @@ class PoChartComponent extends PoChartBaseComponent {
12167
12462
  this.chartGridUtils.setSerieTypeLine(serie, tokenBorderWidthMd, colorVariable);
12168
12463
  this.chartGridUtils.setSerieTypeArea(serie, index);
12169
12464
  this.chartGridUtils.setSerieTypeBarColumn(serie, colorVariable);
12465
+ this.chartGridUtils.setSerieTypeRadar(serie, tokenBorderWidthMd, colorVariable);
12170
12466
  return serie;
12171
12467
  });
12172
12468
  if (this.listTypePieDonut?.length) {
@@ -12175,6 +12471,9 @@ class PoChartComponent extends PoChartBaseComponent {
12175
12471
  else if (verifyType === 'gauge') {
12176
12472
  return this.chartGaugeUtils.finalizeSerieTypeGauge(serieGauge);
12177
12473
  }
12474
+ else if (verifyType === 'radar') {
12475
+ return this.chartGridUtils.finalizeSerieTypeRadar(seriesUpdated);
12476
+ }
12178
12477
  return seriesUpdated;
12179
12478
  }
12180
12479
  setSerieEmphasis(serie, color, tokenBorder) {
@@ -12202,8 +12501,8 @@ class PoChartComponent extends PoChartBaseComponent {
12202
12501
  setTypeSerie(serie, type) {
12203
12502
  switch (type) {
12204
12503
  case PoChartType.Area:
12205
- serie.type = 'line';
12206
12504
  serie.isTypeArea = true;
12505
+ serie.type = 'line';
12207
12506
  break;
12208
12507
  case PoChartType.Bar:
12209
12508
  this.isTypeBar = true;
@@ -12220,6 +12519,10 @@ class PoChartComponent extends PoChartBaseComponent {
12220
12519
  this.isTypeGauge = true;
12221
12520
  serie.type = 'gauge';
12222
12521
  break;
12522
+ case PoChartType.Radar:
12523
+ this.isTypeRadar = true;
12524
+ serie.type = 'radar';
12525
+ break;
12223
12526
  }
12224
12527
  }
12225
12528
  setTableProperties() {
@@ -12246,6 +12549,10 @@ class PoChartComponent extends PoChartBaseComponent {
12246
12549
  this.setTablePropertiesTypeGauge();
12247
12550
  return;
12248
12551
  }
12552
+ else if (this.isTypeRadar) {
12553
+ this.setTablePropertiesTypeRadar();
12554
+ return;
12555
+ }
12249
12556
  this.itemsTable = series.map((serie) => {
12250
12557
  const rowData = { serie: serie.name };
12251
12558
  categories.forEach((category, index) => {
@@ -12285,6 +12592,34 @@ class PoChartComponent extends PoChartBaseComponent {
12285
12592
  });
12286
12593
  }
12287
12594
  }
12595
+ setTablePropertiesTypeRadar() {
12596
+ let indicators;
12597
+ if (!Array.isArray(this.categories) && this.categories?.indicator) {
12598
+ indicators = this.categories.indicator;
12599
+ }
12600
+ else if (Array.isArray(this.categories)) {
12601
+ indicators = this.categories.map(item => ({ name: item }));
12602
+ }
12603
+ const series = this.series;
12604
+ this.columnsTable = [
12605
+ {
12606
+ property: 'serie',
12607
+ label: this.options?.firstColumnName || this.literals.serie
12608
+ },
12609
+ ...indicators.map((indicator) => ({
12610
+ property: indicator.name,
12611
+ label: indicator.name
12612
+ }))
12613
+ ];
12614
+ this.itemsTable = series.map((serie) => {
12615
+ const row = { serie: serie.label };
12616
+ indicators.forEach((indicator, idx) => {
12617
+ const value = serie.data[idx]?.value ?? serie.data[idx];
12618
+ row[indicator.name] = value;
12619
+ });
12620
+ return row;
12621
+ });
12622
+ }
12288
12623
  setTableColumns(option, categories) {
12289
12624
  this.columnsTable = [
12290
12625
  { property: 'serie', label: this.options?.firstColumnName || this.literals.serie },
@@ -24366,9 +24701,9 @@ const poSearchLiteralsDefaultExecute = {
24366
24701
  *
24367
24702
  */
24368
24703
  class PoSearchBaseComponent {
24704
+ language;
24369
24705
  _literals;
24370
24706
  _ariaLabel;
24371
- language;
24372
24707
  _filterSelect;
24373
24708
  _size = undefined;
24374
24709
  _keysLabel = [];
@@ -24490,6 +24825,8 @@ class PoSearchBaseComponent {
24490
24825
  * ```
24491
24826
  */
24492
24827
  icon;
24828
+ // Propriedade de uso interno.
24829
+ id;
24493
24830
  /**
24494
24831
  * @optional
24495
24832
  *
@@ -24564,6 +24901,24 @@ class PoSearchBaseComponent {
24564
24901
  * > Compatível com a propriedade `p-search-type` do tipo `locate`.
24565
24902
  */
24566
24903
  locateSummary = { currentIndex: 0, total: 0 };
24904
+ /**
24905
+ * @optional
24906
+ *
24907
+ * @description
24908
+ * Nome e identificador do campo.
24909
+ *
24910
+ */
24911
+ name;
24912
+ /**
24913
+ * @optional
24914
+ *
24915
+ * @description
24916
+ *
24917
+ * Define a propriedade nativa `autocomplete` do campo como `off`.
24918
+ *
24919
+ * @default `false`
24920
+ */
24921
+ noAutocomplete = false;
24567
24922
  /**
24568
24923
  * @optional
24569
24924
  *
@@ -24737,7 +25092,7 @@ class PoSearchBaseComponent {
24737
25092
  return _values.map(value => (typeof value === 'object' ? value : { label: value, value }));
24738
25093
  }
24739
25094
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoSearchBaseComponent, deps: [{ token: PoLanguageService }], target: i0.ɵɵFactoryTarget.Directive });
24740
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.0.7", type: PoSearchBaseComponent, isStandalone: true, inputs: { ariaLabel: ["p-aria-label", "ariaLabel"], disabled: ["p-disabled", "disabled", convertToBoolean], filterKeys: ["p-filter-keys", "filterKeys"], filterSelect: ["p-filter-select", "filterSelect"], filterType: ["p-filter-type", "filterType"], icon: ["p-icon", "icon"], items: ["p-items", "items"], literals: ["p-literals", "literals"], locateSummary: ["p-locate-summary", "locateSummary"], type: ["p-search-type", "type"], showListbox: ["p-show-listbox", "showListbox", convertToBoolean], size: ["p-size", "size"], keysLabel: ["p-keys-label", "keysLabel"] }, outputs: { blur: "p-blur", changeModel: "p-change-model", filter: "p-filter", filteredItemsChange: "p-filtered-items-change", focusEvent: "p-focus", keydown: "p-keydown", listboxOnClick: "p-listbox-onclick", locateNext: "p-locate-next", locatePrevious: "p-locate-previous", footerAction: "p-footer-action-listbox" }, ngImport: i0 });
25095
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.0.7", type: PoSearchBaseComponent, isStandalone: true, inputs: { ariaLabel: ["p-aria-label", "ariaLabel"], disabled: ["p-disabled", "disabled", convertToBoolean], filterKeys: ["p-filter-keys", "filterKeys"], filterSelect: ["p-filter-select", "filterSelect"], filterType: ["p-filter-type", "filterType"], icon: ["p-icon", "icon"], id: ["p-id", "id"], items: ["p-items", "items"], literals: ["p-literals", "literals"], locateSummary: ["p-locate-summary", "locateSummary"], name: "name", noAutocomplete: ["p-no-autocomplete", "noAutocomplete", convertToBoolean], type: ["p-search-type", "type"], showListbox: ["p-show-listbox", "showListbox", convertToBoolean], size: ["p-size", "size"], keysLabel: ["p-keys-label", "keysLabel"] }, outputs: { blur: "p-blur", changeModel: "p-change-model", filter: "p-filter", filteredItemsChange: "p-filtered-items-change", focusEvent: "p-focus", keydown: "p-keydown", listboxOnClick: "p-listbox-onclick", locateNext: "p-locate-next", locatePrevious: "p-locate-previous", footerAction: "p-footer-action-listbox" }, ngImport: i0 });
24741
25096
  }
24742
25097
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoSearchBaseComponent, decorators: [{
24743
25098
  type: Directive
@@ -24759,6 +25114,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
24759
25114
  }], icon: [{
24760
25115
  type: Input,
24761
25116
  args: ['p-icon']
25117
+ }], id: [{
25118
+ type: Input,
25119
+ args: ['p-id']
24762
25120
  }], items: [{
24763
25121
  type: Input,
24764
25122
  args: ['p-items']
@@ -24768,6 +25126,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
24768
25126
  }], locateSummary: [{
24769
25127
  type: Input,
24770
25128
  args: ['p-locate-summary']
25129
+ }], name: [{
25130
+ type: Input,
25131
+ args: ['name']
25132
+ }], noAutocomplete: [{
25133
+ type: Input,
25134
+ args: [{ alias: 'p-no-autocomplete', transform: convertToBoolean }]
24771
25135
  }], type: [{
24772
25136
  type: Input,
24773
25137
  args: ['p-search-type']
@@ -25065,6 +25429,9 @@ class PoSearchComponent extends PoSearchBaseComponent {
25065
25429
  .map(value => ({ label: value, value }))
25066
25430
  .filter((obj, index, self) => index === self.findIndex(o => o.label === obj.label && o.value === obj.value));
25067
25431
  }
25432
+ get autocomplete() {
25433
+ return this.noAutocomplete ? 'off' : 'on';
25434
+ }
25068
25435
  onCloseListbox() {
25069
25436
  this.poSearchInput.nativeElement.focus();
25070
25437
  this.closeListbox();
@@ -25313,11 +25680,11 @@ class PoSearchComponent extends PoSearchBaseComponent {
25313
25680
  this.placeholderListbox = null;
25314
25681
  }
25315
25682
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25316
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: PoSearchComponent, isStandalone: false, selector: "po-search", providers: [PoControlPositionService], viewQueries: [{ propertyName: "locateCounter", first: true, predicate: ["locateCounter"], descendants: true }, { propertyName: "poSearchInput", first: true, predicate: ["poSearchInput"], descendants: true, read: ElementRef, static: true }, { propertyName: "poListboxContainerElement", first: true, predicate: ["poListboxContainerElement"], descendants: true, read: ElementRef }, { propertyName: "poListboxElement", first: true, predicate: ["poListboxElement"], descendants: true, read: ElementRef }, { propertyName: "poListbox", first: true, predicate: ["poListbox"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"po-search\"\n [class.po-search-disabled]=\"disabled\"\n [class.po-search-filter-locate]=\"type === 'locate'\"\n [attr.p-search-type]=\"type === 'locate'\"\n [attr.p-size]=\"size\"\n>\n @if (filterSelect && type !== 'locate') {\n <div class=\"po-search-select\">\n <po-dropdown\n [p-label]=\"searchFilterSelectLabel\"\n [p-disabled]=\"disabled\"\n [p-actions]=\"searchFilterSelectActions\"\n [p-size]=\"size\"\n >\n </po-dropdown>\n </div>\n }\n\n @if (type === 'action' || type === 'locate' || type === 'execute') {\n <div class=\"po-search-icon\">\n <po-icon [p-icon]=\"icon ? icon : 'ICON_SEARCH'\"></po-icon>\n </div>\n }\n\n <input\n #poSearchInput\n class=\"po-search-input\"\n type=\"text\"\n [ariaLabel]=\"ariaLabel\"\n [class.po-search-input-clean]=\"!!poSearchInput.value && !disabled && type !== 'locate'\"\n [class.po-search-input-trigger]=\"type === 'trigger'\"\n [style.padding-right.px]=\"dynamicPaddingRight\"\n [disabled]=\"disabled\"\n [placeholder]=\"literals.search\"\n (input)=\"onInputHandler($event.target.value)\"\n (keyup.enter)=\"onEnterKey($event)\"\n (keydown)=\"onKeyDown($event)\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n />\n\n <div class=\"po-search-buttons\">\n @if (type === 'locate' && poSearchInput.value && !disabled) {\n <span\n #locateCounter\n class=\"po-search-locate-counter\"\n id=\"summary\"\n [attr.aria-label]=\"\n literals.result +\n ' ' +\n (locateSummary?.currentIndex ?? 0) +\n ' ' +\n literals.of +\n ' ' +\n (locateSummary?.total ?? 0)\n \"\n >\n {{ locateSummary?.currentIndex ?? 0 }}/{{ locateSummary?.total ?? 0 }}\n </span>\n }\n\n @if (!!poSearchInput.value && !disabled) {\n <div [id]=\"idSearchButtonClean\">\n <button\n class=\"po-search-button po-search-button-clean\"\n type=\"button\"\n [ariaLabel]=\"literals.clean\"\n (click)=\"clearSearch()\"\n (keydown.enter)=\"clearSearch()\"\n (keydown)=\"onCleanKeydown($event)\"\n >\n <po-clean class=\"po-icon-input\" [p-size]=\"size\"></po-clean>\n </button>\n </div>\n }\n\n @if (type === 'trigger') {\n <button\n class=\"po-search-button po-search-button-trigger\"\n type=\"button\"\n [ariaLabel]=\"literals.search\"\n [disabled]=\"disabled\"\n (click)=\"onSearchChange(poSearchInput.value, true, true)\"\n (keydown.enter)=\"onSearchChange(poSearchInput.value, true, true)\"\n >\n <po-icon [p-icon]=\"icon ? icon : 'ICON_SEARCH'\"> </po-icon>\n </button>\n }\n\n @if (showSearchLocateControls) {\n <div class=\"po-search-locate-controls\">\n <div class=\"po-search-divider\"></div>\n <button\n name=\"btnArrowUp\"\n class=\"po-search-button\"\n [ariaLabel]=\"literals.next\"\n [disabled]=\"disabled || !locateSummary?.total\"\n (click)=\"locateNext.emit()\"\n >\n <po-icon p-icon=\"ICON_ARROW_DOWN\"> </po-icon>\n </button>\n\n <button\n name=\"btnArrowDown\"\n class=\"po-search-button\"\n [ariaLabel]=\"literals.previous\"\n [disabled]=\"disabled || !locateSummary?.total\"\n (click)=\"locatePrevious.emit()\"\n >\n <po-icon p-icon=\"ICON_ARROW_UP\"> </po-icon>\n </button>\n </div>\n }\n </div>\n</div>\n\n@if (type !== 'locate') {\n <div #poListboxContainerElement class=\"po-search-listbox-container\" [hidden]=\"!listboxOpen\">\n <po-listbox\n #poListbox\n #poListboxElement\n p-type=\"option\"\n [p-items]=\"listboxFilteredItems\"\n (p-selectcombo-item)=\"onListboxClick($event, $event.event)\"\n [p-visible]=\"listboxOpen\"\n [p-filter-mode]=\"filterType\"\n [p-should-mark-letter]=\"shouldMarkLetters\"\n [p-filtering]=\"isFiltering\"\n [p-search-value]=\"getInputValue()\"\n [p-size]=\"size\"\n (p-close)=\"onCloseListbox()\"\n [p-literals]=\"literals\"\n [p-separator]=\"showSeparator\"\n [p-keys-label]=\"keysLabel\"\n [p-footer-action-listbox]=\"showFooterActionListbox\"\n (p-footer-action-listbox-event)=\"handlerFooterActionListbox()\"\n [p-placeholder-listbox]=\"placeholderListbox\"\n ></po-listbox>\n </div>\n}\n", dependencies: [{ kind: "component", type: PoCleanComponent, selector: "po-clean" }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoListBoxComponent, selector: "po-listbox" }, { kind: "component", type: PoDropdownComponent, selector: "po-dropdown" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
25683
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: PoSearchComponent, isStandalone: false, selector: "po-search", providers: [PoControlPositionService], viewQueries: [{ propertyName: "locateCounter", first: true, predicate: ["locateCounter"], descendants: true }, { propertyName: "poSearchInput", first: true, predicate: ["poSearchInput"], descendants: true, read: ElementRef, static: true }, { propertyName: "poListboxContainerElement", first: true, predicate: ["poListboxContainerElement"], descendants: true, read: ElementRef }, { propertyName: "poListboxElement", first: true, predicate: ["poListboxElement"], descendants: true, read: ElementRef }, { propertyName: "poListbox", first: true, predicate: ["poListbox"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"po-search\"\n [class.po-search-disabled]=\"disabled\"\n [class.po-search-filter-locate]=\"type === 'locate'\"\n [attr.p-search-type]=\"type === 'locate'\"\n [attr.p-size]=\"size\"\n>\n @if (filterSelect && type !== 'locate') {\n <div class=\"po-search-select\">\n <po-dropdown\n [p-label]=\"searchFilterSelectLabel\"\n [p-disabled]=\"disabled\"\n [p-actions]=\"searchFilterSelectActions\"\n [p-size]=\"size\"\n >\n </po-dropdown>\n </div>\n }\n\n @if (type === 'action' || type === 'locate' || type === 'execute') {\n <div class=\"po-search-icon\">\n <po-icon [p-icon]=\"icon ? icon : 'ICON_SEARCH'\"></po-icon>\n </div>\n }\n\n <input\n #poSearchInput\n class=\"po-search-input\"\n type=\"text\"\n [attr.id]=\"id || null\"\n [autocomplete]=\"autocomplete\"\n [attr.name]=\"name\"\n [ariaLabel]=\"ariaLabel\"\n [class.po-search-input-clean]=\"!!poSearchInput.value && !disabled && type !== 'locate'\"\n [class.po-search-input-trigger]=\"type === 'trigger'\"\n [style.padding-right.px]=\"dynamicPaddingRight\"\n [disabled]=\"disabled\"\n [placeholder]=\"literals.search\"\n (input)=\"onInputHandler($event.target.value)\"\n (keyup.enter)=\"onEnterKey($event)\"\n (keydown)=\"onKeyDown($event)\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n />\n\n <div class=\"po-search-buttons\">\n @if (type === 'locate' && poSearchInput.value && !disabled) {\n <span\n #locateCounter\n class=\"po-search-locate-counter\"\n id=\"summary\"\n [attr.aria-label]=\"\n literals.result +\n ' ' +\n (locateSummary?.currentIndex ?? 0) +\n ' ' +\n literals.of +\n ' ' +\n (locateSummary?.total ?? 0)\n \"\n >\n {{ locateSummary?.currentIndex ?? 0 }}/{{ locateSummary?.total ?? 0 }}\n </span>\n }\n\n @if (!!poSearchInput.value && !disabled) {\n <div [id]=\"idSearchButtonClean\">\n <button\n class=\"po-search-button po-search-button-clean\"\n type=\"button\"\n [ariaLabel]=\"literals.clean\"\n (click)=\"clearSearch()\"\n (keydown.enter)=\"clearSearch()\"\n (keydown)=\"onCleanKeydown($event)\"\n >\n <po-clean class=\"po-icon-input\" [p-size]=\"size\"></po-clean>\n </button>\n </div>\n }\n\n @if (type === 'trigger') {\n <button\n class=\"po-search-button po-search-button-trigger\"\n type=\"button\"\n [ariaLabel]=\"literals.search\"\n [disabled]=\"disabled\"\n (click)=\"onSearchChange(poSearchInput.value, true, true)\"\n (keydown.enter)=\"onSearchChange(poSearchInput.value, true, true)\"\n >\n <po-icon [p-icon]=\"icon ? icon : 'ICON_SEARCH'\"> </po-icon>\n </button>\n }\n\n @if (showSearchLocateControls) {\n <div class=\"po-search-locate-controls\">\n <div class=\"po-search-divider\"></div>\n <button\n name=\"btnArrowUp\"\n class=\"po-search-button\"\n [ariaLabel]=\"literals.next\"\n [disabled]=\"disabled || !locateSummary?.total\"\n (click)=\"locateNext.emit()\"\n >\n <po-icon p-icon=\"ICON_ARROW_DOWN\"> </po-icon>\n </button>\n\n <button\n name=\"btnArrowDown\"\n class=\"po-search-button\"\n [ariaLabel]=\"literals.previous\"\n [disabled]=\"disabled || !locateSummary?.total\"\n (click)=\"locatePrevious.emit()\"\n >\n <po-icon p-icon=\"ICON_ARROW_UP\"> </po-icon>\n </button>\n </div>\n }\n </div>\n</div>\n\n@if (type !== 'locate') {\n <div #poListboxContainerElement class=\"po-search-listbox-container\" [hidden]=\"!listboxOpen\">\n <po-listbox\n #poListbox\n #poListboxElement\n p-type=\"option\"\n [p-items]=\"listboxFilteredItems\"\n (p-selectcombo-item)=\"onListboxClick($event, $event.event)\"\n [p-visible]=\"listboxOpen\"\n [p-filter-mode]=\"filterType\"\n [p-should-mark-letter]=\"shouldMarkLetters\"\n [p-filtering]=\"isFiltering\"\n [p-search-value]=\"getInputValue()\"\n [p-size]=\"size\"\n (p-close)=\"onCloseListbox()\"\n [p-literals]=\"literals\"\n [p-separator]=\"showSeparator\"\n [p-keys-label]=\"keysLabel\"\n [p-footer-action-listbox]=\"showFooterActionListbox\"\n (p-footer-action-listbox-event)=\"handlerFooterActionListbox()\"\n [p-placeholder-listbox]=\"placeholderListbox\"\n ></po-listbox>\n </div>\n}\n", dependencies: [{ kind: "component", type: PoCleanComponent, selector: "po-clean" }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoListBoxComponent, selector: "po-listbox" }, { kind: "component", type: PoDropdownComponent, selector: "po-dropdown" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
25317
25684
  }
25318
25685
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoSearchComponent, decorators: [{
25319
25686
  type: Component,
25320
- args: [{ selector: 'po-search', providers: [PoControlPositionService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div\n class=\"po-search\"\n [class.po-search-disabled]=\"disabled\"\n [class.po-search-filter-locate]=\"type === 'locate'\"\n [attr.p-search-type]=\"type === 'locate'\"\n [attr.p-size]=\"size\"\n>\n @if (filterSelect && type !== 'locate') {\n <div class=\"po-search-select\">\n <po-dropdown\n [p-label]=\"searchFilterSelectLabel\"\n [p-disabled]=\"disabled\"\n [p-actions]=\"searchFilterSelectActions\"\n [p-size]=\"size\"\n >\n </po-dropdown>\n </div>\n }\n\n @if (type === 'action' || type === 'locate' || type === 'execute') {\n <div class=\"po-search-icon\">\n <po-icon [p-icon]=\"icon ? icon : 'ICON_SEARCH'\"></po-icon>\n </div>\n }\n\n <input\n #poSearchInput\n class=\"po-search-input\"\n type=\"text\"\n [ariaLabel]=\"ariaLabel\"\n [class.po-search-input-clean]=\"!!poSearchInput.value && !disabled && type !== 'locate'\"\n [class.po-search-input-trigger]=\"type === 'trigger'\"\n [style.padding-right.px]=\"dynamicPaddingRight\"\n [disabled]=\"disabled\"\n [placeholder]=\"literals.search\"\n (input)=\"onInputHandler($event.target.value)\"\n (keyup.enter)=\"onEnterKey($event)\"\n (keydown)=\"onKeyDown($event)\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n />\n\n <div class=\"po-search-buttons\">\n @if (type === 'locate' && poSearchInput.value && !disabled) {\n <span\n #locateCounter\n class=\"po-search-locate-counter\"\n id=\"summary\"\n [attr.aria-label]=\"\n literals.result +\n ' ' +\n (locateSummary?.currentIndex ?? 0) +\n ' ' +\n literals.of +\n ' ' +\n (locateSummary?.total ?? 0)\n \"\n >\n {{ locateSummary?.currentIndex ?? 0 }}/{{ locateSummary?.total ?? 0 }}\n </span>\n }\n\n @if (!!poSearchInput.value && !disabled) {\n <div [id]=\"idSearchButtonClean\">\n <button\n class=\"po-search-button po-search-button-clean\"\n type=\"button\"\n [ariaLabel]=\"literals.clean\"\n (click)=\"clearSearch()\"\n (keydown.enter)=\"clearSearch()\"\n (keydown)=\"onCleanKeydown($event)\"\n >\n <po-clean class=\"po-icon-input\" [p-size]=\"size\"></po-clean>\n </button>\n </div>\n }\n\n @if (type === 'trigger') {\n <button\n class=\"po-search-button po-search-button-trigger\"\n type=\"button\"\n [ariaLabel]=\"literals.search\"\n [disabled]=\"disabled\"\n (click)=\"onSearchChange(poSearchInput.value, true, true)\"\n (keydown.enter)=\"onSearchChange(poSearchInput.value, true, true)\"\n >\n <po-icon [p-icon]=\"icon ? icon : 'ICON_SEARCH'\"> </po-icon>\n </button>\n }\n\n @if (showSearchLocateControls) {\n <div class=\"po-search-locate-controls\">\n <div class=\"po-search-divider\"></div>\n <button\n name=\"btnArrowUp\"\n class=\"po-search-button\"\n [ariaLabel]=\"literals.next\"\n [disabled]=\"disabled || !locateSummary?.total\"\n (click)=\"locateNext.emit()\"\n >\n <po-icon p-icon=\"ICON_ARROW_DOWN\"> </po-icon>\n </button>\n\n <button\n name=\"btnArrowDown\"\n class=\"po-search-button\"\n [ariaLabel]=\"literals.previous\"\n [disabled]=\"disabled || !locateSummary?.total\"\n (click)=\"locatePrevious.emit()\"\n >\n <po-icon p-icon=\"ICON_ARROW_UP\"> </po-icon>\n </button>\n </div>\n }\n </div>\n</div>\n\n@if (type !== 'locate') {\n <div #poListboxContainerElement class=\"po-search-listbox-container\" [hidden]=\"!listboxOpen\">\n <po-listbox\n #poListbox\n #poListboxElement\n p-type=\"option\"\n [p-items]=\"listboxFilteredItems\"\n (p-selectcombo-item)=\"onListboxClick($event, $event.event)\"\n [p-visible]=\"listboxOpen\"\n [p-filter-mode]=\"filterType\"\n [p-should-mark-letter]=\"shouldMarkLetters\"\n [p-filtering]=\"isFiltering\"\n [p-search-value]=\"getInputValue()\"\n [p-size]=\"size\"\n (p-close)=\"onCloseListbox()\"\n [p-literals]=\"literals\"\n [p-separator]=\"showSeparator\"\n [p-keys-label]=\"keysLabel\"\n [p-footer-action-listbox]=\"showFooterActionListbox\"\n (p-footer-action-listbox-event)=\"handlerFooterActionListbox()\"\n [p-placeholder-listbox]=\"placeholderListbox\"\n ></po-listbox>\n </div>\n}\n" }]
25687
+ args: [{ selector: 'po-search', providers: [PoControlPositionService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div\n class=\"po-search\"\n [class.po-search-disabled]=\"disabled\"\n [class.po-search-filter-locate]=\"type === 'locate'\"\n [attr.p-search-type]=\"type === 'locate'\"\n [attr.p-size]=\"size\"\n>\n @if (filterSelect && type !== 'locate') {\n <div class=\"po-search-select\">\n <po-dropdown\n [p-label]=\"searchFilterSelectLabel\"\n [p-disabled]=\"disabled\"\n [p-actions]=\"searchFilterSelectActions\"\n [p-size]=\"size\"\n >\n </po-dropdown>\n </div>\n }\n\n @if (type === 'action' || type === 'locate' || type === 'execute') {\n <div class=\"po-search-icon\">\n <po-icon [p-icon]=\"icon ? icon : 'ICON_SEARCH'\"></po-icon>\n </div>\n }\n\n <input\n #poSearchInput\n class=\"po-search-input\"\n type=\"text\"\n [attr.id]=\"id || null\"\n [autocomplete]=\"autocomplete\"\n [attr.name]=\"name\"\n [ariaLabel]=\"ariaLabel\"\n [class.po-search-input-clean]=\"!!poSearchInput.value && !disabled && type !== 'locate'\"\n [class.po-search-input-trigger]=\"type === 'trigger'\"\n [style.padding-right.px]=\"dynamicPaddingRight\"\n [disabled]=\"disabled\"\n [placeholder]=\"literals.search\"\n (input)=\"onInputHandler($event.target.value)\"\n (keyup.enter)=\"onEnterKey($event)\"\n (keydown)=\"onKeyDown($event)\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n />\n\n <div class=\"po-search-buttons\">\n @if (type === 'locate' && poSearchInput.value && !disabled) {\n <span\n #locateCounter\n class=\"po-search-locate-counter\"\n id=\"summary\"\n [attr.aria-label]=\"\n literals.result +\n ' ' +\n (locateSummary?.currentIndex ?? 0) +\n ' ' +\n literals.of +\n ' ' +\n (locateSummary?.total ?? 0)\n \"\n >\n {{ locateSummary?.currentIndex ?? 0 }}/{{ locateSummary?.total ?? 0 }}\n </span>\n }\n\n @if (!!poSearchInput.value && !disabled) {\n <div [id]=\"idSearchButtonClean\">\n <button\n class=\"po-search-button po-search-button-clean\"\n type=\"button\"\n [ariaLabel]=\"literals.clean\"\n (click)=\"clearSearch()\"\n (keydown.enter)=\"clearSearch()\"\n (keydown)=\"onCleanKeydown($event)\"\n >\n <po-clean class=\"po-icon-input\" [p-size]=\"size\"></po-clean>\n </button>\n </div>\n }\n\n @if (type === 'trigger') {\n <button\n class=\"po-search-button po-search-button-trigger\"\n type=\"button\"\n [ariaLabel]=\"literals.search\"\n [disabled]=\"disabled\"\n (click)=\"onSearchChange(poSearchInput.value, true, true)\"\n (keydown.enter)=\"onSearchChange(poSearchInput.value, true, true)\"\n >\n <po-icon [p-icon]=\"icon ? icon : 'ICON_SEARCH'\"> </po-icon>\n </button>\n }\n\n @if (showSearchLocateControls) {\n <div class=\"po-search-locate-controls\">\n <div class=\"po-search-divider\"></div>\n <button\n name=\"btnArrowUp\"\n class=\"po-search-button\"\n [ariaLabel]=\"literals.next\"\n [disabled]=\"disabled || !locateSummary?.total\"\n (click)=\"locateNext.emit()\"\n >\n <po-icon p-icon=\"ICON_ARROW_DOWN\"> </po-icon>\n </button>\n\n <button\n name=\"btnArrowDown\"\n class=\"po-search-button\"\n [ariaLabel]=\"literals.previous\"\n [disabled]=\"disabled || !locateSummary?.total\"\n (click)=\"locatePrevious.emit()\"\n >\n <po-icon p-icon=\"ICON_ARROW_UP\"> </po-icon>\n </button>\n </div>\n }\n </div>\n</div>\n\n@if (type !== 'locate') {\n <div #poListboxContainerElement class=\"po-search-listbox-container\" [hidden]=\"!listboxOpen\">\n <po-listbox\n #poListbox\n #poListboxElement\n p-type=\"option\"\n [p-items]=\"listboxFilteredItems\"\n (p-selectcombo-item)=\"onListboxClick($event, $event.event)\"\n [p-visible]=\"listboxOpen\"\n [p-filter-mode]=\"filterType\"\n [p-should-mark-letter]=\"shouldMarkLetters\"\n [p-filtering]=\"isFiltering\"\n [p-search-value]=\"getInputValue()\"\n [p-size]=\"size\"\n (p-close)=\"onCloseListbox()\"\n [p-literals]=\"literals\"\n [p-separator]=\"showSeparator\"\n [p-keys-label]=\"keysLabel\"\n [p-footer-action-listbox]=\"showFooterActionListbox\"\n (p-footer-action-listbox-event)=\"handlerFooterActionListbox()\"\n [p-placeholder-listbox]=\"placeholderListbox\"\n ></po-listbox>\n </div>\n}\n" }]
25321
25688
  }], ctorParameters: () => [], propDecorators: { locateCounter: [{
25322
25689
  type: ViewChild,
25323
25690
  args: ['locateCounter', { static: false }]
@@ -30264,6 +30631,21 @@ class PoInputBaseComponent {
30264
30631
  * @default `false`
30265
30632
  */
30266
30633
  errorLimit = false;
30634
+ /**
30635
+ * @optional
30636
+ *
30637
+ * @description
30638
+ * Exibe um ícone de carregamento no lado direito do campo para sinalizar que uma operação está em andamento.
30639
+ *
30640
+ * @default `false`
30641
+ */
30642
+ set loading(value) {
30643
+ this._loading = convertToBoolean(value);
30644
+ this.cd?.markForCheck();
30645
+ }
30646
+ get loading() {
30647
+ return this._loading;
30648
+ }
30267
30649
  /**
30268
30650
  * @optional
30269
30651
  *
@@ -30391,6 +30773,7 @@ class PoInputBaseComponent {
30391
30773
  onTouched = null;
30392
30774
  passedWriteValue = false;
30393
30775
  validatorChange;
30776
+ _loading = false;
30394
30777
  _maxlength;
30395
30778
  _minlength;
30396
30779
  _noAutocomplete = false;
@@ -30780,6 +31163,14 @@ class PoInputBaseComponent {
30780
31163
  return (this.additionalHelpEventTrigger === 'event' ||
30781
31164
  (this.additionalHelpEventTrigger === undefined && this.additionalHelp.observed));
30782
31165
  }
31166
+ //Transforma o tamanho do input para o tamanho do ícone de loading correspondente
31167
+ mapSizeToIcon(size) {
31168
+ const sizeMap = {
31169
+ small: 'xs',
31170
+ medium: 'sm'
31171
+ };
31172
+ return sizeMap[size] || 'sm';
31173
+ }
30783
31174
  // utilizado para validar o pattern na inicializacao, fazendo dessa forma o campo fica sujo (dirty).
30784
31175
  validatePatternOnWriteValue(value) {
30785
31176
  if (value && this.passedWriteValue) {
@@ -30790,7 +31181,7 @@ class PoInputBaseComponent {
30790
31181
  }
30791
31182
  }
30792
31183
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoInputBaseComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
30793
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.7", type: PoInputBaseComponent, isStandalone: true, inputs: { additionalHelpEventTrigger: { classPropertyName: "additionalHelpEventTrigger", publicName: "additionalHelpEventTrigger", isSignal: false, isRequired: false, transformFunction: null }, additionalHelpTooltip: { classPropertyName: "additionalHelpTooltip", publicName: "p-additional-help-tooltip", isSignal: false, isRequired: false, transformFunction: null }, appendBox: { classPropertyName: "appendBox", publicName: "p-append-in-body", isSignal: false, isRequired: false, transformFunction: convertToBoolean }, autoFocus: { classPropertyName: "autoFocus", publicName: "p-auto-focus", isSignal: false, isRequired: false, transformFunction: convertToBoolean }, icon: { classPropertyName: "icon", publicName: "p-icon", isSignal: false, isRequired: false, transformFunction: null }, emitAllChanges: { classPropertyName: "emitAllChanges", publicName: "p-emit-all-changes", isSignal: false, isRequired: false, transformFunction: convertToBoolean }, label: { classPropertyName: "label", publicName: "p-label", isSignal: false, isRequired: false, transformFunction: null }, help: { classPropertyName: "help", publicName: "p-help", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, errorAsyncProperties: { classPropertyName: "errorAsyncProperties", publicName: "p-error-async-properties", isSignal: false, isRequired: false, transformFunction: null }, errorPattern: { classPropertyName: "errorPattern", publicName: "p-error-pattern", isSignal: false, isRequired: false, transformFunction: null }, errorLimit: { classPropertyName: "errorLimit", publicName: "p-error-limit", isSignal: false, isRequired: false, transformFunction: null }, optional: { classPropertyName: "optional", publicName: "p-optional", isSignal: false, isRequired: false, transformFunction: null }, showErrorMessageRequired: { classPropertyName: "showErrorMessageRequired", publicName: "p-required-field-error-message", isSignal: false, isRequired: false, transformFunction: null }, upperCase: { classPropertyName: "upperCase", publicName: "p-upper-case", isSignal: false, isRequired: false, transformFunction: convertToBoolean }, maskNoLengthValidation: { classPropertyName: "maskNoLengthValidation", publicName: "p-mask-no-length-validation", isSignal: false, isRequired: false, transformFunction: null }, noAutocomplete: { classPropertyName: "noAutocomplete", publicName: "p-no-autocomplete", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "p-placeholder", isSignal: false, isRequired: false, transformFunction: null }, setDisabled: { classPropertyName: "setDisabled", publicName: "p-disabled", isSignal: false, isRequired: false, transformFunction: null }, setReadonly: { classPropertyName: "setReadonly", publicName: "p-readonly", isSignal: false, isRequired: false, transformFunction: null }, setRequired: { classPropertyName: "setRequired", publicName: "p-required", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "p-size", isSignal: false, isRequired: false, transformFunction: null }, showRequired: { classPropertyName: "showRequired", publicName: "p-show-required", isSignal: false, isRequired: false, transformFunction: null }, setClean: { classPropertyName: "setClean", publicName: "p-clean", isSignal: false, isRequired: false, transformFunction: null }, setPattern: { classPropertyName: "setPattern", publicName: "p-pattern", isSignal: false, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "p-maxlength", isSignal: false, isRequired: false, transformFunction: null }, minlength: { classPropertyName: "minlength", publicName: "p-minlength", isSignal: false, isRequired: false, transformFunction: null }, setMask: { classPropertyName: "setMask", publicName: "p-mask", isSignal: false, isRequired: false, transformFunction: null }, setMaskFormatModel: { classPropertyName: "setMaskFormatModel", publicName: "p-mask-format-model", isSignal: false, isRequired: false, transformFunction: null }, poHelperComponent: { classPropertyName: "poHelperComponent", publicName: "p-helper", isSignal: true, isRequired: false, transformFunction: null }, labelTextWrap: { classPropertyName: "labelTextWrap", publicName: "p-label-text-wrap", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { additionalHelp: "p-additional-help", blur: "p-blur", enter: "p-enter", change: "p-change", changeModel: "p-change-model", keydown: "p-keydown" }, viewQueries: [{ propertyName: "fieldContainer", first: true, predicate: ["fieldContainer"], descendants: true, read: PoFieldContainerComponent }, { propertyName: "helperEl", first: true, predicate: ["helperEl"], descendants: true, read: PoHelperComponent }], ngImport: i0 });
31184
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.7", type: PoInputBaseComponent, isStandalone: true, inputs: { additionalHelpEventTrigger: { classPropertyName: "additionalHelpEventTrigger", publicName: "additionalHelpEventTrigger", isSignal: false, isRequired: false, transformFunction: null }, additionalHelpTooltip: { classPropertyName: "additionalHelpTooltip", publicName: "p-additional-help-tooltip", isSignal: false, isRequired: false, transformFunction: null }, appendBox: { classPropertyName: "appendBox", publicName: "p-append-in-body", isSignal: false, isRequired: false, transformFunction: convertToBoolean }, autoFocus: { classPropertyName: "autoFocus", publicName: "p-auto-focus", isSignal: false, isRequired: false, transformFunction: convertToBoolean }, icon: { classPropertyName: "icon", publicName: "p-icon", isSignal: false, isRequired: false, transformFunction: null }, emitAllChanges: { classPropertyName: "emitAllChanges", publicName: "p-emit-all-changes", isSignal: false, isRequired: false, transformFunction: convertToBoolean }, label: { classPropertyName: "label", publicName: "p-label", isSignal: false, isRequired: false, transformFunction: null }, help: { classPropertyName: "help", publicName: "p-help", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, errorAsyncProperties: { classPropertyName: "errorAsyncProperties", publicName: "p-error-async-properties", isSignal: false, isRequired: false, transformFunction: null }, errorPattern: { classPropertyName: "errorPattern", publicName: "p-error-pattern", isSignal: false, isRequired: false, transformFunction: null }, errorLimit: { classPropertyName: "errorLimit", publicName: "p-error-limit", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "p-loading", isSignal: false, isRequired: false, transformFunction: null }, optional: { classPropertyName: "optional", publicName: "p-optional", isSignal: false, isRequired: false, transformFunction: null }, showErrorMessageRequired: { classPropertyName: "showErrorMessageRequired", publicName: "p-required-field-error-message", isSignal: false, isRequired: false, transformFunction: null }, upperCase: { classPropertyName: "upperCase", publicName: "p-upper-case", isSignal: false, isRequired: false, transformFunction: convertToBoolean }, maskNoLengthValidation: { classPropertyName: "maskNoLengthValidation", publicName: "p-mask-no-length-validation", isSignal: false, isRequired: false, transformFunction: null }, noAutocomplete: { classPropertyName: "noAutocomplete", publicName: "p-no-autocomplete", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "p-placeholder", isSignal: false, isRequired: false, transformFunction: null }, setDisabled: { classPropertyName: "setDisabled", publicName: "p-disabled", isSignal: false, isRequired: false, transformFunction: null }, setReadonly: { classPropertyName: "setReadonly", publicName: "p-readonly", isSignal: false, isRequired: false, transformFunction: null }, setRequired: { classPropertyName: "setRequired", publicName: "p-required", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "p-size", isSignal: false, isRequired: false, transformFunction: null }, showRequired: { classPropertyName: "showRequired", publicName: "p-show-required", isSignal: false, isRequired: false, transformFunction: null }, setClean: { classPropertyName: "setClean", publicName: "p-clean", isSignal: false, isRequired: false, transformFunction: null }, setPattern: { classPropertyName: "setPattern", publicName: "p-pattern", isSignal: false, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "p-maxlength", isSignal: false, isRequired: false, transformFunction: null }, minlength: { classPropertyName: "minlength", publicName: "p-minlength", isSignal: false, isRequired: false, transformFunction: null }, setMask: { classPropertyName: "setMask", publicName: "p-mask", isSignal: false, isRequired: false, transformFunction: null }, setMaskFormatModel: { classPropertyName: "setMaskFormatModel", publicName: "p-mask-format-model", isSignal: false, isRequired: false, transformFunction: null }, poHelperComponent: { classPropertyName: "poHelperComponent", publicName: "p-helper", isSignal: true, isRequired: false, transformFunction: null }, labelTextWrap: { classPropertyName: "labelTextWrap", publicName: "p-label-text-wrap", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { additionalHelp: "p-additional-help", blur: "p-blur", enter: "p-enter", change: "p-change", changeModel: "p-change-model", keydown: "p-keydown" }, viewQueries: [{ propertyName: "fieldContainer", first: true, predicate: ["fieldContainer"], descendants: true, read: PoFieldContainerComponent }, { propertyName: "helperEl", first: true, predicate: ["helperEl"], descendants: true, read: PoHelperComponent }], ngImport: i0 });
30794
31185
  }
30795
31186
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoInputBaseComponent, decorators: [{
30796
31187
  type: Directive
@@ -30835,6 +31226,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
30835
31226
  }], errorLimit: [{
30836
31227
  type: Input,
30837
31228
  args: ['p-error-limit']
31229
+ }], loading: [{
31230
+ type: Input,
31231
+ args: ['p-loading']
30838
31232
  }], optional: [{
30839
31233
  type: Input,
30840
31234
  args: ['p-optional']
@@ -31554,7 +31948,7 @@ class PoDecimalComponent extends PoInputBaseComponent {
31554
31948
  useExisting: forwardRef(() => PoDecimalComponent),
31555
31949
  multi: true
31556
31950
  }
31557
- ], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["inp"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n @if (icon) {\n <div class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon po-icon-input\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n }\n\n <input\n #inp\n class=\"po-input\"\n [attr.data-focused-element]=\"!disabled\"\n [attr.data-inactive-component]=\"disabled || readonly\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocomplete\"\n [ngClass]=\"{\n 'po-input-icon-left': icon && size !== 'small',\n 'po-input-icon-left-aa': icon && size === 'small',\n 'po-input-icon-right': clean && size !== 'small',\n 'po-input-icon-right-aa': clean && size === 'small'\n }\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n inputmode=\"decimal\"\n type=\"text\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (input)=\"onInput($event)\"\n (keypress)=\"onKeyPress($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n @if (clean && !disabled && !readonly) {\n <po-clean class=\"po-icon-input\" [p-element-ref]=\"inputEl\" [p-size]=\"size\" (p-change-event)=\"clear($event)\">\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-limit]=\"errorLimit\"\n [p-error-pattern]=\"getErrorPatternMessage()\"\n [p-size]=\"size\"\n ></po-field-container-bottom>\n }\n</po-field-container>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: PoCleanComponent, selector: "po-clean" }, { kind: "component", type: PoFieldContainerBottomComponent, selector: "po-field-container-bottom", inputs: ["p-append-in-body", "p-disabled", "p-error-pattern", "p-error-limit", "p-help", "p-size", "p-helper", "p-show-helper"] }, { kind: "component", type: PoFieldContainerComponent, selector: "po-field-container", inputs: ["p-disabled", "p-id", "p-label", "p-help", "p-helper", "p-show-helper", "p-text-wrap", "p-optional", "p-required", "p-show-required", "p-size"] }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoHelperComponent, selector: "po-helper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
31951
+ ], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["inp"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n @if (icon) {\n <div class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon po-icon-input\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n }\n\n <input\n #inp\n class=\"po-input\"\n [attr.data-focused-element]=\"!disabled\"\n [attr.data-inactive-component]=\"disabled || readonly\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocomplete\"\n [ngClass]=\"{\n 'po-input-icon-left': icon && size !== 'small',\n 'po-input-icon-left-aa': icon && size === 'small',\n 'po-input-icon-right': (clean || loading) && size !== 'small',\n 'po-input-icon-right-aa': (clean || loading) && size === 'small'\n }\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n inputmode=\"decimal\"\n type=\"text\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (input)=\"onInput($event)\"\n (keypress)=\"onKeyPress($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n @if (loading) {\n <po-loading-icon [p-size]=\"mapSizeToIcon(size)\"></po-loading-icon>\n }\n\n @if (!loading && clean && !disabled && !readonly) {\n <po-clean class=\"po-icon-input\" [p-element-ref]=\"inputEl\" [p-size]=\"size\" (p-change-event)=\"clear($event)\">\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-limit]=\"errorLimit\"\n [p-error-pattern]=\"getErrorPatternMessage()\"\n [p-size]=\"size\"\n ></po-field-container-bottom>\n }\n</po-field-container>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: PoCleanComponent, selector: "po-clean" }, { kind: "component", type: PoFieldContainerBottomComponent, selector: "po-field-container-bottom", inputs: ["p-append-in-body", "p-disabled", "p-error-pattern", "p-error-limit", "p-help", "p-size", "p-helper", "p-show-helper"] }, { kind: "component", type: PoFieldContainerComponent, selector: "po-field-container", inputs: ["p-disabled", "p-id", "p-label", "p-help", "p-helper", "p-show-helper", "p-text-wrap", "p-optional", "p-required", "p-show-required", "p-size"] }, { kind: "component", type: PoLoadingIconComponent, selector: "po-loading-icon", inputs: ["p-neutral-color", "p-size"] }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoHelperComponent, selector: "po-helper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
31558
31952
  }
31559
31953
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoDecimalComponent, decorators: [{
31560
31954
  type: Component,
@@ -31569,7 +31963,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
31569
31963
  useExisting: forwardRef(() => PoDecimalComponent),
31570
31964
  multi: true
31571
31965
  }
31572
- ], standalone: false, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n @if (icon) {\n <div class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon po-icon-input\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n }\n\n <input\n #inp\n class=\"po-input\"\n [attr.data-focused-element]=\"!disabled\"\n [attr.data-inactive-component]=\"disabled || readonly\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocomplete\"\n [ngClass]=\"{\n 'po-input-icon-left': icon && size !== 'small',\n 'po-input-icon-left-aa': icon && size === 'small',\n 'po-input-icon-right': clean && size !== 'small',\n 'po-input-icon-right-aa': clean && size === 'small'\n }\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n inputmode=\"decimal\"\n type=\"text\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (input)=\"onInput($event)\"\n (keypress)=\"onKeyPress($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n @if (clean && !disabled && !readonly) {\n <po-clean class=\"po-icon-input\" [p-element-ref]=\"inputEl\" [p-size]=\"size\" (p-change-event)=\"clear($event)\">\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-limit]=\"errorLimit\"\n [p-error-pattern]=\"getErrorPatternMessage()\"\n [p-size]=\"size\"\n ></po-field-container-bottom>\n }\n</po-field-container>\n" }]
31966
+ ], standalone: false, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n @if (icon) {\n <div class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon po-icon-input\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n }\n\n <input\n #inp\n class=\"po-input\"\n [attr.data-focused-element]=\"!disabled\"\n [attr.data-inactive-component]=\"disabled || readonly\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocomplete\"\n [ngClass]=\"{\n 'po-input-icon-left': icon && size !== 'small',\n 'po-input-icon-left-aa': icon && size === 'small',\n 'po-input-icon-right': (clean || loading) && size !== 'small',\n 'po-input-icon-right-aa': (clean || loading) && size === 'small'\n }\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n inputmode=\"decimal\"\n type=\"text\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (input)=\"onInput($event)\"\n (keypress)=\"onKeyPress($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n @if (loading) {\n <po-loading-icon [p-size]=\"mapSizeToIcon(size)\"></po-loading-icon>\n }\n\n @if (!loading && clean && !disabled && !readonly) {\n <po-clean class=\"po-icon-input\" [p-element-ref]=\"inputEl\" [p-size]=\"size\" (p-change-event)=\"clear($event)\">\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-limit]=\"errorLimit\"\n [p-error-pattern]=\"getErrorPatternMessage()\"\n [p-size]=\"size\"\n ></po-field-container-bottom>\n }\n</po-field-container>\n" }]
31573
31967
  }], ctorParameters: () => [], propDecorators: { inputEl: [{
31574
31968
  type: ViewChild,
31575
31969
  args: ['inp', { read: ElementRef, static: true }]
@@ -31943,11 +32337,11 @@ class PoEmailComponent extends PoInputGeneric {
31943
32337
  return null;
31944
32338
  }
31945
32339
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoEmailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31946
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: PoEmailComponent, isStandalone: false, selector: "po-email", providers: providers$4, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n #fieldContainer\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n @if (icon) {\n <div class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n }\n\n <input\n #inp\n class=\"po-input\"\n [attr.name]=\"name\"\n [attr.data-focused-element]=\"!disabled\"\n [attr.data-inactive-component]=\"disabled || readonly\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-left]=\"icon\"\n [class.po-input-icon-left-aa]=\"icon && size === 'small'\"\n [class.po-input-icon-right]=\"clean\"\n [class.po-input-icon-right-aa]=\"clean && size === 'small'\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n <div class=\"po-field-icon-container-right\">\n @if (clean && !disabled && !readonly) {\n <po-clean\n class=\"{{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [p-element-ref]=\"inputEl\"\n [p-size]=\"size\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-error-limit]=\"errorLimit\"\n [p-size]=\"size\"\n ></po-field-container-bottom>\n }\n</po-field-container>\n", dependencies: [{ kind: "component", type: PoCleanComponent, selector: "po-clean" }, { kind: "component", type: PoFieldContainerBottomComponent, selector: "po-field-container-bottom", inputs: ["p-append-in-body", "p-disabled", "p-error-pattern", "p-error-limit", "p-help", "p-size", "p-helper", "p-show-helper"] }, { kind: "component", type: PoFieldContainerComponent, selector: "po-field-container", inputs: ["p-disabled", "p-id", "p-label", "p-help", "p-helper", "p-show-helper", "p-text-wrap", "p-optional", "p-required", "p-show-required", "p-size"] }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoHelperComponent, selector: "po-helper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32340
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: PoEmailComponent, isStandalone: false, selector: "po-email", providers: providers$4, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n #fieldContainer\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n @if (icon) {\n <div class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n }\n\n <input\n #inp\n class=\"po-input\"\n [attr.name]=\"name\"\n [attr.data-focused-element]=\"!disabled\"\n [attr.data-inactive-component]=\"disabled || readonly\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-left]=\"icon\"\n [class.po-input-icon-left-aa]=\"icon && size === 'small'\"\n [class.po-input-icon-right]=\"clean || loading\"\n [class.po-input-icon-right-aa]=\"(clean || loading) && size === 'small'\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n <div class=\"po-field-icon-container-right\">\n @if (loading) {\n <po-loading-icon [p-size]=\"mapSizeToIcon(size)\"></po-loading-icon>\n }\n\n @if (!loading && clean && !disabled && !readonly) {\n <po-clean\n class=\"{{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [p-element-ref]=\"inputEl\"\n [p-size]=\"size\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-error-limit]=\"errorLimit\"\n [p-size]=\"size\"\n ></po-field-container-bottom>\n }\n</po-field-container>\n", dependencies: [{ kind: "component", type: PoCleanComponent, selector: "po-clean" }, { kind: "component", type: PoFieldContainerBottomComponent, selector: "po-field-container-bottom", inputs: ["p-append-in-body", "p-disabled", "p-error-pattern", "p-error-limit", "p-help", "p-size", "p-helper", "p-show-helper"] }, { kind: "component", type: PoFieldContainerComponent, selector: "po-field-container", inputs: ["p-disabled", "p-id", "p-label", "p-help", "p-helper", "p-show-helper", "p-text-wrap", "p-optional", "p-required", "p-show-required", "p-size"] }, { kind: "component", type: PoLoadingIconComponent, selector: "po-loading-icon", inputs: ["p-neutral-color", "p-size"] }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoHelperComponent, selector: "po-helper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
31947
32341
  }
31948
32342
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoEmailComponent, decorators: [{
31949
32343
  type: Component,
31950
- args: [{ selector: 'po-email', changeDetection: ChangeDetectionStrategy.OnPush, providers: providers$4, standalone: false, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n #fieldContainer\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n @if (icon) {\n <div class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n }\n\n <input\n #inp\n class=\"po-input\"\n [attr.name]=\"name\"\n [attr.data-focused-element]=\"!disabled\"\n [attr.data-inactive-component]=\"disabled || readonly\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-left]=\"icon\"\n [class.po-input-icon-left-aa]=\"icon && size === 'small'\"\n [class.po-input-icon-right]=\"clean\"\n [class.po-input-icon-right-aa]=\"clean && size === 'small'\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n <div class=\"po-field-icon-container-right\">\n @if (clean && !disabled && !readonly) {\n <po-clean\n class=\"{{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [p-element-ref]=\"inputEl\"\n [p-size]=\"size\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-error-limit]=\"errorLimit\"\n [p-size]=\"size\"\n ></po-field-container-bottom>\n }\n</po-field-container>\n" }]
32344
+ args: [{ selector: 'po-email', changeDetection: ChangeDetectionStrategy.OnPush, providers: providers$4, standalone: false, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n #fieldContainer\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n @if (icon) {\n <div class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n }\n\n <input\n #inp\n class=\"po-input\"\n [attr.name]=\"name\"\n [attr.data-focused-element]=\"!disabled\"\n [attr.data-inactive-component]=\"disabled || readonly\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-left]=\"icon\"\n [class.po-input-icon-left-aa]=\"icon && size === 'small'\"\n [class.po-input-icon-right]=\"clean || loading\"\n [class.po-input-icon-right-aa]=\"(clean || loading) && size === 'small'\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n <div class=\"po-field-icon-container-right\">\n @if (loading) {\n <po-loading-icon [p-size]=\"mapSizeToIcon(size)\"></po-loading-icon>\n }\n\n @if (!loading && clean && !disabled && !readonly) {\n <po-clean\n class=\"{{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [p-element-ref]=\"inputEl\"\n [p-size]=\"size\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-error-limit]=\"errorLimit\"\n [p-size]=\"size\"\n ></po-field-container-bottom>\n }\n</po-field-container>\n" }]
31951
32345
  }], ctorParameters: () => [] });
31952
32346
 
31953
32347
  /**
@@ -31999,7 +32393,7 @@ class PoInputComponent extends PoInputGeneric {
31999
32393
  useExisting: forwardRef(() => PoInputComponent),
32000
32394
  multi: true
32001
32395
  }
32002
- ], viewQueries: [{ propertyName: "inp", first: true, predicate: ["inp"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n #fieldContainer\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n @if (icon) {\n <div class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n }\n\n <input\n #inp\n class=\"po-input\"\n [attr.name]=\"name\"\n [attr.data-focused-element]=\"!disabled\"\n [attr.data-inactive-component]=\"disabled || readonly\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-left]=\"icon\"\n [class.po-input-icon-left-aa]=\"icon && size === 'small'\"\n [class.po-input-icon-right]=\"clean\"\n [class.po-input-icon-right-aa]=\"clean && size === 'small'\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n <div class=\"po-field-icon-container-right\">\n @if (clean && !disabled && !readonly) {\n <po-clean\n class=\"{{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [p-element-ref]=\"inputEl\"\n [p-size]=\"size\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-error-limit]=\"errorLimit\"\n [p-size]=\"size\"\n ></po-field-container-bottom>\n }\n</po-field-container>\n", dependencies: [{ kind: "component", type: PoCleanComponent, selector: "po-clean" }, { kind: "component", type: PoFieldContainerBottomComponent, selector: "po-field-container-bottom", inputs: ["p-append-in-body", "p-disabled", "p-error-pattern", "p-error-limit", "p-help", "p-size", "p-helper", "p-show-helper"] }, { kind: "component", type: PoFieldContainerComponent, selector: "po-field-container", inputs: ["p-disabled", "p-id", "p-label", "p-help", "p-helper", "p-show-helper", "p-text-wrap", "p-optional", "p-required", "p-show-required", "p-size"] }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoHelperComponent, selector: "po-helper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32396
+ ], viewQueries: [{ propertyName: "inp", first: true, predicate: ["inp"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n #fieldContainer\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n @if (icon) {\n <div class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n }\n\n <input\n #inp\n class=\"po-input\"\n [attr.name]=\"name\"\n [attr.data-focused-element]=\"!disabled\"\n [attr.data-inactive-component]=\"disabled || readonly\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-left]=\"icon\"\n [class.po-input-icon-left-aa]=\"icon && size === 'small'\"\n [class.po-input-icon-right]=\"clean || loading\"\n [class.po-input-icon-right-aa]=\"(clean || loading) && size === 'small'\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n <div class=\"po-field-icon-container-right\">\n @if (loading) {\n <po-loading-icon [p-size]=\"mapSizeToIcon(size)\"></po-loading-icon>\n }\n\n @if (!loading && clean && !disabled && !readonly) {\n <po-clean\n class=\"{{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [p-element-ref]=\"inputEl\"\n [p-size]=\"size\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-error-limit]=\"errorLimit\"\n [p-size]=\"size\"\n ></po-field-container-bottom>\n }\n</po-field-container>\n", dependencies: [{ kind: "component", type: PoCleanComponent, selector: "po-clean" }, { kind: "component", type: PoFieldContainerBottomComponent, selector: "po-field-container-bottom", inputs: ["p-append-in-body", "p-disabled", "p-error-pattern", "p-error-limit", "p-help", "p-size", "p-helper", "p-show-helper"] }, { kind: "component", type: PoFieldContainerComponent, selector: "po-field-container", inputs: ["p-disabled", "p-id", "p-label", "p-help", "p-helper", "p-show-helper", "p-text-wrap", "p-optional", "p-required", "p-show-required", "p-size"] }, { kind: "component", type: PoLoadingIconComponent, selector: "po-loading-icon", inputs: ["p-neutral-color", "p-size"] }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoHelperComponent, selector: "po-helper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32003
32397
  }
32004
32398
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoInputComponent, decorators: [{
32005
32399
  type: Component,
@@ -32014,7 +32408,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
32014
32408
  useExisting: forwardRef(() => PoInputComponent),
32015
32409
  multi: true
32016
32410
  }
32017
- ], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n #fieldContainer\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n @if (icon) {\n <div class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n }\n\n <input\n #inp\n class=\"po-input\"\n [attr.name]=\"name\"\n [attr.data-focused-element]=\"!disabled\"\n [attr.data-inactive-component]=\"disabled || readonly\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-left]=\"icon\"\n [class.po-input-icon-left-aa]=\"icon && size === 'small'\"\n [class.po-input-icon-right]=\"clean\"\n [class.po-input-icon-right-aa]=\"clean && size === 'small'\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n <div class=\"po-field-icon-container-right\">\n @if (clean && !disabled && !readonly) {\n <po-clean\n class=\"{{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [p-element-ref]=\"inputEl\"\n [p-size]=\"size\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-error-limit]=\"errorLimit\"\n [p-size]=\"size\"\n ></po-field-container-bottom>\n }\n</po-field-container>\n" }]
32411
+ ], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n #fieldContainer\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n @if (icon) {\n <div class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n }\n\n <input\n #inp\n class=\"po-input\"\n [attr.name]=\"name\"\n [attr.data-focused-element]=\"!disabled\"\n [attr.data-inactive-component]=\"disabled || readonly\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-left]=\"icon\"\n [class.po-input-icon-left-aa]=\"icon && size === 'small'\"\n [class.po-input-icon-right]=\"clean || loading\"\n [class.po-input-icon-right-aa]=\"(clean || loading) && size === 'small'\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n <div class=\"po-field-icon-container-right\">\n @if (loading) {\n <po-loading-icon [p-size]=\"mapSizeToIcon(size)\"></po-loading-icon>\n }\n\n @if (!loading && clean && !disabled && !readonly) {\n <po-clean\n class=\"{{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [p-element-ref]=\"inputEl\"\n [p-size]=\"size\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-error-limit]=\"errorLimit\"\n [p-size]=\"size\"\n ></po-field-container-bottom>\n }\n</po-field-container>\n" }]
32018
32412
  }], ctorParameters: () => [], propDecorators: { inp: [{
32019
32413
  type: ViewChild,
32020
32414
  args: ['inp', { static: true }]
@@ -32087,11 +32481,11 @@ class PoLoginComponent extends PoInputGeneric {
32087
32481
  return null;
32088
32482
  }
32089
32483
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoLoginComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32090
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: PoLoginComponent, isStandalone: false, selector: "po-login", inputs: { noAutocomplete: ["p-no-autocomplete", "noAutocomplete"] }, providers: providers$3, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n <div class=\"po-field-icon-container-left\">\n <po-icon\n p-icon=\"ICON_USER\"\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n ></po-icon>\n </div>\n\n <input\n #inp\n class=\"po-input {{ size === 'small' ? 'po-input-aa' : '' }} po-input-icon-left\"\n [class.po-input-icon-left-aa]=\"size === 'small'\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-right]=\"clean\"\n [class.po-input-icon-right-aa]=\"clean && size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n @if (clean && !disabled && !readonly) {\n <po-clean class=\"po-icon-input\" [p-element-ref]=\"inputEl\" [p-size]=\"size\" (p-change-event)=\"clear($event)\">\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-error-limit]=\"errorLimit\"\n [p-size]=\"size\"\n >\n </po-field-container-bottom>\n }\n</po-field-container>\n", dependencies: [{ kind: "component", type: PoCleanComponent, selector: "po-clean" }, { kind: "component", type: PoFieldContainerBottomComponent, selector: "po-field-container-bottom", inputs: ["p-append-in-body", "p-disabled", "p-error-pattern", "p-error-limit", "p-help", "p-size", "p-helper", "p-show-helper"] }, { kind: "component", type: PoFieldContainerComponent, selector: "po-field-container", inputs: ["p-disabled", "p-id", "p-label", "p-help", "p-helper", "p-show-helper", "p-text-wrap", "p-optional", "p-required", "p-show-required", "p-size"] }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoHelperComponent, selector: "po-helper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32484
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: PoLoginComponent, isStandalone: false, selector: "po-login", inputs: { noAutocomplete: ["p-no-autocomplete", "noAutocomplete"] }, providers: providers$3, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n <div class=\"po-field-icon-container-left\">\n <po-icon\n p-icon=\"ICON_USER\"\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n ></po-icon>\n </div>\n\n <input\n #inp\n class=\"po-input {{ size === 'small' ? 'po-input-aa' : '' }} po-input-icon-left\"\n [class.po-input-icon-left-aa]=\"size === 'small'\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-right]=\"clean || loading\"\n [class.po-input-icon-right-aa]=\"(clean || loading) && size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n @if (loading) {\n <po-loading-icon [p-size]=\"mapSizeToIcon(size)\"></po-loading-icon>\n }\n\n @if (!loading && clean && !disabled && !readonly) {\n <po-clean class=\"po-icon-input\" [p-element-ref]=\"inputEl\" [p-size]=\"size\" (p-change-event)=\"clear($event)\">\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-error-limit]=\"errorLimit\"\n [p-size]=\"size\"\n >\n </po-field-container-bottom>\n }\n</po-field-container>\n", dependencies: [{ kind: "component", type: PoCleanComponent, selector: "po-clean" }, { kind: "component", type: PoFieldContainerBottomComponent, selector: "po-field-container-bottom", inputs: ["p-append-in-body", "p-disabled", "p-error-pattern", "p-error-limit", "p-help", "p-size", "p-helper", "p-show-helper"] }, { kind: "component", type: PoFieldContainerComponent, selector: "po-field-container", inputs: ["p-disabled", "p-id", "p-label", "p-help", "p-helper", "p-show-helper", "p-text-wrap", "p-optional", "p-required", "p-show-required", "p-size"] }, { kind: "component", type: PoLoadingIconComponent, selector: "po-loading-icon", inputs: ["p-neutral-color", "p-size"] }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoHelperComponent, selector: "po-helper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32091
32485
  }
32092
32486
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoLoginComponent, decorators: [{
32093
32487
  type: Component,
32094
- args: [{ selector: 'po-login', changeDetection: ChangeDetectionStrategy.OnPush, providers: providers$3, standalone: false, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n <div class=\"po-field-icon-container-left\">\n <po-icon\n p-icon=\"ICON_USER\"\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n ></po-icon>\n </div>\n\n <input\n #inp\n class=\"po-input {{ size === 'small' ? 'po-input-aa' : '' }} po-input-icon-left\"\n [class.po-input-icon-left-aa]=\"size === 'small'\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-right]=\"clean\"\n [class.po-input-icon-right-aa]=\"clean && size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n @if (clean && !disabled && !readonly) {\n <po-clean class=\"po-icon-input\" [p-element-ref]=\"inputEl\" [p-size]=\"size\" (p-change-event)=\"clear($event)\">\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-error-limit]=\"errorLimit\"\n [p-size]=\"size\"\n >\n </po-field-container-bottom>\n }\n</po-field-container>\n" }]
32488
+ args: [{ selector: 'po-login', changeDetection: ChangeDetectionStrategy.OnPush, providers: providers$3, standalone: false, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n <div class=\"po-field-icon-container-left\">\n <po-icon\n p-icon=\"ICON_USER\"\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n ></po-icon>\n </div>\n\n <input\n #inp\n class=\"po-input {{ size === 'small' ? 'po-input-aa' : '' }} po-input-icon-left\"\n [class.po-input-icon-left-aa]=\"size === 'small'\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-right]=\"clean || loading\"\n [class.po-input-icon-right-aa]=\"(clean || loading) && size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n @if (loading) {\n <po-loading-icon [p-size]=\"mapSizeToIcon(size)\"></po-loading-icon>\n }\n\n @if (!loading && clean && !disabled && !readonly) {\n <po-clean class=\"po-icon-input\" [p-element-ref]=\"inputEl\" [p-size]=\"size\" (p-change-event)=\"clear($event)\">\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-error-limit]=\"errorLimit\"\n [p-size]=\"size\"\n >\n </po-field-container-bottom>\n }\n</po-field-container>\n" }]
32095
32489
  }], ctorParameters: () => [], propDecorators: { noAutocomplete: [{
32096
32490
  type: Input,
32097
32491
  args: ['p-no-autocomplete']
@@ -37284,7 +37678,7 @@ class PoNumberComponent extends PoNumberBaseComponent {
37284
37678
  useExisting: forwardRef(() => PoNumberComponent),
37285
37679
  multi: true
37286
37680
  }
37287
- ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n @if (icon) {\n <div class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon po-icon-input\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n }\n <input\n #inp\n class=\"po-input\"\n type=\"number\"\n [attr.data-focused-element]=\"!disabled\"\n [attr.data-inactive-component]=\"disabled || readonly\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.name]=\"name\"\n [attr.step]=\"step\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-left]=\"icon\"\n [class.po-input-icon-left-aa]=\"icon && size === 'small'\"\n [class.po-input-icon-right]=\"clean\"\n [class.po-input-icon-right-aa]=\"clean && size === 'small'\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [tabindex]=\"disabled ? -1 : 0\"\n (blur)=\"onBlur($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n @if (clean && !disabled && !readonly) {\n <po-clean\n class=\"po-icon-input\"\n [p-default-value]=\"null\"\n [p-element-ref]=\"inputEl\"\n [p-size]=\"size\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-limit]=\"errorLimit\"\n [p-error-pattern]=\"getErrorPatternMessage()\"\n [p-size]=\"size\"\n >\n </po-field-container-bottom>\n }\n</po-field-container>\n", dependencies: [{ kind: "component", type: PoCleanComponent, selector: "po-clean" }, { kind: "component", type: PoFieldContainerBottomComponent, selector: "po-field-container-bottom", inputs: ["p-append-in-body", "p-disabled", "p-error-pattern", "p-error-limit", "p-help", "p-size", "p-helper", "p-show-helper"] }, { kind: "component", type: PoFieldContainerComponent, selector: "po-field-container", inputs: ["p-disabled", "p-id", "p-label", "p-help", "p-helper", "p-show-helper", "p-text-wrap", "p-optional", "p-required", "p-show-required", "p-size"] }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoHelperComponent, selector: "po-helper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
37681
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n @if (icon) {\n <div class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon po-icon-input\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n }\n <input\n #inp\n class=\"po-input\"\n type=\"number\"\n [attr.data-focused-element]=\"!disabled\"\n [attr.data-inactive-component]=\"disabled || readonly\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.name]=\"name\"\n [attr.step]=\"step\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-left]=\"icon\"\n [class.po-input-icon-left-aa]=\"icon && size === 'small'\"\n [class.po-input-icon-right]=\"clean || loading\"\n [class.po-input-icon-right-aa]=\"(clean || loading) && size === 'small'\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [tabindex]=\"disabled ? -1 : 0\"\n (blur)=\"onBlur($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n @if (loading) {\n <po-loading-icon [p-size]=\"mapSizeToIcon(size)\"></po-loading-icon>\n }\n\n @if (!loading && clean && !disabled && !readonly) {\n <po-clean\n class=\"po-icon-input\"\n [p-default-value]=\"null\"\n [p-element-ref]=\"inputEl\"\n [p-size]=\"size\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-limit]=\"errorLimit\"\n [p-error-pattern]=\"getErrorPatternMessage()\"\n [p-size]=\"size\"\n >\n </po-field-container-bottom>\n }\n</po-field-container>\n", dependencies: [{ kind: "component", type: PoCleanComponent, selector: "po-clean" }, { kind: "component", type: PoFieldContainerBottomComponent, selector: "po-field-container-bottom", inputs: ["p-append-in-body", "p-disabled", "p-error-pattern", "p-error-limit", "p-help", "p-size", "p-helper", "p-show-helper"] }, { kind: "component", type: PoFieldContainerComponent, selector: "po-field-container", inputs: ["p-disabled", "p-id", "p-label", "p-help", "p-helper", "p-show-helper", "p-text-wrap", "p-optional", "p-required", "p-show-required", "p-size"] }, { kind: "component", type: PoLoadingIconComponent, selector: "po-loading-icon", inputs: ["p-neutral-color", "p-size"] }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoHelperComponent, selector: "po-helper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
37288
37682
  }
37289
37683
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoNumberComponent, decorators: [{
37290
37684
  type: Component,
@@ -37299,7 +37693,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
37299
37693
  useExisting: forwardRef(() => PoNumberComponent),
37300
37694
  multi: true
37301
37695
  }
37302
- ], standalone: false, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n @if (icon) {\n <div class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon po-icon-input\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n }\n <input\n #inp\n class=\"po-input\"\n type=\"number\"\n [attr.data-focused-element]=\"!disabled\"\n [attr.data-inactive-component]=\"disabled || readonly\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.name]=\"name\"\n [attr.step]=\"step\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-left]=\"icon\"\n [class.po-input-icon-left-aa]=\"icon && size === 'small'\"\n [class.po-input-icon-right]=\"clean\"\n [class.po-input-icon-right-aa]=\"clean && size === 'small'\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [tabindex]=\"disabled ? -1 : 0\"\n (blur)=\"onBlur($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n @if (clean && !disabled && !readonly) {\n <po-clean\n class=\"po-icon-input\"\n [p-default-value]=\"null\"\n [p-element-ref]=\"inputEl\"\n [p-size]=\"size\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-limit]=\"errorLimit\"\n [p-error-pattern]=\"getErrorPatternMessage()\"\n [p-size]=\"size\"\n >\n </po-field-container-bottom>\n }\n</po-field-container>\n" }]
37696
+ ], standalone: false, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n @if (icon) {\n <div class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon po-icon-input\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n }\n <input\n #inp\n class=\"po-input\"\n type=\"number\"\n [attr.data-focused-element]=\"!disabled\"\n [attr.data-inactive-component]=\"disabled || readonly\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.name]=\"name\"\n [attr.step]=\"step\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-left]=\"icon\"\n [class.po-input-icon-left-aa]=\"icon && size === 'small'\"\n [class.po-input-icon-right]=\"clean || loading\"\n [class.po-input-icon-right-aa]=\"(clean || loading) && size === 'small'\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [tabindex]=\"disabled ? -1 : 0\"\n (blur)=\"onBlur($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n @if (loading) {\n <po-loading-icon [p-size]=\"mapSizeToIcon(size)\"></po-loading-icon>\n }\n\n @if (!loading && clean && !disabled && !readonly) {\n <po-clean\n class=\"po-icon-input\"\n [p-default-value]=\"null\"\n [p-element-ref]=\"inputEl\"\n [p-size]=\"size\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-limit]=\"errorLimit\"\n [p-error-pattern]=\"getErrorPatternMessage()\"\n [p-size]=\"size\"\n >\n </po-field-container-bottom>\n }\n</po-field-container>\n" }]
37303
37697
  }], ctorParameters: () => [], propDecorators: { step: [{
37304
37698
  type: Input,
37305
37699
  args: ['p-step']
@@ -37401,7 +37795,7 @@ class PoPasswordComponent extends PoInputGeneric {
37401
37795
  useExisting: forwardRef(() => PoPasswordComponent),
37402
37796
  multi: true
37403
37797
  }
37404
- ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n <div class=\"po-field-icon-container-left\">\n <po-icon\n p-icon=\"ICON_LOCK\"\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n >\n </po-icon>\n </div>\n\n <input\n #inp\n class=\"po-input po-input-icon-left\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-double-icon-right]=\"clean && inp.value && !hidePasswordPeek\"\n [class.po-input-double-icon-right-aa]=\"clean && inp.value && !hidePasswordPeek && size === 'small'\"\n [class.po-input-icon-right]=\"clean || !hidePasswordPeek\"\n [class.po-input-icon-right-aa]=\"(clean || !hidePasswordPeek) && size === 'small'\"\n [class.po-input-icon-left-aa]=\"size === 'small'\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"disabled ? 'password' : type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n @if (clean && !disabled && !readonly) {\n <po-clean class=\"po-icon-input\" [p-element-ref]=\"inputEl\" [p-size]=\"size\" (p-change-event)=\"clear($event)\">\n </po-clean>\n }\n\n @if (!hidePasswordPeek && !disabled) {\n <po-icon\n [p-icon]=\"visiblePassword ? 'ICON_EYE' : 'ICON_EYE_OFF'\"\n class=\"po-field-icon po-icon-input\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [ngClass]=\"!visiblePassword ? 'po-field-icon-disabled' : ''\"\n [class.po-field-icon-disabled-aa]=\"size === 'small'\"\n (click)=\"showPassword()\"\n >\n </po-icon>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n @if (!readonly) {\n <po-field-container-bottom\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-limit]=\"errorLimit\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-size]=\"size\"\n >\n </po-field-container-bottom>\n }\n</po-field-container>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: PoCleanComponent, selector: "po-clean" }, { kind: "component", type: PoFieldContainerBottomComponent, selector: "po-field-container-bottom", inputs: ["p-append-in-body", "p-disabled", "p-error-pattern", "p-error-limit", "p-help", "p-size", "p-helper", "p-show-helper"] }, { kind: "component", type: PoFieldContainerComponent, selector: "po-field-container", inputs: ["p-disabled", "p-id", "p-label", "p-help", "p-helper", "p-show-helper", "p-text-wrap", "p-optional", "p-required", "p-show-required", "p-size"] }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoHelperComponent, selector: "po-helper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
37798
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n <div class=\"po-field-icon-container-left\">\n <po-icon\n p-icon=\"ICON_LOCK\"\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n >\n </po-icon>\n </div>\n\n <input\n #inp\n class=\"po-input po-input-icon-left\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-double-icon-right]=\"!loading && clean && inp.value && !hidePasswordPeek\"\n [class.po-input-double-icon-right-aa]=\"!loading && clean && inp.value && !hidePasswordPeek && size === 'small'\"\n [class.po-input-icon-right]=\"clean || loading || !hidePasswordPeek\"\n [class.po-input-icon-right-aa]=\"(clean || loading || !hidePasswordPeek) && size === 'small'\"\n [class.po-input-icon-left-aa]=\"size === 'small'\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"disabled ? 'password' : type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n @if (loading) {\n <po-loading-icon [p-size]=\"mapSizeToIcon(size)\"> </po-loading-icon>\n }\n\n @if (!loading && clean && !disabled && !readonly) {\n <po-clean class=\"po-icon-input\" [p-element-ref]=\"inputEl\" [p-size]=\"size\" (p-change-event)=\"clear($event)\">\n </po-clean>\n }\n\n @if (!loading && !hidePasswordPeek && !disabled) {\n <po-icon\n [p-icon]=\"visiblePassword ? 'ICON_EYE' : 'ICON_EYE_OFF'\"\n class=\"po-field-icon po-icon-input\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [ngClass]=\"!visiblePassword ? 'po-field-icon-disabled' : ''\"\n [class.po-field-icon-disabled-aa]=\"size === 'small'\"\n (click)=\"showPassword()\"\n >\n </po-icon>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n @if (!readonly) {\n <po-field-container-bottom\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-limit]=\"errorLimit\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-size]=\"size\"\n >\n </po-field-container-bottom>\n }\n</po-field-container>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: PoCleanComponent, selector: "po-clean" }, { kind: "component", type: PoFieldContainerBottomComponent, selector: "po-field-container-bottom", inputs: ["p-append-in-body", "p-disabled", "p-error-pattern", "p-error-limit", "p-help", "p-size", "p-helper", "p-show-helper"] }, { kind: "component", type: PoFieldContainerComponent, selector: "po-field-container", inputs: ["p-disabled", "p-id", "p-label", "p-help", "p-helper", "p-show-helper", "p-text-wrap", "p-optional", "p-required", "p-show-required", "p-size"] }, { kind: "component", type: PoLoadingIconComponent, selector: "po-loading-icon", inputs: ["p-neutral-color", "p-size"] }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoHelperComponent, selector: "po-helper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
37405
37799
  }
37406
37800
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoPasswordComponent, decorators: [{
37407
37801
  type: Component,
@@ -37416,7 +37810,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
37416
37810
  useExisting: forwardRef(() => PoPasswordComponent),
37417
37811
  multi: true
37418
37812
  }
37419
- ], standalone: false, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n <div class=\"po-field-icon-container-left\">\n <po-icon\n p-icon=\"ICON_LOCK\"\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n >\n </po-icon>\n </div>\n\n <input\n #inp\n class=\"po-input po-input-icon-left\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-double-icon-right]=\"clean && inp.value && !hidePasswordPeek\"\n [class.po-input-double-icon-right-aa]=\"clean && inp.value && !hidePasswordPeek && size === 'small'\"\n [class.po-input-icon-right]=\"clean || !hidePasswordPeek\"\n [class.po-input-icon-right-aa]=\"(clean || !hidePasswordPeek) && size === 'small'\"\n [class.po-input-icon-left-aa]=\"size === 'small'\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"disabled ? 'password' : type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n @if (clean && !disabled && !readonly) {\n <po-clean class=\"po-icon-input\" [p-element-ref]=\"inputEl\" [p-size]=\"size\" (p-change-event)=\"clear($event)\">\n </po-clean>\n }\n\n @if (!hidePasswordPeek && !disabled) {\n <po-icon\n [p-icon]=\"visiblePassword ? 'ICON_EYE' : 'ICON_EYE_OFF'\"\n class=\"po-field-icon po-icon-input\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [ngClass]=\"!visiblePassword ? 'po-field-icon-disabled' : ''\"\n [class.po-field-icon-disabled-aa]=\"size === 'small'\"\n (click)=\"showPassword()\"\n >\n </po-icon>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n @if (!readonly) {\n <po-field-container-bottom\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-limit]=\"errorLimit\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-size]=\"size\"\n >\n </po-field-container-bottom>\n }\n</po-field-container>\n" }]
37813
+ ], standalone: false, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n <div class=\"po-field-icon-container-left\">\n <po-icon\n p-icon=\"ICON_LOCK\"\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n >\n </po-icon>\n </div>\n\n <input\n #inp\n class=\"po-input po-input-icon-left\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-double-icon-right]=\"!loading && clean && inp.value && !hidePasswordPeek\"\n [class.po-input-double-icon-right-aa]=\"!loading && clean && inp.value && !hidePasswordPeek && size === 'small'\"\n [class.po-input-icon-right]=\"clean || loading || !hidePasswordPeek\"\n [class.po-input-icon-right-aa]=\"(clean || loading || !hidePasswordPeek) && size === 'small'\"\n [class.po-input-icon-left-aa]=\"size === 'small'\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"disabled ? 'password' : type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n @if (loading) {\n <po-loading-icon [p-size]=\"mapSizeToIcon(size)\"> </po-loading-icon>\n }\n\n @if (!loading && clean && !disabled && !readonly) {\n <po-clean class=\"po-icon-input\" [p-element-ref]=\"inputEl\" [p-size]=\"size\" (p-change-event)=\"clear($event)\">\n </po-clean>\n }\n\n @if (!loading && !hidePasswordPeek && !disabled) {\n <po-icon\n [p-icon]=\"visiblePassword ? 'ICON_EYE' : 'ICON_EYE_OFF'\"\n class=\"po-field-icon po-icon-input\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [ngClass]=\"!visiblePassword ? 'po-field-icon-disabled' : ''\"\n [class.po-field-icon-disabled-aa]=\"size === 'small'\"\n (click)=\"showPassword()\"\n >\n </po-icon>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n @if (!readonly) {\n <po-field-container-bottom\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-limit]=\"errorLimit\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-size]=\"size\"\n >\n </po-field-container-bottom>\n }\n</po-field-container>\n" }]
37420
37814
  }], ctorParameters: () => [], propDecorators: { hidePasswordPeek: [{
37421
37815
  type: Input,
37422
37816
  args: ['p-hide-password-peek']
@@ -40631,7 +41025,7 @@ class PoUrlComponent extends PoInputGeneric {
40631
41025
  useExisting: forwardRef(() => PoUrlComponent),
40632
41026
  multi: true
40633
41027
  }
40634
- ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n #fieldContainer\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n @if (icon) {\n <div class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n }\n\n <input\n #inp\n class=\"po-input\"\n [attr.name]=\"name\"\n [attr.data-focused-element]=\"!disabled\"\n [attr.data-inactive-component]=\"disabled || readonly\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-left]=\"icon\"\n [class.po-input-icon-left-aa]=\"icon && size === 'small'\"\n [class.po-input-icon-right]=\"clean\"\n [class.po-input-icon-right-aa]=\"clean && size === 'small'\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n <div class=\"po-field-icon-container-right\">\n @if (clean && !disabled && !readonly) {\n <po-clean\n class=\"{{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [p-element-ref]=\"inputEl\"\n [p-size]=\"size\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-error-limit]=\"errorLimit\"\n [p-size]=\"size\"\n ></po-field-container-bottom>\n }\n</po-field-container>\n", dependencies: [{ kind: "component", type: PoCleanComponent, selector: "po-clean" }, { kind: "component", type: PoFieldContainerBottomComponent, selector: "po-field-container-bottom", inputs: ["p-append-in-body", "p-disabled", "p-error-pattern", "p-error-limit", "p-help", "p-size", "p-helper", "p-show-helper"] }, { kind: "component", type: PoFieldContainerComponent, selector: "po-field-container", inputs: ["p-disabled", "p-id", "p-label", "p-help", "p-helper", "p-show-helper", "p-text-wrap", "p-optional", "p-required", "p-show-required", "p-size"] }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoHelperComponent, selector: "po-helper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41028
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n #fieldContainer\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n @if (icon) {\n <div class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n }\n\n <input\n #inp\n class=\"po-input\"\n [attr.name]=\"name\"\n [attr.data-focused-element]=\"!disabled\"\n [attr.data-inactive-component]=\"disabled || readonly\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-left]=\"icon\"\n [class.po-input-icon-left-aa]=\"icon && size === 'small'\"\n [class.po-input-icon-right]=\"clean || loading\"\n [class.po-input-icon-right-aa]=\"(clean || loading) && size === 'small'\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n <div class=\"po-field-icon-container-right\">\n @if (loading) {\n <po-loading-icon [p-size]=\"mapSizeToIcon(size)\"></po-loading-icon>\n }\n\n @if (!loading && clean && !disabled && !readonly) {\n <po-clean\n class=\"{{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [p-element-ref]=\"inputEl\"\n [p-size]=\"size\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-error-limit]=\"errorLimit\"\n [p-size]=\"size\"\n ></po-field-container-bottom>\n }\n</po-field-container>\n", dependencies: [{ kind: "component", type: PoCleanComponent, selector: "po-clean" }, { kind: "component", type: PoFieldContainerBottomComponent, selector: "po-field-container-bottom", inputs: ["p-append-in-body", "p-disabled", "p-error-pattern", "p-error-limit", "p-help", "p-size", "p-helper", "p-show-helper"] }, { kind: "component", type: PoFieldContainerComponent, selector: "po-field-container", inputs: ["p-disabled", "p-id", "p-label", "p-help", "p-helper", "p-show-helper", "p-text-wrap", "p-optional", "p-required", "p-show-required", "p-size"] }, { kind: "component", type: PoLoadingIconComponent, selector: "po-loading-icon", inputs: ["p-neutral-color", "p-size"] }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "component", type: PoHelperComponent, selector: "po-helper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
40635
41029
  }
40636
41030
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoUrlComponent, decorators: [{
40637
41031
  type: Component,
@@ -40646,7 +41040,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
40646
41040
  useExisting: forwardRef(() => PoUrlComponent),
40647
41041
  multi: true
40648
41042
  }
40649
- ], standalone: false, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n #fieldContainer\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n @if (icon) {\n <div class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n }\n\n <input\n #inp\n class=\"po-input\"\n [attr.name]=\"name\"\n [attr.data-focused-element]=\"!disabled\"\n [attr.data-inactive-component]=\"disabled || readonly\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-left]=\"icon\"\n [class.po-input-icon-left-aa]=\"icon && size === 'small'\"\n [class.po-input-icon-right]=\"clean\"\n [class.po-input-icon-right-aa]=\"clean && size === 'small'\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n <div class=\"po-field-icon-container-right\">\n @if (clean && !disabled && !readonly) {\n <po-clean\n class=\"{{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [p-element-ref]=\"inputEl\"\n [p-size]=\"size\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-error-limit]=\"errorLimit\"\n [p-size]=\"size\"\n ></po-field-container-bottom>\n }\n</po-field-container>\n" }]
41043
+ ], standalone: false, template: "@let poHelper = setHelper(label, additionalHelpTooltip);\n<po-field-container\n #fieldContainer\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n [p-helper]=\"label ? poHelper.helperSettings : undefined\"\n [p-show-helper]=\"label ? displayAdditionalHelp : undefined\"\n [p-size]=\"size\"\n [p-text-wrap]=\"labelTextWrap()\"\n>\n <div class=\"po-field-container-content po-field-container-input\" [attr.p-size]=\"size\">\n @if (icon) {\n <div class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [class.po-field-icon-aa]=\"size === 'small'\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n }\n\n <input\n #inp\n class=\"po-input\"\n [attr.name]=\"name\"\n [attr.data-focused-element]=\"!disabled\"\n [attr.data-inactive-component]=\"disabled || readonly\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-left]=\"icon\"\n [class.po-input-icon-left-aa]=\"icon && size === 'small'\"\n [class.po-input-icon-right]=\"clean || loading\"\n [class.po-input-icon-right-aa]=\"(clean || loading) && size === 'small'\"\n [class.po-input-aa]=\"size === 'small'\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n />\n <div class=\"po-field-icon-container-right\">\n @if (loading) {\n <po-loading-icon [p-size]=\"mapSizeToIcon(size)\"></po-loading-icon>\n }\n\n @if (!loading && clean && !disabled && !readonly) {\n <po-clean\n class=\"{{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [p-element-ref]=\"inputEl\"\n [p-size]=\"size\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n }\n </div>\n @if ((!this.label && poHelperComponent()) || (!this.label && poHelper.hideAdditionalHelp)) {\n <po-helper\n #helperEl\n class=\"po-field-helper-button\"\n [p-size]=\"size\"\n [p-helper]=\"poHelper.helperSettings\"\n [p-disabled]=\"disabled\"\n [p-append-in-body]=\"appendBox\"\n >\n </po-helper>\n }\n </div>\n\n @if (!readonly) {\n <po-field-container-bottom\n [p-append-in-body]=\"appendBox\"\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-error-limit]=\"errorLimit\"\n [p-size]=\"size\"\n ></po-field-container-bottom>\n }\n</po-field-container>\n" }]
40650
41044
  }], ctorParameters: () => [] });
40651
41045
 
40652
41046
  const uploadRestrictions = ['.apng', '.bmp', '.gif', '.ico', '.jpeg', '.jpg', '.png', '.svg'];
@@ -47697,11 +48091,11 @@ class PoMenuItemComponent {
47697
48091
  }
47698
48092
  }
47699
48093
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47700
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: PoMenuItemComponent, isStandalone: false, selector: "po-menu-item", inputs: { action: ["p-action", "action"], badgeAlert: ["p-badge-alert", "badgeAlert"], badgeColor: ["p-badge-color", "badgeColor"], collapsedMenu: ["p-collapsed-menu", "collapsedMenu"], icon: ["p-icon", "icon"], id: ["p-id", "id"], isOpened: ["p-is-opened", "isOpened"], label: ["p-label", "label"], level: ["p-level", "level"], link: ["p-link", "link"], shortLabel: ["p-short-label", "shortLabel"], type: ["p-type", "type"], badgeValue: ["p-badge-value", "badgeValue"], isSelected: ["p-is-selected", "isSelected"], isSubItem: ["p-is-sub-item", "isSubItem"], subItems: ["p-sub-items", "subItems"] }, viewQueries: [{ propertyName: "menuSubItems", first: true, predicate: ["menuSubItems"], descendants: true }], ngImport: i0, template: "<!-- menu com link interno -->\n@if (type === 'internalLink') {\n <a\n class=\"po-menu-item-link\"\n role=\"menuitem\"\n [attr.aria-label]=\"label\"\n [routerLink]=\"link\"\n (keydown.enter)=\"clickMenuItem($event)\"\n (keydown.space)=\"clickMenuItem($event)\"\n p-tooltip-position=\"right\"\n [p-tooltip]=\"collapsedMenu && shortLabel ? shortLabel : undefined\"\n [p-append-in-body]=\"true\"\n >\n <ng-container *ngTemplateOutlet=\"menuItemTemplate\"></ng-container>\n </a>\n}\n<!-- menu com link externo -->\n@if (type === 'externalLink') {\n <a\n class=\"po-menu-item-link\"\n role=\"menuitem\"\n [attr.aria-label]=\"label\"\n [href]=\"link\"\n (keydown.enter)=\"clickMenuItem($event)\"\n (keydown.space)=\"clickMenuItem($event)\"\n p-tooltip-position=\"right\"\n [p-tooltip]=\"collapsedMenu && shortLabel ? shortLabel : undefined\"\n [p-append-in-body]=\"true\"\n >\n <ng-container *ngTemplateOutlet=\"menuItemTemplate\"></ng-container>\n </a>\n}\n<!-- menu sem link -->\n@if (type === 'noLink') {\n <a\n class=\"po-menu-item-link\"\n href=\"javascript:;\"\n role=\"menuitem\"\n [attr.aria-label]=\"label\"\n (keydown.enter)=\"clickMenuItem($event)\"\n (keydown.space)=\"clickMenuItem($event)\"\n p-tooltip-position=\"right\"\n [p-tooltip]=\"collapsedMenu && shortLabel ? shortLabel : undefined\"\n [p-append-in-body]=\"true\"\n >\n <ng-container *ngTemplateOutlet=\"menuItemTemplate\"></ng-container>\n </a>\n}\n<!-- menu sem dados -->\n@if (type === 'noData') {\n <div class=\"po-menu-item-link\" role=\"none\">\n <ng-container *ngTemplateOutlet=\"menuItemTemplate\"></ng-container>\n </div>\n}\n<!-- menu com sub itens -->\n@if (type === 'subItems') {\n <div class=\"po-menu-item-link po-clickable\" role=\"menuitem\" [attr.aria-expanded]=\"isOpened ? true : false\">\n <ng-container *ngTemplateOutlet=\"menuItemTemplate\"></ng-container>\n <div\n #menuSubItems\n class=\"po-menu-sub-items\"\n [hidden]=\"collapsedMenu || !isOpened\"\n [attr.aria-expanded]=\"isOpened ? true : false\"\n [attr.aria-hidden]=\"!isOpened ? true : false\"\n role=\"group\"\n [style.maxHeight.px]=\"maxHeight\"\n >\n <ul class=\"po-menu-sub-items-list\">\n @for (subItem of subItems; track subItem) {\n <li class=\"po-menu-sub-items-list-item\" [attr.aria-level]=\"subItem.level\">\n <po-menu-item\n p-is-sub-item\n [p-action]=\"subItem.action\"\n [p-badge-alert]=\"subItem.badgeAlert\"\n [p-badge-color]=\"subItem.badge ? subItem.badge.color : undefined\"\n [p-badge-value]=\"subItem.badge ? subItem.badge.value : undefined\"\n [p-id]=\"subItem.id\"\n [p-label]=\"subItem.label\"\n [p-level]=\"subItem.level\"\n [p-link]=\"subItem.link\"\n [p-sub-items]=\"subItem.subItems\"\n [p-type]=\"subItem.type\"\n ></po-menu-item>\n </li>\n }\n </ul>\n </div>\n </div>\n}\n\n<ng-template #menuItemTemplate>\n <div\n p-tooltip-position=\"right\"\n [p-tooltip]=\"type === 'subItems' && collapsedMenu && shortLabel ? shortLabel : undefined\"\n [p-append-in-body]=\"true\"\n class=\"po-menu-item\"\n [tabindex]=\"type === 'subItems' ? 0 : -1\"\n [attr.aria-label]=\"label\"\n [attr.aria-hidden]=\"type === 'subItems' ? false : true\"\n [attr.role]=\"type === 'subItems' ? 'menuitem' : undefined\"\n [class.po-menu-icon-container]=\"level === 1 && icon\"\n [class.po-menu-item-selected]=\"isSelected\"\n [class.po-menu-item-level-two]=\"level === 2\"\n [class.po-menu-item-level-three]=\"level === 3\"\n [class.po-menu-item-level-four]=\"level === 4\"\n [class.po-menu-item-grouper-up]=\"type === 'subItems' && isOpened\"\n [class.po-menu-item-grouper-down]=\"type === 'subItems' && !isOpened\"\n [class.po-menu-item-no-data]=\"type === 'noData'\"\n [class.po-menu-sub-item-selected]=\"isSelectedSubItem\"\n (click)=\"clickMenuItem($event)\"\n (keydown.enter)=\"clickMenuItem($event)\"\n (keydown.space)=\"clickMenuItem($event)\"\n >\n @if (level === 1 && icon) {\n <po-icon aria-hidden=\"true\" class=\"po-menu-icon-item\" [p-icon]=\"icon\"></po-icon>\n }\n\n @if (type === 'subItems' && !collapsedMenu) {\n <po-icon\n class=\"po-menu-group-icon\"\n [p-icon]=\"isOpened ? 'ICON_ARROW_UP po-field-icon' : 'ICON_ARROW_DOWN po-field-icon'\"\n ></po-icon>\n }\n\n <span [class.po-menu-icon-label]=\"level === 1 && icon\">\n {{ label }}\n </span>\n\n @if (canShowBadge) {\n <po-badge\n aria-hidden=\"true\"\n [ngClass]=\"!collapsedMenu ? 'po-menu-badge-align' : 'po-menu-badge-align-collapsed'\"\n [p-color]=\"badgeColor\"\n [p-value]=\"badgeValue\"\n ></po-badge>\n }\n\n @if (badgeAlert) {\n <span\n aria-hidden=\"true\"\n class=\"po-color-07\"\n [ngClass]=\"!collapsedMenu ? 'po-menu-badge-alert' : 'po-menu-badge-alert-collapsed'\"\n ></span>\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: PoBadgeComponent, selector: "po-badge" }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "directive", type: PoTooltipDirective, selector: "[p-tooltip]" }, { kind: "component", type: PoMenuItemComponent, selector: "po-menu-item", inputs: ["p-action", "p-badge-alert", "p-badge-color", "p-collapsed-menu", "p-icon", "p-id", "p-is-opened", "p-label", "p-level", "p-link", "p-short-label", "p-type", "p-badge-value", "p-is-selected", "p-is-sub-item", "p-sub-items"] }] });
48094
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: PoMenuItemComponent, isStandalone: false, selector: "po-menu-item", inputs: { action: ["p-action", "action"], badgeAlert: ["p-badge-alert", "badgeAlert"], badgeColor: ["p-badge-color", "badgeColor"], collapsedMenu: ["p-collapsed-menu", "collapsedMenu"], icon: ["p-icon", "icon"], id: ["p-id", "id"], isOpened: ["p-is-opened", "isOpened"], label: ["p-label", "label"], level: ["p-level", "level"], link: ["p-link", "link"], shortLabel: ["p-short-label", "shortLabel"], type: ["p-type", "type"], badgeValue: ["p-badge-value", "badgeValue"], isSelected: ["p-is-selected", "isSelected"], isSubItem: ["p-is-sub-item", "isSubItem"], subItems: ["p-sub-items", "subItems"] }, viewQueries: [{ propertyName: "menuSubItems", first: true, predicate: ["menuSubItems"], descendants: true }], ngImport: i0, template: "<!-- menu com link interno -->\n@if (type === 'internalLink') {\n <a\n class=\"po-menu-item-link\"\n role=\"menuitem\"\n [attr.aria-label]=\"label\"\n [routerLink]=\"link\"\n (keydown.enter)=\"clickMenuItem($event)\"\n (keydown.space)=\"clickMenuItem($event)\"\n p-tooltip-position=\"right\"\n [p-tooltip]=\"collapsedMenu && shortLabel ? shortLabel : undefined\"\n [p-append-in-body]=\"true\"\n >\n <ng-container *ngTemplateOutlet=\"menuItemTemplate\"></ng-container>\n </a>\n}\n<!-- menu com link externo -->\n@if (type === 'externalLink') {\n <a\n class=\"po-menu-item-link\"\n role=\"menuitem\"\n [attr.aria-label]=\"label\"\n [href]=\"link\"\n (keydown.enter)=\"clickMenuItem($event)\"\n (keydown.space)=\"clickMenuItem($event)\"\n p-tooltip-position=\"right\"\n [p-tooltip]=\"collapsedMenu && shortLabel ? shortLabel : undefined\"\n [p-append-in-body]=\"true\"\n >\n <ng-container *ngTemplateOutlet=\"menuItemTemplate\"></ng-container>\n </a>\n}\n<!-- menu sem link -->\n@if (type === 'noLink') {\n <a\n class=\"po-menu-item-link\"\n href=\"javascript:;\"\n role=\"menuitem\"\n [attr.aria-label]=\"label\"\n (keydown.enter)=\"clickMenuItem($event)\"\n (keydown.space)=\"clickMenuItem($event)\"\n p-tooltip-position=\"right\"\n [p-tooltip]=\"collapsedMenu && shortLabel ? shortLabel : undefined\"\n [p-append-in-body]=\"true\"\n >\n <ng-container *ngTemplateOutlet=\"menuItemTemplate\"></ng-container>\n </a>\n}\n<!-- menu sem dados -->\n@if (type === 'noData') {\n <div class=\"po-menu-item-link\" role=\"none\">\n <ng-container *ngTemplateOutlet=\"menuItemTemplate\"></ng-container>\n </div>\n}\n<!-- menu com sub itens -->\n@if (type === 'subItems') {\n <div class=\"po-menu-item-link po-clickable\" role=\"menuitem\" [attr.aria-expanded]=\"isOpened ? true : false\">\n <ng-container *ngTemplateOutlet=\"menuItemTemplate\"></ng-container>\n <div\n #menuSubItems\n class=\"po-menu-sub-items\"\n [hidden]=\"collapsedMenu || !isOpened\"\n [attr.aria-expanded]=\"isOpened ? true : false\"\n [attr.aria-hidden]=\"!isOpened ? true : false\"\n role=\"group\"\n [style.maxHeight.px]=\"maxHeight\"\n >\n <ul class=\"po-menu-sub-items-list\">\n @for (subItem of subItems; track subItem) {\n <li class=\"po-menu-sub-items-list-item\" [attr.aria-level]=\"subItem.level\">\n <po-menu-item\n p-is-sub-item\n [p-action]=\"subItem.action\"\n [p-badge-alert]=\"subItem.badgeAlert\"\n [p-badge-color]=\"subItem.badge ? subItem.badge.color : undefined\"\n [p-badge-value]=\"subItem.badge ? subItem.badge.value : undefined\"\n [p-id]=\"subItem.id\"\n [p-label]=\"subItem.label\"\n [p-level]=\"subItem.level\"\n [p-link]=\"subItem.link\"\n [p-sub-items]=\"subItem.subItems\"\n [p-type]=\"subItem.type\"\n ></po-menu-item>\n </li>\n }\n </ul>\n </div>\n </div>\n}\n\n<ng-template #menuItemTemplate>\n <div\n p-tooltip-position=\"right\"\n [p-tooltip]=\"type === 'subItems' && collapsedMenu && shortLabel ? shortLabel : undefined\"\n [p-append-in-body]=\"true\"\n class=\"po-menu-item\"\n [tabindex]=\"type === 'subItems' ? 0 : -1\"\n [attr.aria-label]=\"label\"\n [attr.role]=\"type === 'subItems' ? 'menuitem' : undefined\"\n [class.po-menu-icon-container]=\"level === 1 && icon\"\n [class.po-menu-item-selected]=\"isSelected\"\n [class.po-menu-item-level-two]=\"level === 2\"\n [class.po-menu-item-level-three]=\"level === 3\"\n [class.po-menu-item-level-four]=\"level === 4\"\n [class.po-menu-item-grouper-up]=\"type === 'subItems' && isOpened\"\n [class.po-menu-item-grouper-down]=\"type === 'subItems' && !isOpened\"\n [class.po-menu-item-no-data]=\"type === 'noData'\"\n [class.po-menu-sub-item-selected]=\"isSelectedSubItem\"\n (click)=\"clickMenuItem($event)\"\n (keydown.enter)=\"clickMenuItem($event)\"\n (keydown.space)=\"clickMenuItem($event)\"\n >\n @if (level === 1 && icon) {\n <po-icon aria-hidden=\"true\" class=\"po-menu-icon-item\" [p-icon]=\"icon\"></po-icon>\n }\n\n @if (type === 'subItems' && !collapsedMenu) {\n <po-icon\n class=\"po-menu-group-icon\"\n [p-icon]=\"isOpened ? 'ICON_ARROW_UP po-field-icon' : 'ICON_ARROW_DOWN po-field-icon'\"\n ></po-icon>\n }\n\n <span [class.po-menu-icon-label]=\"level === 1 && icon\">\n {{ label }}\n </span>\n\n @if (canShowBadge) {\n <po-badge\n aria-hidden=\"true\"\n [ngClass]=\"!collapsedMenu ? 'po-menu-badge-align' : 'po-menu-badge-align-collapsed'\"\n [p-color]=\"badgeColor\"\n [p-value]=\"badgeValue\"\n ></po-badge>\n }\n\n @if (badgeAlert) {\n <span\n aria-hidden=\"true\"\n class=\"po-color-07\"\n [ngClass]=\"!collapsedMenu ? 'po-menu-badge-alert' : 'po-menu-badge-alert-collapsed'\"\n ></span>\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: PoBadgeComponent, selector: "po-badge" }, { kind: "component", type: PoIconComponent, selector: "po-icon", inputs: ["p-icon"] }, { kind: "directive", type: PoTooltipDirective, selector: "[p-tooltip]" }, { kind: "component", type: PoMenuItemComponent, selector: "po-menu-item", inputs: ["p-action", "p-badge-alert", "p-badge-color", "p-collapsed-menu", "p-icon", "p-id", "p-is-opened", "p-label", "p-level", "p-link", "p-short-label", "p-type", "p-badge-value", "p-is-selected", "p-is-sub-item", "p-sub-items"] }] });
47701
48095
  }
47702
48096
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: PoMenuItemComponent, decorators: [{
47703
48097
  type: Component,
47704
- args: [{ selector: 'po-menu-item', standalone: false, template: "<!-- menu com link interno -->\n@if (type === 'internalLink') {\n <a\n class=\"po-menu-item-link\"\n role=\"menuitem\"\n [attr.aria-label]=\"label\"\n [routerLink]=\"link\"\n (keydown.enter)=\"clickMenuItem($event)\"\n (keydown.space)=\"clickMenuItem($event)\"\n p-tooltip-position=\"right\"\n [p-tooltip]=\"collapsedMenu && shortLabel ? shortLabel : undefined\"\n [p-append-in-body]=\"true\"\n >\n <ng-container *ngTemplateOutlet=\"menuItemTemplate\"></ng-container>\n </a>\n}\n<!-- menu com link externo -->\n@if (type === 'externalLink') {\n <a\n class=\"po-menu-item-link\"\n role=\"menuitem\"\n [attr.aria-label]=\"label\"\n [href]=\"link\"\n (keydown.enter)=\"clickMenuItem($event)\"\n (keydown.space)=\"clickMenuItem($event)\"\n p-tooltip-position=\"right\"\n [p-tooltip]=\"collapsedMenu && shortLabel ? shortLabel : undefined\"\n [p-append-in-body]=\"true\"\n >\n <ng-container *ngTemplateOutlet=\"menuItemTemplate\"></ng-container>\n </a>\n}\n<!-- menu sem link -->\n@if (type === 'noLink') {\n <a\n class=\"po-menu-item-link\"\n href=\"javascript:;\"\n role=\"menuitem\"\n [attr.aria-label]=\"label\"\n (keydown.enter)=\"clickMenuItem($event)\"\n (keydown.space)=\"clickMenuItem($event)\"\n p-tooltip-position=\"right\"\n [p-tooltip]=\"collapsedMenu && shortLabel ? shortLabel : undefined\"\n [p-append-in-body]=\"true\"\n >\n <ng-container *ngTemplateOutlet=\"menuItemTemplate\"></ng-container>\n </a>\n}\n<!-- menu sem dados -->\n@if (type === 'noData') {\n <div class=\"po-menu-item-link\" role=\"none\">\n <ng-container *ngTemplateOutlet=\"menuItemTemplate\"></ng-container>\n </div>\n}\n<!-- menu com sub itens -->\n@if (type === 'subItems') {\n <div class=\"po-menu-item-link po-clickable\" role=\"menuitem\" [attr.aria-expanded]=\"isOpened ? true : false\">\n <ng-container *ngTemplateOutlet=\"menuItemTemplate\"></ng-container>\n <div\n #menuSubItems\n class=\"po-menu-sub-items\"\n [hidden]=\"collapsedMenu || !isOpened\"\n [attr.aria-expanded]=\"isOpened ? true : false\"\n [attr.aria-hidden]=\"!isOpened ? true : false\"\n role=\"group\"\n [style.maxHeight.px]=\"maxHeight\"\n >\n <ul class=\"po-menu-sub-items-list\">\n @for (subItem of subItems; track subItem) {\n <li class=\"po-menu-sub-items-list-item\" [attr.aria-level]=\"subItem.level\">\n <po-menu-item\n p-is-sub-item\n [p-action]=\"subItem.action\"\n [p-badge-alert]=\"subItem.badgeAlert\"\n [p-badge-color]=\"subItem.badge ? subItem.badge.color : undefined\"\n [p-badge-value]=\"subItem.badge ? subItem.badge.value : undefined\"\n [p-id]=\"subItem.id\"\n [p-label]=\"subItem.label\"\n [p-level]=\"subItem.level\"\n [p-link]=\"subItem.link\"\n [p-sub-items]=\"subItem.subItems\"\n [p-type]=\"subItem.type\"\n ></po-menu-item>\n </li>\n }\n </ul>\n </div>\n </div>\n}\n\n<ng-template #menuItemTemplate>\n <div\n p-tooltip-position=\"right\"\n [p-tooltip]=\"type === 'subItems' && collapsedMenu && shortLabel ? shortLabel : undefined\"\n [p-append-in-body]=\"true\"\n class=\"po-menu-item\"\n [tabindex]=\"type === 'subItems' ? 0 : -1\"\n [attr.aria-label]=\"label\"\n [attr.aria-hidden]=\"type === 'subItems' ? false : true\"\n [attr.role]=\"type === 'subItems' ? 'menuitem' : undefined\"\n [class.po-menu-icon-container]=\"level === 1 && icon\"\n [class.po-menu-item-selected]=\"isSelected\"\n [class.po-menu-item-level-two]=\"level === 2\"\n [class.po-menu-item-level-three]=\"level === 3\"\n [class.po-menu-item-level-four]=\"level === 4\"\n [class.po-menu-item-grouper-up]=\"type === 'subItems' && isOpened\"\n [class.po-menu-item-grouper-down]=\"type === 'subItems' && !isOpened\"\n [class.po-menu-item-no-data]=\"type === 'noData'\"\n [class.po-menu-sub-item-selected]=\"isSelectedSubItem\"\n (click)=\"clickMenuItem($event)\"\n (keydown.enter)=\"clickMenuItem($event)\"\n (keydown.space)=\"clickMenuItem($event)\"\n >\n @if (level === 1 && icon) {\n <po-icon aria-hidden=\"true\" class=\"po-menu-icon-item\" [p-icon]=\"icon\"></po-icon>\n }\n\n @if (type === 'subItems' && !collapsedMenu) {\n <po-icon\n class=\"po-menu-group-icon\"\n [p-icon]=\"isOpened ? 'ICON_ARROW_UP po-field-icon' : 'ICON_ARROW_DOWN po-field-icon'\"\n ></po-icon>\n }\n\n <span [class.po-menu-icon-label]=\"level === 1 && icon\">\n {{ label }}\n </span>\n\n @if (canShowBadge) {\n <po-badge\n aria-hidden=\"true\"\n [ngClass]=\"!collapsedMenu ? 'po-menu-badge-align' : 'po-menu-badge-align-collapsed'\"\n [p-color]=\"badgeColor\"\n [p-value]=\"badgeValue\"\n ></po-badge>\n }\n\n @if (badgeAlert) {\n <span\n aria-hidden=\"true\"\n class=\"po-color-07\"\n [ngClass]=\"!collapsedMenu ? 'po-menu-badge-alert' : 'po-menu-badge-alert-collapsed'\"\n ></span>\n }\n </div>\n</ng-template>\n" }]
48098
+ args: [{ selector: 'po-menu-item', standalone: false, template: "<!-- menu com link interno -->\n@if (type === 'internalLink') {\n <a\n class=\"po-menu-item-link\"\n role=\"menuitem\"\n [attr.aria-label]=\"label\"\n [routerLink]=\"link\"\n (keydown.enter)=\"clickMenuItem($event)\"\n (keydown.space)=\"clickMenuItem($event)\"\n p-tooltip-position=\"right\"\n [p-tooltip]=\"collapsedMenu && shortLabel ? shortLabel : undefined\"\n [p-append-in-body]=\"true\"\n >\n <ng-container *ngTemplateOutlet=\"menuItemTemplate\"></ng-container>\n </a>\n}\n<!-- menu com link externo -->\n@if (type === 'externalLink') {\n <a\n class=\"po-menu-item-link\"\n role=\"menuitem\"\n [attr.aria-label]=\"label\"\n [href]=\"link\"\n (keydown.enter)=\"clickMenuItem($event)\"\n (keydown.space)=\"clickMenuItem($event)\"\n p-tooltip-position=\"right\"\n [p-tooltip]=\"collapsedMenu && shortLabel ? shortLabel : undefined\"\n [p-append-in-body]=\"true\"\n >\n <ng-container *ngTemplateOutlet=\"menuItemTemplate\"></ng-container>\n </a>\n}\n<!-- menu sem link -->\n@if (type === 'noLink') {\n <a\n class=\"po-menu-item-link\"\n href=\"javascript:;\"\n role=\"menuitem\"\n [attr.aria-label]=\"label\"\n (keydown.enter)=\"clickMenuItem($event)\"\n (keydown.space)=\"clickMenuItem($event)\"\n p-tooltip-position=\"right\"\n [p-tooltip]=\"collapsedMenu && shortLabel ? shortLabel : undefined\"\n [p-append-in-body]=\"true\"\n >\n <ng-container *ngTemplateOutlet=\"menuItemTemplate\"></ng-container>\n </a>\n}\n<!-- menu sem dados -->\n@if (type === 'noData') {\n <div class=\"po-menu-item-link\" role=\"none\">\n <ng-container *ngTemplateOutlet=\"menuItemTemplate\"></ng-container>\n </div>\n}\n<!-- menu com sub itens -->\n@if (type === 'subItems') {\n <div class=\"po-menu-item-link po-clickable\" role=\"menuitem\" [attr.aria-expanded]=\"isOpened ? true : false\">\n <ng-container *ngTemplateOutlet=\"menuItemTemplate\"></ng-container>\n <div\n #menuSubItems\n class=\"po-menu-sub-items\"\n [hidden]=\"collapsedMenu || !isOpened\"\n [attr.aria-expanded]=\"isOpened ? true : false\"\n [attr.aria-hidden]=\"!isOpened ? true : false\"\n role=\"group\"\n [style.maxHeight.px]=\"maxHeight\"\n >\n <ul class=\"po-menu-sub-items-list\">\n @for (subItem of subItems; track subItem) {\n <li class=\"po-menu-sub-items-list-item\" [attr.aria-level]=\"subItem.level\">\n <po-menu-item\n p-is-sub-item\n [p-action]=\"subItem.action\"\n [p-badge-alert]=\"subItem.badgeAlert\"\n [p-badge-color]=\"subItem.badge ? subItem.badge.color : undefined\"\n [p-badge-value]=\"subItem.badge ? subItem.badge.value : undefined\"\n [p-id]=\"subItem.id\"\n [p-label]=\"subItem.label\"\n [p-level]=\"subItem.level\"\n [p-link]=\"subItem.link\"\n [p-sub-items]=\"subItem.subItems\"\n [p-type]=\"subItem.type\"\n ></po-menu-item>\n </li>\n }\n </ul>\n </div>\n </div>\n}\n\n<ng-template #menuItemTemplate>\n <div\n p-tooltip-position=\"right\"\n [p-tooltip]=\"type === 'subItems' && collapsedMenu && shortLabel ? shortLabel : undefined\"\n [p-append-in-body]=\"true\"\n class=\"po-menu-item\"\n [tabindex]=\"type === 'subItems' ? 0 : -1\"\n [attr.aria-label]=\"label\"\n [attr.role]=\"type === 'subItems' ? 'menuitem' : undefined\"\n [class.po-menu-icon-container]=\"level === 1 && icon\"\n [class.po-menu-item-selected]=\"isSelected\"\n [class.po-menu-item-level-two]=\"level === 2\"\n [class.po-menu-item-level-three]=\"level === 3\"\n [class.po-menu-item-level-four]=\"level === 4\"\n [class.po-menu-item-grouper-up]=\"type === 'subItems' && isOpened\"\n [class.po-menu-item-grouper-down]=\"type === 'subItems' && !isOpened\"\n [class.po-menu-item-no-data]=\"type === 'noData'\"\n [class.po-menu-sub-item-selected]=\"isSelectedSubItem\"\n (click)=\"clickMenuItem($event)\"\n (keydown.enter)=\"clickMenuItem($event)\"\n (keydown.space)=\"clickMenuItem($event)\"\n >\n @if (level === 1 && icon) {\n <po-icon aria-hidden=\"true\" class=\"po-menu-icon-item\" [p-icon]=\"icon\"></po-icon>\n }\n\n @if (type === 'subItems' && !collapsedMenu) {\n <po-icon\n class=\"po-menu-group-icon\"\n [p-icon]=\"isOpened ? 'ICON_ARROW_UP po-field-icon' : 'ICON_ARROW_DOWN po-field-icon'\"\n ></po-icon>\n }\n\n <span [class.po-menu-icon-label]=\"level === 1 && icon\">\n {{ label }}\n </span>\n\n @if (canShowBadge) {\n <po-badge\n aria-hidden=\"true\"\n [ngClass]=\"!collapsedMenu ? 'po-menu-badge-align' : 'po-menu-badge-align-collapsed'\"\n [p-color]=\"badgeColor\"\n [p-value]=\"badgeValue\"\n ></po-badge>\n }\n\n @if (badgeAlert) {\n <span\n aria-hidden=\"true\"\n class=\"po-color-07\"\n [ngClass]=\"!collapsedMenu ? 'po-menu-badge-alert' : 'po-menu-badge-alert-collapsed'\"\n ></span>\n }\n </div>\n</ng-template>\n" }]
47705
48099
  }], propDecorators: { action: [{
47706
48100
  type: Input,
47707
48101
  args: ['p-action']