@po-ui/ng-components 21.32.0 → 21.33.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 (51) hide show
  1. package/fesm2022/{po-ui-ng-components-po-chart-modal-table.component-DEB6M6ER.mjs → po-ui-ng-components-po-chart-modal-table.component-B4RdhBpp.mjs} +4 -4
  2. package/fesm2022/{po-ui-ng-components-po-chart-modal-table.component-DEB6M6ER.mjs.map → po-ui-ng-components-po-chart-modal-table.component-B4RdhBpp.mjs.map} +1 -1
  3. package/fesm2022/po-ui-ng-components.mjs +4154 -2710
  4. package/fesm2022/po-ui-ng-components.mjs.map +1 -1
  5. package/lib/components/po-field/index.d.ts +1 -0
  6. package/lib/components/po-field/po-lookup/interfaces/po-lookup-advanced-filter.interface.d.ts +18 -0
  7. package/lib/components/po-field/po-lookup/po-lookup-base.component.d.ts +14 -0
  8. package/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal-base.component.d.ts +1 -0
  9. package/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.d.ts +2 -0
  10. package/lib/components/po-field/po-lookup/po-lookup.component.d.ts +6 -0
  11. package/lib/components/po-list-view/enums/po-list-view-detail-display.enum.d.ts +14 -0
  12. package/lib/components/po-list-view/index.d.ts +2 -0
  13. package/lib/components/po-list-view/interfaces/po-list-view-field-properties.interface.d.ts +71 -0
  14. package/lib/components/po-list-view/interfaces/po-list-view-literals.interface.d.ts +2 -0
  15. package/lib/components/po-list-view/po-list-view-base.component.d.ts +276 -34
  16. package/lib/components/po-list-view/po-list-view-detail-template/po-list-view-detail-template.directive.d.ts +6 -0
  17. package/lib/components/po-list-view/po-list-view.component.d.ts +70 -4
  18. package/lib/components/po-list-view/po-list-view.module.d.ts +0 -37
  19. package/lib/components/po-tree-view/po-tree-view-base.component.d.ts +132 -51
  20. package/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.component.d.ts +15 -9
  21. package/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.interface.d.ts +92 -10
  22. package/lib/components/po-tree-view/po-tree-view-item-content/po-tree-view-item-content.component.d.ts +36 -0
  23. package/lib/components/po-tree-view/po-tree-view-item-content/po-tree-view-item-content.literals.d.ts +18 -0
  24. package/lib/components/po-tree-view/po-tree-view.component.d.ts +16 -5
  25. package/lib/components/po-tree-view/po-tree-view.literals.d.ts +26 -0
  26. package/lib/components/po-tree-view/po-tree-view.module.d.ts +0 -38
  27. package/lib/components/po-tree-view/services/po-tree-view-keyboard.service.d.ts +27 -0
  28. package/lib/components/po-tree-view/services/po-tree-view.service.d.ts +3 -0
  29. package/lib/components/po-widget/interfaces/po-widget-selection.interface.d.ts +23 -0
  30. package/lib/components/po-widget/po-widget-base.component.d.ts +28 -0
  31. package/lib/components/po-widget/po-widget.component.d.ts +6 -0
  32. package/lib/services/po-notification/po-notification-base.service.d.ts +1 -0
  33. package/package.json +4 -4
  34. package/po-ui-ng-components-21.33.0.tgz +0 -0
  35. package/schematics/ng-add/index.js +1 -1
  36. package/schematics/ng-update/v14/index.js +1 -1
  37. package/schematics/ng-update/v15/index.js +1 -1
  38. package/schematics/ng-update/v16/index.js +1 -1
  39. package/schematics/ng-update/v17/index.js +1 -1
  40. package/schematics/ng-update/v18/index.js +2 -2
  41. package/schematics/ng-update/v19/index.js +2 -2
  42. package/schematics/ng-update/v2/index.js +1 -1
  43. package/schematics/ng-update/v20/index.js +2 -2
  44. package/schematics/ng-update/v21/index.js +1 -1
  45. package/schematics/ng-update/v3/index.js +1 -1
  46. package/schematics/ng-update/v4/index.js +1 -1
  47. package/schematics/ng-update/v5/index.js +1 -1
  48. package/schematics/ng-update/v6/index.js +1 -1
  49. package/types/po-ui-ng-components.d.ts +1402 -784
  50. package/lib/components/po-tree-view/po-tree-view-item-header/po-tree-view-item-header.component.d.ts +0 -14
  51. package/po-ui-ng-components-21.32.0.tgz +0 -0
