@po-ui/ng-components 20.5.0 → 20.7.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 (86) hide show
  1. package/fesm2022/po-ui-ng-components.mjs +3765 -2740
  2. package/fesm2022/po-ui-ng-components.mjs.map +1 -1
  3. package/index.d.ts +599 -326
  4. package/lib/components/po-breadcrumb/po-breadcrumb-base.component.d.ts +15 -0
  5. package/lib/components/po-chart/interfaces/po-chart-serie.interface.d.ts +3 -2
  6. package/lib/components/po-dynamic/po-dynamic-form/interfaces/po-dynamic-form-field.interface.d.ts +18 -5
  7. package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form.component.d.ts +2 -2
  8. package/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view-base.component.d.ts +15 -0
  9. package/lib/components/po-field/po-checkbox/po-checkbox-base.component.d.ts +6 -8
  10. package/lib/components/po-field/po-checkbox/po-checkbox.component.d.ts +3 -12
  11. package/lib/components/po-field/po-checkbox-group/po-checkbox-group-base.component.d.ts +6 -8
  12. package/lib/components/po-field/po-checkbox-group/po-checkbox-group.component.d.ts +7 -12
  13. package/lib/components/po-field/po-combo/po-combo-base.component.d.ts +6 -8
  14. package/lib/components/po-field/po-combo/po-combo.component.d.ts +5 -12
  15. package/lib/components/po-field/po-datepicker/po-datepicker-base.component.d.ts +5 -7
  16. package/lib/components/po-field/po-datepicker/po-datepicker.component.d.ts +7 -14
  17. package/lib/components/po-field/po-datepicker-range/po-datepicker-range-base.component.d.ts +5 -7
  18. package/lib/components/po-field/po-datepicker-range/po-datepicker-range.component.d.ts +4 -12
  19. package/lib/components/po-field/po-decimal/po-decimal.component.d.ts +3 -4
  20. package/lib/components/po-field/po-email/po-email.component.d.ts +3 -3
  21. package/lib/components/po-field/po-field-container/po-field-container-bottom/po-field-container-bottom.component.d.ts +2 -0
  22. package/lib/components/po-field/po-field-container/po-field-container.component.d.ts +2 -0
  23. package/lib/components/po-field/po-field.model.d.ts +7 -16
  24. package/lib/components/po-field/po-input/po-input-base.component.d.ts +12 -19
  25. package/lib/components/po-field/po-input/po-input.component.d.ts +3 -3
  26. package/lib/components/po-field/po-input-generic/po-input-generic.d.ts +0 -2
  27. package/lib/components/po-field/po-login/po-login.component.d.ts +3 -1
  28. package/lib/components/po-field/po-lookup/po-lookup-base.component.d.ts +6 -8
  29. package/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.d.ts +1 -1
  30. package/lib/components/po-field/po-lookup/po-lookup.component.d.ts +8 -14
  31. package/lib/components/po-field/po-multiselect/po-multiselect-base.component.d.ts +6 -8
  32. package/lib/components/po-field/po-multiselect/po-multiselect.component.d.ts +4 -12
  33. package/lib/components/po-field/po-number/po-number.component.d.ts +3 -2
  34. package/lib/components/po-field/po-password/po-password.component.d.ts +3 -1
  35. package/lib/components/po-field/po-radio/po-radio.component.d.ts +9 -0
  36. package/lib/components/po-field/po-radio-group/po-radio-group-base.component.d.ts +6 -8
  37. package/lib/components/po-field/po-radio-group/po-radio-group.component.d.ts +7 -12
  38. package/lib/components/po-field/po-rich-text/po-rich-text-base.component.d.ts +6 -8
  39. package/lib/components/po-field/po-rich-text/po-rich-text-body/po-rich-text-body.component.d.ts +1 -2
  40. package/lib/components/po-field/po-rich-text/po-rich-text.component.d.ts +4 -10
  41. package/lib/components/po-field/po-select/po-select.component.d.ts +7 -14
  42. package/lib/components/po-field/po-switch/po-switch.component.d.ts +33 -6
  43. package/lib/components/po-field/po-textarea/po-textarea-base.component.d.ts +6 -8
  44. package/lib/components/po-field/po-textarea/po-textarea.component.d.ts +7 -12
  45. package/lib/components/po-field/po-upload/interfaces/po-upload-literals.interface.d.ts +14 -0
  46. package/lib/components/po-field/po-upload/po-upload-base.component.d.ts +118 -9
  47. package/lib/components/po-field/po-upload/po-upload-file.d.ts +6 -0
  48. package/lib/components/po-field/po-upload/po-upload.component.d.ts +33 -15
  49. package/lib/components/po-field/po-url/po-url.component.d.ts +3 -2
  50. package/lib/components/po-helper/po-helper-base.component.d.ts +11 -0
  51. package/lib/components/po-helper/po-helper.component.d.ts +1 -0
  52. package/lib/components/po-info/po-info-base.component.d.ts +15 -0
  53. package/lib/components/po-loading/po-loading-base.component.d.ts +7 -4
  54. package/lib/components/po-page/po-page-default/po-page-default-base.component.d.ts +9 -8
  55. package/lib/components/po-page/po-page-detail/po-page-detail-base.component.d.ts +14 -0
  56. package/lib/components/po-page/po-page-edit/po-page-edit-base.component.d.ts +14 -0
  57. package/lib/components/po-page/po-page-header/po-page-header-base.component.d.ts +2 -0
  58. package/lib/components/po-page/po-page-list/po-page-list-base.component.d.ts +14 -0
  59. package/lib/components/po-popover/po-popover-base.component.d.ts +12 -0
  60. package/lib/components/po-popover/po-popover.component.d.ts +11 -0
  61. package/lib/components/po-search/po-search-base.component.d.ts +16 -0
  62. package/lib/components/po-search/po-search.component.d.ts +1 -1
  63. package/lib/components/po-table/enums/po-table-spacing.enum.d.ts +1 -1
  64. package/lib/components/po-tag/po-tag-base.component.d.ts +1 -0
  65. package/lib/enums/po-density-mode.enum.d.ts +14 -0
  66. package/lib/enums/po-field-size.enum.d.ts +5 -3
  67. package/lib/services/po-theme/helpers/accessibilities/po-theme-density.constant.d.ts +12 -0
  68. package/lib/services/po-theme/po-theme.module.d.ts +1 -1
  69. package/lib/services/po-theme/po-theme.service.d.ts +39 -11
  70. package/lib/utils/util.d.ts +9 -2
  71. package/package.json +4 -4
  72. package/po-ui-ng-components-20.7.0.tgz +0 -0
  73. package/schematics/ng-add/index.js +1 -1
  74. package/schematics/ng-update/v14/index.js +1 -1
  75. package/schematics/ng-update/v15/index.js +1 -1
  76. package/schematics/ng-update/v16/index.js +1 -1
  77. package/schematics/ng-update/v17/index.js +1 -1
  78. package/schematics/ng-update/v18/index.js +2 -2
  79. package/schematics/ng-update/v19/index.js +2 -2
  80. package/schematics/ng-update/v2/index.js +1 -1
  81. package/schematics/ng-update/v20/index.js +2 -2
  82. package/schematics/ng-update/v3/index.js +1 -1
  83. package/schematics/ng-update/v4/index.js +1 -1
  84. package/schematics/ng-update/v5/index.js +1 -1
  85. package/schematics/ng-update/v6/index.js +1 -1
  86. package/po-ui-ng-components-20.5.0.tgz +0 -0