@@ -35,6 +35,7 @@ export * from './po-search-ai/interfaces/po-search-ai-column.interface';
35
35
  export * from './po-search-ai/interfaces/po-search-ai.interface';
36
36
  export * from './po-search-ai/interfaces/po-search-ai-literals.interface';
37
37
  export * from './po-login/po-login.component';
38
+ export * from './po-lookup/interfaces/po-lookup-advanced-filter.interface';
38
39
  export * from './po-lookup/interfaces/po-lookup-column.interface';
39
40
  export * from './po-lookup/interfaces/po-lookup-filter.interface';
40
41
  export * from './po-lookup/interfaces/po-lookup-filtered-items-params.interface';
@@ -3,6 +3,24 @@ import { PoDynamicFormField } from '../../../po-dynamic/po-dynamic-form/interfac
3
3
  * @docsExtends PoDynamicFormField
4
4
  *
5
5
  * @usedBy PoLookupComponent
6
+ *
7
+ * @ignoreExtendedDescription
8
+ *
9
+ * @description
10
+ *
11
+ * Interface para definição das propriedades dos campos de entrada que serão criados dinamicamente na busca avançada.
6
12
  */
7
13
  export interface PoLookupAdvancedFilter extends PoDynamicFormField {
14
+ /**
15
+ * @optional
16
+ *
17
+ * @description
18
+ *
19
+ * Define um valor inicial para um filtro de busca avançada.
20
+ *
21
+ * O valor será atribuído ao campo correspondente à propriedade `property` na primeira abertura da janela de
22
+ * busca avançada. Após o usuário aplicar o filtro, os campos passam a ser preenchidos com os valores filtrados,
23
+ * preservando as alterações realizadas.
24
+ */
25
+ initValue?: any;
8
26
  }
@@ -238,6 +238,20 @@ export declare abstract class PoLookupBaseComponent implements ControlValueAcces
238
238
  * url + ?page=1&pageSize=20&name=Tony%20Stark,Peter%20Parker,Gohan
239
239
  * ```
240
240
  *
241
+ * Também é possível definir um valor inicial para os campos da busca avançada através da propriedade `initValue`,
242
+ * que será atribuído ao campo na primeira abertura da janela de busca avançada. Após o usuário aplicar o filtro,
243
+ * os campos são preenchidos com os valores filtrados:
244
+ *
245
+ * ```
246
+ * advancedFilters: Array<PoLookupAdvancedFilter> = [
247
+ * { property: 'nickname', label: 'Apelido' },
248
+ * { property: 'active', label: 'Ativo', initValue: false, options: [
249
+ * { label: 'Sim', value: true },
250
+ * { label: 'Não', value: false }
251
+ * ]}
252
+ * ];
253
+ * ```
254
+ *
241
255
  */
242
256
  advancedFilters: Array<PoLookupAdvancedFilter>;
243
257
  /**
@@ -130,6 +130,7 @@ export declare abstract class PoLookupModalBaseComponent implements OnDestroy, O
130
130
  disclaimer: PoDisclaimer;
131
131
  disclaimerGroup: PoDisclaimerGroup;
132
132
  isAdvancedFilter: boolean;
133
+ isAdvancedFilterApplied: boolean;
133
134
  primaryActionAdvancedFilter: PoModalAction;
134
135
  secondaryActionAdvancedFilter: PoModalAction;
135
136
  selecteds: Array<any>;
@@ -29,5 +29,7 @@ export declare class PoLookupModalComponent extends PoLookupModalBaseComponent i
29
29
  onAdvancedFilter(): void;
30
30
  private setTableHeight;
31
31
  private setupModalAdvancedFilter;
32
+ private getInitialValuesFromFilter;
33
+ private getValuesFromDisclaimers;
32
34
  private createDynamicForm;
33
35
  }
@@ -94,6 +94,12 @@ import { PoHelperComponent } from '../../po-helper';
94
94
  * <file name="sample-po-lookup.service.ts"> </file>
95
95
  * </example>
96
96
  *
97
+ * <example name="po-lookup-advanced-filter" title="PO Lookup - Advanced Filter">
98
+ * <file name="sample-po-lookup-advanced-filter/sample-po-lookup-advanced-filter.component.html"> </file>
99
+ * <file name="sample-po-lookup-advanced-filter/sample-po-lookup-advanced-filter.component.ts"> </file>
100
+ * <file name="sample-po-lookup.service.ts"> </file>
101
+ * </example>
102
+ *
97
103
  * <example name="po-lookup-sw-films" title="PO Lookup - Star Wars films">
98
104
  * <file name="sample-po-lookup-sw-films/sample-po-lookup-sw-films.component.html"> </file>
99
105
  * <file name="sample-po-lookup-sw-films/sample-po-lookup-sw-films.component.ts"> </file>
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @usedBy PoListViewComponent
3
+ *
4
+ * @description
5
+ *
6
+ * Define o modo de exibição do detalhe do item do `po-list-view`, utilizado em conjunto com a
7
+ * diretiva [`p-list-view-detail-template`](/documentation/po-list-view-detail-template).
8
+ */
9
+ export declare enum PoListViewDetailDisplay {
10
+ /** Expande os detalhes abaixo do item (padrão). */
11
+ Inline = "inline",
12
+ /** Exibe os detalhes dentro de um `po-modal`. */
13
+ Modal = "modal"
14
+ }
@@ -1,4 +1,6 @@
1
+ export * from './enums/po-list-view-detail-display.enum';
1
2
  export * from './interfaces/po-list-view-action.interface';
3
+ export * from './interfaces/po-list-view-field-properties.interface';
2
4
  export * from './interfaces/po-list-view-literals.interface';
3
5
  export * from './po-list-view-content-template/po-list-view-content-template.directive';
4
6
  export * from './po-list-view-detail-template/po-list-view-detail-template.directive';
@@ -0,0 +1,71 @@
1
+ /**
2
+ * @usedBy PoListViewComponent
3
+ *
4
+ * @description
5
+ *
6
+ * Mapeia as chaves do objeto dos itens (`p-items`) para as áreas visuais do componente.
7
+ */
8
+ export interface PoListViewFieldProperties {
9
+ /** Chave com o título do item. */
10
+ title?: string;
11
+ /** Chave com o subtítulo do item. */
12
+ subtitle?: string;
13
+ /**
14
+ * Chave com o *link* do título do item.
15
+ *
16
+ * > Compatível com a propriedade `title`. Incompatível com o evento `p-item-click`.
17
+ */
18
+ link?: string;
19
+ /**
20
+ * Chave correspondente ao avatar do item.
21
+ *
22
+ * O valor mapeado suporta quatro formatos distintos:
23
+ *
24
+ * - **String (URL):** Renderiza o `po-avatar` com a imagem especificada.
25
+ * ```
26
+ * { avatar: '[https://url-da-imagem.png](https://url-da-imagem.png)' }
27
+ * ```
28
+ *
29
+ * - **Objeto com `icon`:** Renderiza um ícone circular com tamanho fixo. Aceita as seguintes propriedades:
30
+ * - `icon` (obrigatória).
31
+ * - `color` e `backgroundColor`: aceitam qualquer formato de cor CSS (Hex, RGB, nomes, etc.).
32
+ * ```
33
+ * { avatar: { icon: 'an an-shield-warning', color: '#dc2626', backgroundColor: '#fee2e2' } }
34
+ * ```
35
+ *
36
+ * - **Objeto com `progress`:** Renderiza o `po-progress-circle`. Aceita as seguintes propriedades:
37
+ * - `progress` (number): Valor de 0 a 100.
38
+ * - `indeterminate` (boolean): Animação de carregamento contínuo (ignora `progress`).
39
+ * - `showPercentage` (boolean): Exibe a porcentagem centralizada.
40
+ * - `status` (string): `'default'`, `'success'` ou `'error'`.
41
+ * - `size` (string) e `radius` (number): `'medium'`, `'large'` ou medida exata do raio em *pixels*.
42
+ * - `ariaLabel` (string): Rótulo para acessibilidade.
43
+ * ```
44
+ * { avatar: { progress: 65, showPercentage: true, size: 'large', radius: 40 } }
45
+ * ```
46
+ *
47
+ * - **Objeto com `customTemplate`:** Renderiza um fragmento customizado referenciado via `TemplateRef`.
48
+ * ```
49
+ * { avatar: { customTemplate: myTemplateRef } }
50
+ * ```
51
+ */
52
+ avatar?: string;
53
+ /** Chave booleana que aplica destaque visual ao item. */
54
+ highlighted?: string;
55
+ /**
56
+ * Objeto da `tag` do item.
57
+ *
58
+ * Aceita as seguintes propriedades:
59
+ *
60
+ * - **`value`** (string): Chave com o texto da *tag*.
61
+ * - **`type`** (string): Chave com o tipo da *tag* (`success`, `warning`, `danger`, `info`, `neutral`). Caso não informado, utiliza `success` como padrão.
62
+ *
63
+ * ```
64
+ * { tag: { value: 'status', type: 'statusType' } }
65
+ * ```
66
+ */
67
+ tag?: {
68
+ value?: string;
69
+ type?: string;
70
+ };
71
+ }
@@ -6,6 +6,8 @@
6
6
  * Interface para definição das literais usadas no `po-list-view`.
7
7
  */
8
8
  export interface PoListViewLiterals {
9
+ /** Título padrão do `po-modal` de detalhes, exibido quando `p-detail-display` é `modal`. */
10
+ detailModalTitle?: string;
9
11
  /** Rótulo do botão que oculta os detalhes do item. */
10
12
  hideDetails?: string;
11
13
  /** Rótulo do botão que deve carregar mais resultados. */
@@ -1,7 +1,16 @@
1
1
  import { EventEmitter } from '@angular/core';
2
2
  import { PoLanguageService } from '../../services/po-language/po-language.service';
3
+ import { PoListViewDetailDisplay } from './enums/po-list-view-detail-display.enum';
3
4
  import { PoListViewAction } from './interfaces/po-list-view-action.interface';
5
+ import { PoListViewFieldProperties } from './interfaces/po-list-view-field-properties.interface';
4
6
  import { PoListViewLiterals } from './interfaces/po-list-view-literals.interface';
7
+ /**
8
+ * @docsPrivate
9
+ *
10
+ * Valida o valor recebido pela propriedade `p-detail-display`, retornando `inline` como padrão
11
+ * quando o valor informado não pertencer ao enum `PoListViewDetailDisplay`.
12
+ */
13
+ export declare function convertToDetailDisplay(value: string | PoListViewDetailDisplay): PoListViewDetailDisplay;
5
14
  export declare const poListViewLiteralsDefault: {
6
15
  en: PoListViewLiterals;
7
16
  es: PoListViewLiterals;
@@ -11,27 +20,104 @@ export declare const poListViewLiteralsDefault: {
11
20
  /**
12
21
  * @description
13
22
  *
14
- * Componente de lista que recebe um array de objetos e renderiza de forma dinâmica os dados de
15
- * acordo com a necessidade de cada tela e deve ser utilizado em conjunto com as diretivas de *templates*
16
- * **[p-list-view-content-template](/documentation/po-list-view-content-template)** e
17
- * **[p-list-view-detail-template](/documentation/po-list-view-detail-template)**.
23
+ * O componente `po-list-view` é responsável por renderizar de forma dinâmica uma lista de dados baseada em um *array* de
24
+ * objetos, adaptando-se às necessidades visuais de cada interface.
25
+ *
26
+ * Cada item da lista é construído internamente utilizando a estrutura de um `po-widget`, assegurando consistência visual.
27
+ * Para layouts complexos, o componente oferece flexibilidade através das diretivas
28
+ * de templates **[p-list-view-content-template](/documentation/po-list-view-content-template)** e
29
+ * **[p-list-view-detail-template](/documentation/po-list-view-detail-template)** para customização do conteúdo e exibição
30
+ * de informações adicionais.
31
+ *
32
+ * A interação com o componente pode ser realizada com o *mouse* ou pelo teclado. A navegação entre os elementos
33
+ * interativos é feita utilizando a tecla `TAB`. Os elementos que recebem foco ao navegar incluem:
34
+ * - O próprio item (quando a propriedade de clique estiver ativa);
35
+ * - Título do item (quando configurado como *link*);
36
+ * - Ações do item configuradas em `p-actions`;
37
+ * - Botão de controle de detalhes (para expandir ou abrir modal);
38
+ * - Colunas de seleção (única ou múltipla);
39
+ * - Botão de carregar mais resultados (`p-show-more`).
40
+ *
41
+ * A execução das ações focadas ou a marcação de itens nas colunas de seleção é realizada com as teclas `Enter` ou
42
+ * `Espaço`.
43
+ *
44
+ * #### Tokens customizáveis
45
+ *
46
+ * É possível alterar o estilo do componente usando os seguintes tokens (CSS):
47
+ *
48
+ * > Para maiores informações, acesse o guia [Personalizando o Tema Padrão com Tokens CSS](https://po-ui.io/guides/theme-customization).
49
+ *
50
+ * | Propriedade | Descrição | Valor Padrão |
51
+ * |------------------------------------------------|--------------------------------------------------------|--------------------------------------------------------------|
52
+ * | **Título** | | |
53
+ * | `--title-color` | Cor do título do item | `var(--title-color)` |
54
+ * | `--title-font-family` | Família tipográfica do título | `var(--font-family-theme)` |
55
+ * | `--title-font-size` | Tamanho da fonte do título | `var(--font-size-default)` |
56
+ * | `--title-line-height` | Altura da linha do título | `var(--line-height-md)` |
57
+ * | `--title-color-hover` | Cor do título no estado hover | `var(--color-action-hover)` |
58
+ * | `--title-color-selected` | Cor do título quando o item está selecionado | `var(--color-action-focus)` |
59
+ * | **Subtítulo (Support Message)** | | |
60
+ * | `--support-message-color` | Cor da mensagem de apoio | `var(--color-neutral-dark-80)` |
61
+ * | `--support-message-font-family` | Família tipográfica da mensagem de apoio | `var(--font-family-theme)` |
62
+ * | `--support-message-font-size` | Tamanho da fonte da mensagem de apoio | `var(--font-size-sm)` |
63
+ * | `--support-message-line-height` | Altura da linha da mensagem de apoio | `var(--line-height-none)` |
64
+ * | `--support-message-color-selected` | Cor da mensagem de apoio quando o item está selecionado| `var(--color-action-focus)` |
65
+ * | **Item - Normal** | | |
66
+ * | `--list-item-background` | Cor de fundo do item | `var(--list-item-background)` |
67
+ * | `--list-item-border-color` | Cor da borda do item | `var(--list-item-border-color)` |
68
+ * | `--list-item-border-width` | Largura da borda do item | `var(--border-width-sm)` |
69
+ * | `--list-item-border-radius` | Raio de arredondamento dos cantos do item | `var(--border-radius-md)` |
70
+ * | `--list-item-shadow` | Sombra base do item | `var(--shadow-md)` |
71
+ * | **Item - Selecionado** | | |
72
+ * | `--list-item-background-selected` | Cor de fundo do item selecionado | `var(--color-brand-01-lightest)` |
73
+ * | `--list-item-border-color-selected` | Cor da borda do item selecionado | `var(--color-action-default)` |
74
+ * | **Item - Hover** | | |
75
+ * | `--list-item-border-color-hover` | Cor da borda do item no estado hover | `var(--color-action-hover)` |
76
+ * | `--list-item-shadow-hover` | Sombra do item no estado hover | `var(--shadow-lg)` |
77
+ * | **Item - Focus** | | |
78
+ * | `--list-item-color-focused` | Cor da borda do item no estado focus | `var(--color-action-default)` |
79
+ * | `--list-item-outline-color-focused` | Cor do outline do item no estado focus | `var(--color-action-focus)` |
80
+ * | **Destaque (Highlighted)** | | |
81
+ * | `--list-item-background-highlighted` | Cor de fundo do item destacado | `var(--color-brand-01-lightest)` |
82
+ * | **Motion** | | |
83
+ * | `--list-item-transition-duration` | Duração da transição do item | `var(--duration-normal)` |
84
+ * | `--list-item-transition-property` | Propriedades CSS animadas | `all` |
85
+ * | `--list-item-transition-timing` | Curva de aceleração da transição | `var(--timing-standard, var(--timing-standart, ease))` |
18
86
  *
19
- * O componente disponibiliza uma área específica para exibição informações adicionais,
20
- * através da diretiva **[p-list-view-detail-template](/documentation/po-list-view-detail-template)**.
21
87
  */
22
88
  export declare class PoListViewBaseComponent {
23
- /** Recebe uma propriedade que será utilizada para recuperar o valor do objeto que será usado como link para o título. */
89
+ /**
90
+ * @deprecated v23.x.x use `p-field-properties`
91
+ *
92
+ * @optional
93
+ *
94
+ * @description
95
+ *
96
+ * Chave do objeto (`p-items`) com o *link* do título do item.
97
+ *
98
+ * > Essa propriedade está depreciada e será removida na versão 23.x.x. Recomendamos utilizar a propriedade
99
+ * `p-field-properties`.
100
+ */
24
101
  propertyLink?: string;
25
- /** Recebe uma propriedade que será utilizada para recuperar o valor do objeto que será exibido como o título de cada item. */
26
- propertyTitle?: string;
27
102
  /**
103
+ * @deprecated v23.x.x use `p-field-properties`
104
+ *
28
105
  * @optional
29
106
  *
30
107
  * @description
31
108
  *
32
- * Recebe uma ação, que será executada quando clicar no botão "Carregar mais resultados".
109
+ * Chave do objeto (`p-items`) com o título do item.
110
+ *
111
+ * > Essa propriedade está depreciada e será removida na versão 23.x.x. Recomendamos utilizar a propriedade
112
+ * `p-field-properties`.
113
+ */
114
+ propertyTitle?: string;
115
+ /**
116
+ * @optional
117
+ *
118
+ * @description
33
119
  *
34
- * > Caso nenhuma ação for definida o mesmo não ficará visível.
120
+ * Ação executada ao clicar no botão de carregar mais resultados.
35
121
  */
36
122
  showMore: EventEmitter<any>;
37
123
  /**
@@ -40,8 +126,12 @@ export declare class PoListViewBaseComponent {
40
126
  * @description
41
127
  *
42
128
  * Ação que será executada ao clicar no título.
129
+ * Retorna o item da lista clicado.
130
+ *
131
+ * > Compatível com o título configurado como *link* (`PoListViewFieldProperties.link` ou `p-property-link`):
132
+ * ao clicar, o evento é emitido e, havendo *link*, a navegação também é realizada.
43
133
  *
44
- * Ao ser disparado, o método inserido na ação irá receber como parâmetro o item da lista clicado.
134
+ * > Incompatível com o evento `p-item-click`.
45
135
  */
46
136
  titleAction: EventEmitter<any>;
47
137
  /**
@@ -49,11 +139,23 @@ export declare class PoListViewBaseComponent {
49
139
  *
50
140
  * @description
51
141
  *
52
- * Ação que será executada ao clicar no botão exibir detalhes.
142
+ * Ação que será executada ao expandir os detalhes do item.
143
+ * Retorna o item da lista clicado.
53
144
  *
54
- * Ao ser disparado, o método passa como parâmetros os detalhes que serão exibidos.
145
+ * > Incompatível com o evento `p-item-click`.
55
146
  */
56
147
  showDetail: EventEmitter<any>;
148
+ /**
149
+ * @optional
150
+ *
151
+ * @description
152
+ *
153
+ * Ação que será executada ao clicar no item da lista. Quando definida, torna o item clicável.
154
+ * Retorna o item da lista clicado.
155
+ *
156
+ * > O evento é desabilitado caso o item possua duas ou mais ações visíveis (`p-actions`).
157
+ */
158
+ itemClick: EventEmitter<any>;
57
159
  popupTarget: any;
58
160
  selectAll: boolean;
59
161
  showHeader: boolean;
@@ -66,6 +168,7 @@ export declare class PoListViewBaseComponent {
66
168
  private _literals;
67
169
  private _select;
68
170
  private _showMoreDisabled;
171
+ private _singleSelect;
69
172
  private readonly language;
70
173
  /**
71
174
  * @optional
@@ -73,6 +176,7 @@ export declare class PoListViewBaseComponent {
73
176
  * @description
74
177
  *
75
178
  * Lista de ações que serão exibidas no componente.
179
+ * As propriedades das ações seguem a interface `PoPopupAction`.
76
180
  */
77
181
  set actions(value: Array<PoListViewAction>);
78
182
  get actions(): Array<PoListViewAction>;
@@ -81,7 +185,7 @@ export declare class PoListViewBaseComponent {
81
185
  *
82
186
  * @description
83
187
  *
84
- * Define o tamanho dos componentes de formulário no template:
188
+ * Define o dimensionamento geral dos elementos no template.
85
189
  * - `small`: aplica a medida small de cada componente (disponível apenas para acessibilidade AA).
86
190
  * - `medium`: aplica a medida medium de cada componente.
87
191
  *
@@ -97,20 +201,65 @@ export declare class PoListViewBaseComponent {
97
201
  *
98
202
  * @description
99
203
  *
100
- * Define a altura do `po-list-view` em *pixels*.
204
+ * Define a altura da lista em *px*, desconsiderando o espaço do botão `p-show-more`.
205
+ *
206
+ * > Caso não seja informado valor, a propriedade irá assumir o tamanho do conteúdo.
101
207
  */
102
208
  set height(height: number);
103
209
  get height(): number;
104
210
  /**
211
+ * @optional
212
+ *
105
213
  * @description
106
214
  *
107
- * Esconde o *checkbox* para seleção de todos os itens.
215
+ * Habilita a seleção de itens na lista.
216
+ *
217
+ * Por padrão, renderiza um *checkbox* para seleção múltipla. Caso a propriedade `p-single-select` esteja habilitada,
218
+ * renderiza um botão *radio* para seleção única.
219
+ *
220
+ * Ao utilizar esta propriedade, todos os itens recebem a propriedade dinâmica `$selected` para identificar o seu estado
221
+ * de seleção. Por exemplo:
222
+ *
223
+ * ```
224
+ * item.$selected
225
+ *
226
+ * // ou
227
+ *
228
+ * item['$selected']
229
+ * ```
108
230
  *
109
231
  * @default `false`
110
232
  */
111
233
  set hideSelectAll(hideSelectAll: boolean);
112
234
  get hideSelectAll(): boolean;
113
- /** Lista de itens que serão exibidos no componente. */
235
+ /**
236
+ * @description
237
+ *
238
+ * Lista de itens que serão exibidos no componente.
239
+ *
240
+ * A renderização dos dados depende do mapeamento das chaves dos objetos através da propriedade `p-field-properties`.
241
+ *
242
+ * Exemplo de uso:
243
+ *
244
+ * ```
245
+ * const listItems = [
246
+ * { name: 'John Doe', job: 'Developer' },
247
+ * { name: 'Jane Smith', job: 'Designer' }
248
+ * ];
249
+ *
250
+ * const listMapping = {
251
+ * title: 'name',
252
+ * subtitle: 'job'
253
+ * };
254
+ * ```
255
+ *
256
+ * ```
257
+ * <po-list-view
258
+ * [p-items]="listItems"
259
+ * [p-field-properties]="listMapping">
260
+ * </po-list-view>
261
+ * ```
262
+ */
114
263
  set items(value: Array<any>);
115
264
  get items(): Array<any>;
116
265
  /**
@@ -118,9 +267,9 @@ export declare class PoListViewBaseComponent {
118
267
  *
119
268
  * @description
120
269
  *
121
- * Objeto com as literais usadas no `po-list-view`.
270
+ * Objeto com as literais usadas no po-list-view, permitindo personalizar os textos exibidos no componente.
122
271
  *
123
- * Existem duas maneiras de customizar o componente, passando um objeto com todas as literais disponíveis:
272
+ * Exemplo de uso:
124
273
  *
125
274
  * ```