@@ -1,9 +1,11 @@
1
- import { AfterViewInit, Renderer2 } from '@angular/core';
1
+ import { AfterViewInit, OnChanges, Renderer2, SimpleChanges } from '@angular/core';
2
2
  import { PoProgressStatus } from '../../po-progress/enums/po-progress-status.enum';
3
3
  import { PoButtonComponent } from './../../po-button/po-button.component';
4
+ import { PoModalAction, PoModalComponent } from '../../po-modal';
4
5
  import { PoUploadBaseComponent } from './po-upload-base.component';
5
6
  import { PoUploadFile } from './po-upload-file';
6
7
  import { PoUploadStatus } from './po-upload-status.enum';
8
+ import { PoHelperComponent } from '../../po-helper';
7
9
  /**
8
10
  * @docsExtends PoUploadBaseComponent
9
11
  *
@@ -33,14 +35,21 @@ import { PoUploadStatus } from './po-upload-status.enum';
33
35
  * <file name="sample-po-upload-download/sample-po-upload-download.component.html"> </file>
34
36
  * <file name="sample-po-upload-download/sample-po-upload-download.component.ts"> </file>
35
37
  * </example>
38
+ *
39
+ * <example name="po-upload-preview" title="PO Upload - with Preview">
40
+ * <file name="sample-po-upload-preview/sample-po-upload-preview.component.html"> </file>
41
+ * <file name="sample-po-upload-preview/sample-po-upload-preview.component.ts"> </file>
42
+ * </example>
36
43
  */
37
- export declare class PoUploadComponent extends PoUploadBaseComponent implements AfterViewInit {
44
+ export declare class PoUploadComponent extends PoUploadBaseComponent implements AfterViewInit, OnChanges {
38
45
  renderer: Renderer2;
39
46
  private i18nPipe;
40
47
  private notification;
41
48
  private inputFile;
42
49
  private poUploadDragDropComponent;
43
50
  uploadButton: PoButtonComponent;
51
+ modalComponent: PoModalComponent;
52
+ helperEl?: PoHelperComponent;
44
53
  id: string;
45
54
  infoByUploadStatus: {
46
55
  [key: string]: {
@@ -53,6 +62,12 @@ export declare class PoUploadComponent extends PoUploadBaseComponent implements
53
62
  2: PoProgressStatus;
54
63
  };
55
64
  private calledByCleanInputValue;
65
+ protected modalPrimaryAction: PoModalAction;
66
+ protected modalSecondaryAction: PoModalAction;
67
+ protected errorMessage: string;
68
+ protected tooltipTitle: string;
69
+ protected modalImageUrl: string;
70
+ protected errorModalImage: boolean;
56
71
  constructor();
57
72
  get displayDragDrop(): boolean;
58
73
  get displaySendButton(): boolean;
@@ -62,7 +77,8 @@ export declare class PoUploadComponent extends PoUploadBaseComponent implements
62
77
  get hasFileNotUploaded(): boolean;
63
78
  get isDisabled(): boolean;
64
79
  get maxFiles(): number;
65
- cancel(file: PoUploadFile): void;
80
+ cancel(file: PoUploadFile, keydown?: KeyboardEvent): void;
81
+ ngOnChanges(changes: SimpleChanges): void;
66
82
  ngAfterViewInit(): void;
67
83
  /** Método responsável por **limpar** o(s) arquivo(s) selecionado(s). */
68
84
  clear(): void;
@@ -88,30 +104,27 @@ export declare class PoUploadComponent extends PoUploadBaseComponent implements
88
104
  getAdditionalHelpTooltip(): string;
89
105
  hasAnyFileUploading(files: Array<PoUploadFile>): boolean;
90
106
  isAllowCancelEvent(status: PoUploadStatus): status is PoUploadStatus.Uploading | PoUploadStatus.Error | PoUploadStatus.None;
91
- onBlur(): void;
92
107
  onFileChange(event: any): void;
93
108
  onFileChangeDragDrop(files: any): void;
94
109
  onKeyDown(event: KeyboardEvent): void;
110
+ /**
111
+ * Método responsável por fechar o modal.
112
+ */
113
+ closeModal(): void;
114
+ openModal(file: PoUploadFile, keydown?: KeyboardEvent): void;
95
115
  removeFile(file: any): void;
96
116
  /** Método responsável por **abrir** a janela para seleção de arquivo(s). */
97
117
  selectFiles(): void;
98
- sendFeedback(): void;
118
+ sendFeedback(file?: any): void;
99
119
  /** Método responsável por **enviar** o(s) arquivo(s) selecionado(s). */
100
120
  sendFiles(): void;
101
121
  setDirectoryAttribute(canHandleDirectory: boolean): void;
102
122
  /**
103
- * Método que exibe `p-additionalHelpTooltip` ou executa a ação definida em `p-additionalHelp`.
123
+ * Método que exibe `p-helper` ou executa a ação definida em `p-helper{eventOnClick}` ou em `p-additionalHelp`.
104
124
  * Para isso, será necessário configurar uma tecla de atalho utilizando o evento `p-keydown`.
105
125
  *
106
- * > Exibe ou oculta o conteúdo do componente `po-helper` quando o componente estiver com foco e com label visível.
107
- * ```
108
- * <po-upload
109
- * #upload
110
- * ...
111
- * p-additional-help-tooltip="Mensagem de ajuda complementar"
112
- * (p-keydown)="onKeyDown($event, upload)"
113
- * ></po-upload>
114
- * ```
126
+ * > Exibe ou oculta o conteúdo do componente `po-helper` quando o componente estiver com foco.
127
+ *
115
128
  * ```
116
129
  * //Exemplo com p-label e p-helper
117
130
  * <po-upload
@@ -141,11 +154,16 @@ export declare class PoUploadComponent extends PoUploadBaseComponent implements
141
154
  hideAdditionalHelp: boolean;
142
155
  helperSettings?: any;
143
156
  };
157
+ protected actionIsDisabled(action: any): any;
158
+ protected isActionVisible(action: any): boolean;
159
+ protected onImageError(file: any): void;
160
+ protected showTooltipText(e: MouseEvent, text: string): void;
144
161
  private cleanInputValue;
145
162
  private isAdditionalHelpEventTriggered;
146
163
  private isUploadButtonFocused;
147
164
  private responseHandler;
148
165
  private setPipeArguments;
166
+ private setPrimaryActionModal;
149
167
  private stopUploadHandler;
150
168
  private updateFiles;
151
169
  private updateModel;
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, OnDestroy } from '@angular/core';
1
+ import { AfterViewInit, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';
2
2
  import { AbstractControl } from '@angular/forms';
3
3
  import { PoInputGeneric } from '../po-input-generic/po-input-generic';
4
4
  /**
@@ -26,7 +26,7 @@ import { PoInputGeneric } from '../po-input-generic/po-input-generic';
26
26
  * </example>
27
27
  *
28
28
  */
29
- export declare class PoUrlComponent extends PoInputGeneric implements AfterViewInit, OnDestroy {
29
+ export declare class PoUrlComponent extends PoInputGeneric implements AfterViewInit, OnDestroy, OnChanges {
30
30
  id: string;
31
31
  icon: string;
32
32
  type: string;
@@ -36,6 +36,7 @@ export declare class PoUrlComponent extends PoInputGeneric implements AfterViewI
36
36
  constructor();
37
37
  ngAfterViewInit(): void;
38
38
  ngOnDestroy(): void;
39
+ ngOnChanges(changes: SimpleChanges): void;
39
40
  extraValidation(c: AbstractControl): {
40
41
  [key: string]: any;
41
42
  };
@@ -105,5 +105,16 @@ export declare class PoHelperBaseComponent {
105
105
  * @default `false`
106
106
  */
107
107
  disabled: import("@angular/core").InputSignal<boolean>;
108
+ /**
109
+ * @Input
110
+ *
111
+ * @optional
112
+ *
113
+ * @description
114
+ * Define que o popover será inserido no body da página em vez do elemento definido em `p-target`. Essa opção pode
115
+ * ser necessária em cenários com containers que possuem scroll ou overflow escondido, garantindo o posicionamento
116
+ * correto do conteúdo próximo ao elemento.
117
+ */
118
+ appendBox: import("@angular/core").InputSignal<boolean>;
108
119
  private transformHelper;
109
120
  }
@@ -40,6 +40,7 @@ export declare class PoHelperComponent extends PoHelperBaseComponent implements
40
40
  ngOnChanges(changes: SimpleChanges): void;
41
41
  ngOnDestroy(): void;
42
42
  openHelperPopover(): void;
43
+ helperIsVisible(): boolean;
43
44
  closeHelperPopover(): void;
44
45
  emitClick(event: MouseEvent): void;
45
46
  onKeyDown(event: KeyboardEvent): void;
@@ -15,6 +15,7 @@ export declare class PoInfoBaseComponent {
15
15
  readonly poInfoOrientation: typeof PoInfoOrientation;
16
16
  private _labelSize;
17
17
  private _orientation;
18
+ private _size?;
18
19
  /**
19
20
  * @optional
20
21
  *
@@ -43,4 +44,18 @@ export declare class PoInfoBaseComponent {
43
44
  */
44
45
  set orientation(value: PoInfoOrientation);
45
46
  get orientation(): PoInfoOrientation;
47
+ /**
48
+ * @optional
49
+ *
50
+ * @description
51
+ *
52
+ * Define o tamanho do componente entre `small` ou `medium`.
53
+ *
54
+ * > Caso a acessibilidade AA não esteja configurada, o tamanho `medium` será mantido.
55
+ * Para mais detalhes, consulte a documentação do [po-theme](https://po-ui.io/documentation/po-theme).
56
+ *
57
+ * @default `medium`
58
+ */
59
+ set size(value: string);
60
+ get size(): string;
46
61
  }
@@ -15,7 +15,7 @@ export declare const poLoadingLiteralsDefault: {
15
15
  * ou aguardando a resposta de alguma requisição.
16
16
  */
17
17
  export declare class PoLoadingBaseComponent {
18
- private languageService;
18
+ protected languageService: PoLanguageService;
19
19
  private _text?;
20
20
  private _size?;
21
21
  /**
@@ -25,14 +25,17 @@ export declare class PoLoadingBaseComponent {
25
25
  get text(): string;
26
26
  /**
27
27
  * Define o tamanho do ícone.
28
- *
29
- * @default `lg`
30
- *
31
28
  * Valores válidos:
32
29
  * - `xs`: 16px
33
30
  * - `sm`: 24px
34
31
  * - `md`: 32px
35
32
  * - `lg`: 80px
33
+ *
34
+ * > Em nível de acessibilidade **AA**, caso o valor de `p-size` não seja definido, o valor padrão será `sm`
35
+ * > quando o valor padrão dos componentes for configurado como `small` no
36
+ * > [serviço de tema](https://po-ui.io/documentation/po-theme).
37
+ *
38
+ * @default `lg`
36
39
  */
37
40
  set size(value: string);
38
41
  get size(): string;
@@ -18,14 +18,15 @@ export declare const poPageDefaultLiteralsDefault: {
18
18
  *
19
19
  * > Para maiores informações, acesse o guia [Personalizando o Tema Padrão com Tokens CSS](https://po-ui.io/guides/theme-customization).
20
20
  *
21
- * | Propriedade | Descrição | Valor Padrão |
22
- * |----------------------------------------|-------------------------------------------------------|-------------------------------------------------|
23
- * | **Default Values** | | |
24
- * | `--padding` | Espaçamento do componente | `var(--spacing-xs) var(--spacing-md)` |
25
- * | `--gap` | Gap entre o header e o conteúdo | `var(--spacing-md)` |
26
- * | `--padding-top-header` | Espaçamento do topo do header | `var(--color-neutral-light-30)` |
27
- * | `--gap-actions` | Gap entre os botões de action | `var(--spacing-xs)` |
28
- * | `--padding-content` | Espaçamento do conteúdo | `var(--spacing-xs) var(--spacing-sm)` |
21
+ * | Propriedade | Descrição | Valor Padrão |
22
+ * |---------------------|---------------------------------------------|---------------------------------------|
23
+ * | **Header** | | |
24
+ * | `--padding` | Espaçamento do header | `var(--spacing-xs) var(--spacing-md)` |
25
+ * | `--gap` | Espaçamento entre os breadcrumbs e o título | `var(--spacing-md)` |
26
+ * | `--gap-actions` | Espaçamento entre as ações | `var(--spacing-xs)` |
27
+ * | `--font-family` | Família tipográfica do título | `var(--font-family-theme)` |
28
+ * | **Content** | | |
29
+ * | `--padding-content` | Espaçamento do conteúdo | `var(--spacing-xs) var(--spacing-sm)` |
29
30
  */
30
31
  export declare abstract class PoPageDefaultBaseComponent {
31
32
  poPageContent: PoPageContentComponent;
@@ -14,6 +14,20 @@ export declare const poPageDetailLiteralsDefault: {
14
14
  *
15
15
  * O componente **po-page-detail** é utilizado como container principal para a tela de
16
16
  * detalhamento de um registro, tendo a possibilidade de usar as ações de "Voltar", "Editar" e "Remover".
17
+ *
18
+ * #### Tokens customizáveis
19
+ *
20
+ * > Para maiores informações, acesse o guia [Personalizando o Tema Padrão com Tokens CSS](https://po-ui.io/guides/theme-customization).
21
+ *
22
+ * | Propriedade | Descrição | Valor Padrão |
23
+ * |---------------------|---------------------------------------------|---------------------------------------|
24
+ * | **Header** | | |
25
+ * | `--padding` | Espaçamento do header | `var(--spacing-xs) var(--spacing-md)` |
26
+ * | `--gap` | Espaçamento entre os breadcrumbs e o título | `var(--spacing-md)` |
27
+ * | `--gap-actions` | Espaçamento entre as ações | `var(--spacing-xs)` |
28
+ * | `--font-family` | Família tipográfica do título | `var(--font-family-theme)` |
29
+ * | **Content** | | |
30
+ * | `--padding-content` | Espaçamento do conteúdo | `var(--spacing-xs) var(--spacing-sm)` |
17
31
  */
18
32
  export declare class PoPageDetailBaseComponent {
19
33
  poPageContent: PoPageContentComponent;
@@ -18,6 +18,20 @@ export declare const poPageEditLiteralsDefault: {
18
18
  * Os botões "Salvar" e "Salvar e Novo" podem ser habilitados/desabilitados utilizando a propriedade `p-disable-submit`.
19
19
  * Esta propriedade pode ser utilizada para desabilitar os botões caso exista um formulário inválido na página ou alguma
20
20
  * regra de negócio não tenha sido atendida.
21
+ *
22
+ * #### Tokens customizáveis
23
+ *
24
+ * > Para maiores informações, acesse o guia [Personalizando o Tema Padrão com Tokens CSS](https://po-ui.io/guides/theme-customization).
25
+ *
26
+ * | Propriedade | Descrição | Valor Padrão |
27
+ * |---------------------|---------------------------------------------|---------------------------------------|
28
+ * | **Header** | | |
29
+ * | `--padding` | Espaçamento do header | `var(--spacing-xs) var(--spacing-md)` |
30
+ * | `--gap` | Espaçamento entre os breadcrumbs e o título | `var(--spacing-md)` |
31
+ * | `--gap-actions` | Espaçamento entre as ações | `var(--spacing-xs)` |
32
+ * | `--font-family` | Família tipográfica do título | `var(--font-family-theme)` |
33
+ * | **Content** | | |
34
+ * | `--padding-content` | Espaçamento do conteúdo | `var(--spacing-xs) var(--spacing-sm)` |
21
35
  */
22
36
  export declare class PoPageEditBaseComponent {
23
37
  poPageContent: PoPageContentComponent;
@@ -10,6 +10,8 @@ import { PoBreadcrumb } from '../../po-breadcrumb/po-breadcrumb.interface';
10
10
  export declare class PoPageHeaderBaseComponent {
11
11
  /** Título da página. */
12
12
  title: string;
13
+ /** Define o tamanho dos componentes no header. */
14
+ size: string;
13
15
  /** Subtítulo da página. */
14
16
  subtitle: string;
15
17
  private _breadcrumb;
@@ -23,6 +23,20 @@ export declare const poPageListLiteralsDefault: {
23
23
  *
24
24
  * Para facilitar a manipulação e visualização dos filtros aplicados, é possível também utilizar o componente
25
25
  * [`po-disclaimer-group`](/documentation/po-disclaimer-group).
26
+ *
27
+ * #### Tokens customizáveis
28
+ *
29
+ * > Para maiores informações, acesse o guia [Personalizando o Tema Padrão com Tokens CSS](https://po-ui.io/guides/theme-customization).
30
+ *
31
+ * | Propriedade | Descrição | Valor Padrão |
32
+ * |---------------------|---------------------------------------------|---------------------------------------|
33
+ * | **Header** | | |
34
+ * | `--padding` | Espaçamento do header | `var(--spacing-xs) var(--spacing-md)` |
35
+ * | `--gap` | Espaçamento entre os breadcrumbs e o título | `var(--spacing-md)` |
36
+ * | `--gap-actions` | Espaçamento entre as ações | `var(--spacing-xs)` |
37
+ * | `--font-family` | Família tipográfica do título | `var(--font-family-theme)` |
38
+ * | **Content** | | |
39
+ * | `--padding-content` | Espaçamento do conteúdo | `var(--spacing-xs) var(--spacing-sm)` |
26
40
  */
27
41
  export declare abstract class PoPageListBaseComponent {
28
42
  poPageContent: PoPageContentComponent;
@@ -140,4 +140,16 @@ export declare class PoPopoverBaseComponent {
140
140
  */
141
141
  set trigger(value: string);
142
142
  get trigger(): string;
143
+ /**
144
+ * @Input
145
+ *
146
+ * @optional
147
+ *
148
+ * @description
149
+ * Permite a inclusão de classes CSS customizadas ao componente.
150
+ *
151
+ * Exemplo: `p-custom-classes="minha-classe-1 minha-classe-2"`.
152
+ *
153
+ */
154
+ customClasses: import("@angular/core").InputSignal<string>;
143
155
  }
@@ -31,7 +31,10 @@ export declare class PoPopoverComponent extends PoPopoverBaseComponent implement
31
31
  timeoutResize: any;
32
32
  targetElement: any;
33
33
  afterViewInitWasCalled: boolean;
34
+ private keydownTargetListener?;
35
+ private keydownPopoverListener?;
34
36
  eventListenerFunction: () => void;
37
+ private readonly tabbableSelector;
35
38
  constructor(renderer: Renderer2, poControlPosition: PoControlPositionService, cd: ChangeDetectorRef);
36
39
  ngOnChanges(changes: SimpleChanges): void;
37
40
  ngAfterViewInit(): void;
@@ -49,4 +52,12 @@ export declare class PoPopoverComponent extends PoPopoverBaseComponent implement
49
52
  private initEventListenerFunction;
50
53
  private removeListeners;
51
54
  private setElementsControlPosition;
55
+ private focusOnTarget;
56
+ private focusOnFirstFocusable;
57
+ private attachPopoverKeydown;
58
+ private isVisible;
59
+ private getTabbablesIn;
60
+ private getDocumentTabbables;
61
+ private focusNextAfterTarget;
62
+ private focusPrevBeforeTarget;
52
63
  }
@@ -328,6 +328,22 @@ export declare class PoSearchBaseComponent {
328
328
  * > Incompatível com a propriedade `p-search-type` do tipo `locate`.
329
329
  */
330
330
  filteredItemsChange: EventEmitter<any[]>;
331
+ /**
332
+ * @optional
333
+ *
334
+ * @description
335
+ *
336
+ * Evento emitido quando o campo de entrada (input) recebe foco.
337
+ */
338
+ focusEvent: EventEmitter<any>;
339
+ /**
340
+ * @optional
341
+ *
342
+ * @description
343
+ * Evento disparado quando uma tecla é pressionada enquanto o foco está no componente.
344
+ * Retorna um objeto `KeyboardEvent` com informações sobre a tecla.
345
+ */
346
+ keydown: EventEmitter<KeyboardEvent>;
331
347
  /**
332
348
  * @optional
333
349
  *
@@ -123,7 +123,7 @@ export declare class PoSearchComponent extends PoSearchBaseComponent implements
123
123
  getInputValue(): any;
124
124
  createDropdownFilterSelect(): void;
125
125
  isSelected(filterOption: PoSearchFilterSelect): boolean;
126
- changeFilterSelect(filterOption: PoSearchFilterSelect): void;
126
+ changeFilterSelect(filterOption: PoSearchFilterSelect, focus?: boolean): void;
127
127
  handlerFooterActionListbox(): void;
128
128
  private openListboxFooterAction;
129
129
  private handlerPlaceholderListbox;
@@ -5,7 +5,7 @@
5
5
  * Tipos de espaçamento interno (padding) das células (**p-spacing**) do po-table.
6
6
  */
7
7
  export declare enum PoTableColumnSpacing {
8
- /** Espaçamento extra pequeno: 0.25rem (vertical) x 1rem (horizontal). */
8
+ /** Espaçamento extra pequeno: 0.25rem (vertical) x 0.5rem (horizontal). */
9
9
  ExtraSmall = "extraSmall",
10
10
  /** Espaçamento pequeno: 0.5rem (vertical) x 1rem (horizontal). */
11
11
  Small = "small",
@@ -41,6 +41,7 @@ export declare const PoTagLiteralsDefault: {
41
41
  * | `--font-size` | Tamanho da fonte | `var(--font-size-sm)` |
42
42
  * | `--line-height` | Tamanho da label | `var(---line-height-sm)` |
43
43
  * | `--border-radius` | Contém o valor do raio dos cantos do elemento&nbsp; | `var(--border-radius-pill)` |
44
+ * | `--gap` | Espaçamento entre o label e o value | `var(--spacing-xs)` |
44
45
  * | **Neutral** | | |
45
46
  * | `--color-neutral` | Cor principal no estado neutral | `var(--color-neutral-light-10)` |
46
47
  * | `--text-color-positive` | Cor do texto no estado neutral | `var(--color-neutral-dark-80)` |
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @docsPrivate
3
+ *
4
+ * @description
5
+ *
6
+ * Define o nível de densidade (espaçamento) aplicado em componentes agrupadores. Pode ser ajustado conforme a
7
+ * preferência do usuário ou requisitos de acessibilidade.
8
+ */
9
+ export declare enum PoDensityMode {
10
+ /** Define espaçamentos mais compactos entre os elementos. */
11
+ Small = "small",
12
+ /** Define espaçamentos mais amplos e confortáveis. */
13
+ Medium = "medium"
14
+ }
@@ -3,11 +3,13 @@
3
3
  *
4
4
  * @description
5
5
  *
6
- * Tamanhos da propriedade `p-size`. A medida `small` está disponível apenas para acessibilidade AA.
6
+ * Define o tamanho padrão utilizado em componentes interativos. Este enum também é usado pelo serviço de tema para
7
+ * definir a preferência global de tamanho dos componentes. Por padrão, os componentes utilizam o tamanho `medium` por
8
+ * ser mais acessível (conforme diretrizes WCAG nível AAA).
9
+ *
10
+ * > O tamanho `small` está disponível apenas em contextos com acessibilidade AA.
7
11
  */
8
12
  export declare enum PoFieldSize {
9
- /** Define a altura do input como 32px. */
10
13
  Small = "small",
11
- /** Define a altura do input como 44px. */
12
14
  Medium = "medium"
13
15
  }
@@ -0,0 +1,12 @@
1
+ export declare const poThemeDensity: {
2
+ small: {
3
+ '--default-spacing-0': string;
4
+ '--default-spacing-xs': string;
5
+ '--default-spacing-sm': string;
6
+ '--default-spacing-md': string;
7
+ '--default-spacing-lg': string;
8
+ '--default-spacing-xl': string;
9
+ '--default-line-height-xs': string;
10
+ '--default-spacing-squish-xs': string;
11
+ };
12
+ };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Módulo responsável por fornecer serviços relacionados ao tema PO.
2
+ * Módulo do serviço PoThemeService.
3
3
  */
4
4
  export declare class PoThemeModule {
5
5
  }
@@ -1,15 +1,25 @@
1
1
  import { RendererFactory2 } from '@angular/core';
2
+ import { PoDensityMode } from '../../enums/po-density-mode.enum';
2
3
  import { PoThemeA11yEnum } from './enum/po-theme-a11y.enum';
3
4
  import { PoThemeTypeEnum } from './enum/po-theme-type.enum';
4
5
  import { PoTheme, PoThemeActive } from './interfaces/po-theme.interface';
5
6
  /**
6
7
  * @description
7
8
  *
8
- * O `PoThemeService` possibilita a personalização das cores do tema padrão do `PO-UI`, permitindo a alteração dos valores das variáveis de estilo usadas no CSS padrão.
9
+ * O serviço `PoThemeService` permite customizar as cores do tema padrão do `PO-UI` e definir o nível de acessibilidade
10
+ * mais adequado ao projeto.
9
11
  *
10
- * > Para saber mais sobre como customizar o tema padrão verifique o item [Customização de Temas usando o serviço PO-UI](guides/theme-service) na aba `Guias`.
12
+ * O nível **AAA** (padrão) garante maior contraste, áreas clicáveis amplas e espaçamentos maiores entre os elementos,
13
+ * enquanto o nível **AA** mantém a conformidade com as diretrizes de acessibilidade, mas com proporções mais equilibradas
14
+ * e contornos mais sutis.
11
15
  *
12
- * > Obs.: Não está documentado aqui e não indicamos a customização das cores de 'feedback' por motivos de acessibilidade e usabilidade.
16
+ * O serviço também possibilita configurar a **densidade de espaçamentos**, permitindo ajustar o espaço entre e dentro dos
17
+ * componentes. Essa configuração pode ser utilizada com qualquer nível de acessibilidade.
18
+ *
19
+ * > Observação: a customização das cores de `feedback` não é recomendada por motivos de acessibilidade e usabilidade.
20
+ *
21
+ * > Para saber mais sobre como customizar o tema padrão, consulte o item
22
+ * [Customização de Temas usando o serviço PO-UI](guides/theme-service) na aba `Guias`.
13
23
  */
14
24
  /**
15
25
  * @example
@@ -38,7 +48,8 @@ export declare class PoThemeService {
38
48
  * @param {PoTheme} themeConfig - Configuração de tema a ser aplicada ao componente.
39
49
  * @param {PoThemeTypeEnum} [themeType=PoThemeTypeEnum.light] - (Opcional) Tipo de tema, podendo ser 'light' (claro) ou 'dark' (escuro). O tema claro é o padrão.
40
50
  * @param {PoThemeA11yEnum} [a11yLevel=PoThemeA11yEnum.AAA] - (Opcional) Nível de acessibilidade dos componentes, podendo ser AA ou AAA. Padrão é AAA.
41
- * @param {boolean} [persistPreference=true] - (Opcional) Define se a preferência de tema deve ser salva no localStorage para persistência. `true` para salvar, `false` para não salvar.
51
+ * @param {boolean} [persistPreference=true] - (Opcional) Define se a preferência de tema deve ser salva no
52
+ * localStorage para persistência. Por padrão é `true`, ou seja, a preferência será salva automaticamente.
42
53
  */
43
54
  setTheme(themeConfig: PoTheme, themeType?: PoThemeTypeEnum, a11yLevel?: PoThemeA11yEnum, persistPreference?: boolean): void;
44
55
  private setDataDefaultSizeHTML;
@@ -49,18 +60,35 @@ export declare class PoThemeService {
49
60
  */
50
61
  getA11yLevel(): PoThemeA11yEnum;
51
62
  /**
52
- * Define o tamanho `small` como padrão para componentes de formulário que não possuem um tamanho definido.
53
- * Essa configuração é aplicada globalmente apenas quando o nível de acessibilidade for `AA`.
54
- * Caso contrário, o tamanho padrão será `medium`.
63
+ * Define o tamanho `small` como padrão para componentes de formulário que não possuem um tamanho definido. Essa
64
+ * configuração é aplicada globalmente apenas quando o nível de acessibilidade for `AA`. O valor definido é salvo no
65
+ * `localStorage` sob a chave `po-default-size`.
55
66
  *
56
67
  * > Para garantir que o tamanho `small` seja aplicado corretamente a todos os componentes, recomendamos
57
68
  * definir esta configuração **junto com o nível de acessibilidade `AA` na inicialização da aplicação**.
58
69
  * Se for aplicada em tempo de execução, será necessário recarregar a aplicação (`reload`)
59
70
  * para que os estilos sejam aplicados corretamente.
71
+ * > Para ajustar a densidade visual dos componentes agrupadores (como pages, container, etc.), utilize também
72
+ * o método `setDensityMode` conforme necessário.
60
73
  *
61
74
  * @param {boolean} enable Habilita ou desabilita o tamanho `small` globalmente.
62
75
  */
63
76
  setA11yDefaultSizeSmall(enable: boolean): boolean;
77
+ /**
78
+ * Retorna o modo de adensamento dos componentes agrupadores.
79
+ * Se não estiver configurado, retorna `medium` como padrão.
80
+ * @returns {PoDensityMode} O modo de adensamento, que pode ser `small` ou `medium`.
81
+ */
82
+ getDensityMode(): PoDensityMode;
83
+ /**
84
+ * Aplica o modo de adensamento compacto (`small`) ou espaçoso (`medium`) para os componentes agrupadores,
85
+ * independentemente do nível de acessibilidade. O valor definido é salvo no `localStorage` sob a chave
86
+ * `po-density-mode`.
87
+ *
88
+ * @param {'small' | 'medium'} mode Define o modo de densidade: `small` para compacto, `medium` para espaçoso.
89
+ * O valor padrão é `medium`.
90
+ */
91
+ setDensityMode(mode: string): void;
64
92
  /**
65
93
  * @docsPrivate
66
94
  * Retorna a preferência global de tamanho dos componentes.
@@ -142,11 +170,10 @@ export declare class PoThemeService {
142
170
  private applyThemeStyles;
143
171
  private changeThemeType;
144
172
  /**
145
- * Persiste e define o tema do aplicativo com base nos dados armazenados.
146
- *
147
- * Este método recupera os dados do tema armazenados e os aplica ao aplicativo.
173
+ * Restaura e aplica as preferências visuais do usuário para o tema da aplicação, garantindo que essas preferências
174
+ * sejam persistidas no `localStorage` para uso em recarregamentos futuros.
148
175
  *
149
- * @returns {PoTheme} Recupera o tema armazenado.
176
+ * @returns {PoTheme} O tema atualmente aplicado.
150
177
  */
151
178
  persistThemeActive(): PoTheme;
152
179
  private formatTheme;
@@ -168,6 +195,7 @@ export declare class PoThemeService {
168
195
  cleanThemeActive(persistPreference?: boolean): void;
169
196
  private getActiveTypeFromTheme;
170
197
  private getActiveA11yFromTheme;
198
+ private isValidA11yLevel;
171
199
  /**
172
200
  * @docsPrivate
173
201
  *
@@ -1,6 +1,7 @@
1
- import { PoThemeService } from '../services/po-theme/po-theme.service';
2
- import { PoThemeA11yEnum } from '../services/po-theme/enum/po-theme-a11y.enum';
1
+ import { PoDensityMode } from '../enums/po-density-mode.enum';
3
2
  import { ElementRef } from '@angular/core';
3
+ import { PoThemeA11yEnum } from '../services/po-theme/enum/po-theme-a11y.enum';
4
+ import { PoThemeService } from '../services/po-theme/po-theme.service';
4
5
  /**
5
6
  * Converte e formata os bytes em formato mais legível para o usuário.
6
7
  *
@@ -273,6 +274,12 @@ export declare function getA11yDefaultSize(): string;
273
274
  * @returns {PoThemeA11yEnum} O nível de acessibilidade, que pode ser `AA` ou `AAA`.
274
275
  */
275
276
  export declare function getA11yLevel(): PoThemeA11yEnum;
277
+ /**
278
+ * Retorna o modo de adensamento dos componentes agrupadores.
279
+ * Se não estiver configurado, retorna `medium` como padrão.
280
+ * @returns {PoDensityMode} O modo de adensamento, que pode ser `small` ou `medium`.
281
+ */
282
+ export declare function getDensityMode(): PoDensityMode;
276
283
  /**
277
284
  * Realiza a tradução das propriedades de ajuda dos componentes.
278
285
  * Type do Helper default é 'help' e size 'medium'.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@po-ui/ng-components",
3
- "version": "20.5.0",
3
+ "version": "20.7.0",
4
4
  "description": "PO UI - Components",
5
5
  "author": "PO UI",
6
6
  "license": "MIT",
@@ -22,8 +22,8 @@
22
22
  },
23
23
  "dependencies": {
24
24
  "@angular/cdk": "~20.0.3",
25
- "@po-ui/style": "20.5.0",
26
- "@po-ui/ng-schematics": "20.5.0",
25
+ "@po-ui/style": "20.7.0",
26
+ "@po-ui/ng-schematics": "20.7.0",
27
27
  "echarts": "^5.6.0",
28
28
  "tslib": "^2.3.0"
29
29
  },
@@ -38,7 +38,7 @@
38
38
  "@angular/platform-browser-dynamic": "^20",
39
39
  "@angular/router": "^20",
40
40
  "@angular-devkit/schematics": "^20",
41
- "@po-ui/style": "20.5.0",
41
+ "@po-ui/style": "20.7.0",
42
42
  "rxjs": "~7.8.1",
43
43
  "zone.js": "~0.15.0"
44
44
  },
Binary file
@@ -18,7 +18,7 @@ function default_1(options) {
18
18
  }
19
19
  function addPoPackageAndInstall() {
20
20
  return (tree, context) => {
21
- (0, package_config_1.addPackageToPackageJson)(tree, '@po-ui/ng-components', '20.5.0');
21
+ (0, package_config_1.addPackageToPackageJson)(tree, '@po-ui/ng-components', '20.7.0');
22
22
  // install packages
23
23
  context.addTask(new tasks_1.NodePackageInstallTask());
24
24
  };