126
275
  * const customLiterals: PoListViewLiterals = {
@@ -131,16 +280,6 @@ export declare class PoListViewBaseComponent {
131
280
  * };
132
281
  * ```
133
282
  *
134
- * Ou passando apenas as literais que deseja customizar:
135
- *
136
- * ```
137
- * const customLiterals: PoListViewLiterals = {
138
- * showDetail: 'Mostrar mais detalhes'
139
- * };
140
- * ```
141
- *
142
- * E para carregar as literais customizadas, basta apenas passar o objeto para o componente.
143
- *
144
283
  * ```
145
284
  * <po-list-view
146
285
  * [p-literals]="customLiterals">
@@ -157,8 +296,8 @@ export declare class PoListViewBaseComponent {
157
296
  *
158
297
  * @description
159
298
  *
160
- * Habilita um *checkbox* para cada item da lista. Todos os items possuem a propriedade dinâmica `$selected` para identificar se o
161
- * item está selecionado, por exemplo:
299
+ * Habilita um *checkbox* para cada item da lista. Todos os items possuem a propriedade dinâmica `$selected` para
300
+ * identificar se o item está selecionado, por exemplo:
162
301
  *
163
302
  * ```
164
303
  * item.$selected
@@ -177,7 +316,110 @@ export declare class PoListViewBaseComponent {
177
316
  *
178
317
  * @description
179
318
  *
180
- * Indica que o botão `Carregar Mais Resultados` será desabilitado.
319
+ * Define que somente um item da lista pode ser selecionado quando a seleção estiver habilitada
320
+ * através da propriedade `p-select`.
321
+ *
322
+ * > Quando habilitado, a opção "Selecionar todos" é ocultada.
323
+ *
324
+ * @default `false`
325
+ */
326
+ set singleSelect(value: boolean);
327
+ get singleSelect(): boolean;
328
+ get isSingleSelection(): boolean;
329
+ /**
330
+ * @optional
331
+ *
332
+ * @description
333
+ *
334
+ * Define como o detalhe do item (diretiva `p-list-view-detail-template`) será exibido:
335
+ * A utilização desta propriedade renderiza um botão de ação (como "Exibir detalhes" ou "Ver detalhes") no rodapé do item
336
+ * para controlar a visualização do conteúdo.
337
+ *
338
+ * Valores válidos:
339
+ * - `inline`: expande o conteúdo do detalhe abaixo do item.
340
+ * - `modal`: exibe o conteúdo do detalhe no corpo de um `po-modal`.
341
+ *
342
+ * > Incompatível com o evento `p-item-click`.
343
+ *
344
+ * @default `inline`
345
+ */
346
+ detailDisplay: import("@angular/core").InputSignalWithTransform<PoListViewDetailDisplay, string>;
347
+ get isDetailModal(): boolean;
348
+ /**
349
+ * @optional
350
+ *
351
+ * @description
352
+ *
353
+ * Define o posicionamento da *tag* (`PoListViewFieldProperties.tag.value`) em relação ao título dentro do item:
354
+ * - `right`: ao lado direito do título.
355
+ * - `top`: acima do título.
356
+ * - `bottom`: abaixo do título.
357
+ *
358
+ * @default `bottom`
359
+ */
360
+ tagPosition: import("@angular/core").InputSignal<string>;
361
+ /**
362
+ * @optional
363
+ *
364
+ * @description
365
+ *
366
+ * Consolida, em um único objeto tipado ([`PoListViewFieldProperties`](/documentation/po-list-view#fieldProperties)),
367
+ * o mapeamento entre as propriedades do item e as áreas visuais do componente (título, subtítulo,
368
+ * link, avatar, destaque e tag).
369
+ *
370
+ * ```
371
+ * <po-list-view
372
+ * [p-field-properties]="{
373
+ * title: 'name',
374
+ * subtitle: 'jobDescription',
375
+ * link: 'url',
376
+ * avatar: 'avatar',
377
+ * highlighted: 'unread',
378
+ * tag: { value: 'hireStatus', type: 'hireTagType' }
379
+ * }">
380
+ * </po-list-view>
381
+ * ```
382
+ */
383
+ fieldProperties: import("@angular/core").InputSignal<PoListViewFieldProperties>;
384
+ protected get resolvedPropertyTitle(): string;
385
+ protected get resolvedPropertyLink(): string;
386
+ protected get resolvedPropertySubtitle(): string;
387
+ protected get resolvedPropertyHighlighted(): string;
388
+ protected get resolvedPropertyAvatar(): string;
389
+ protected get resolvedPropertyTag(): string;
390
+ protected get resolvedPropertyTagType(): string;
391
+ /**
392
+ * @optional
393
+ *
394
+ * @description
395
+ *
396
+ * Define o tamanho do avatar do tipo **imagem** (URL).
397
+ *
398
+ * Valores válidos:
399
+ * - `xs` (24x24)
400
+ * - `sm` (32x32)
401
+ * - `md` (64x64)
402
+ * - `lg` (96x96)
403
+ * - `xl` (144x144)
404
+ *
405
+ * > Incompatível com os demais tipos de avatar (icon, progress, customTemplate).
406
+ *
407
+ * @default `md`
408
+ */
409
+ avatarSize: import("@angular/core").InputSignal<string>;
410
+ /**
411
+ * @docsPrivate
412
+ *
413
+ * Aplica a classe de host `po-list-view-widget-mode` permanentemente, habilitando via CSS (po-style) o visual do
414
+ * componente.
415
+ */
416
+ readonly widgetModeVisualClass = true;
417
+ /**
418
+ * @optional
419
+ *
420
+ * @description
421
+ *
422
+ * Indica que o botão *Carregar Mais Resultados* (`p-show-more`) será desabilitado.
181
423
  */
182
424
  set showMoreDisabled(value: boolean);
183
425
  get showMoreDisabled(): boolean;
@@ -189,7 +431,7 @@ export declare class PoListViewBaseComponent {
189
431
  selectListItem(row: any): void;
190
432
  protected onThemeChange(): void;
191
433
  private applySizeBasedOnA11y;
192
- private deleteInternalAttrs;
434
+ protected deleteInternalAttrs(item: any): any;
193
435
  private checkIfItemsAreSelected;
194
436
  private showMainHeader;
195
437
  }
@@ -43,6 +43,12 @@ import { TemplateRef } from '@angular/core';
43
43
  * ...
44
44
  *
45
45
  * ```
46
+ *
47
+ * > O modo de exibição do detalhe é definido pela propriedade
48
+ * [`p-detail-display`](/documentation/po-list-view) do `po-list-view`, que utiliza os valores do
49
+ * enum `PoListViewDetailDisplay`:
50
+ * - `inline`: expande o conteúdo do detalhe abaixo do item (padrão);
51
+ * - `modal`: exibe o conteúdo do detalhe no corpo de um `po-modal`.
46
52
  */
47
53
  export declare class PoListViewDetailTemplateDirective {
48
54
  templateRef: TemplateRef<any>;