# PO UI - Documentação Completa > Gerado automaticamente a partir do código-fonte. Versão atual em https://po-ui.io/llms.txt --- # PoComboOptionTemplateDirective **Seletor:** `[p-combo-option-template]` **Tipo:** Componente / Diretiva **Pacote:** `@po-ui/ng-components` **Referência:** https://po-ui.io/documentation/[p-combo-option-template] Esta diretiva permite personalizar o conteúdo dos itens exibidos na lista de opções do componente. > Quando utilizada em dispositivos *mobile* será exibido o componente nativo. Para personalizar o conteúdo de cada item da lista deve-se utilizar a diretiva `p-combo-option-template` com `ng-template` dentro da *tag* `po-combo`. Para obter a referência do item atual utilize `let-option`, com isso você terá acesso aos valores e poderá personalizar sua exibição. Esta diretiva compõe-se de dois meios para uso, de forma explícita tal como em *syntax sugar*. Veja a seguir ambos, respectivamente: ``` ... ... ``` ``` ...
... ``` Para o caso de personalização de opções com agrupamentos, deve-se seguir a mesma orientação acima. Porém, cabe ao desenvolvedor a responsabilidade de estilização dos elementos da lista, tais como título e links dos grupos. Abaixo há um exemplo de aplicação: ``` ...

... ``` --- # PoJobSchedulerParametersTemplateDirective **Seletor:** `[p-job-scheduler-parameters-template]` **Tipo:** Componente / Diretiva **Pacote:** `@po-ui/ng-components` **Referência:** https://po-ui.io/documentation/[p-job-scheduler-parameters-template] Esta diretiva permite personalizar o conteúdo da uma ou várias etapa(s) de parametrização do componente de PoPageJobScheduler. Para repassar as alterações realizadas no componente customizado ao model do PoPageJobScheduler, deve ser atualizado os valores através da propriedade p-execution-parameter. Dessa forma as alterações serão adicionadas ao atributo executionParameter do objeto de envio a Api. É possível também controlar a permissão de avançar, fazendo uso da propriedade p-disable-advance. ``` ... ... ... ... ``` ## Inputs | Propriedade | Alias | Tipo | Opcional | Padrão | Descrição | |---|---|---|---|---|---| | `disabledAdvance` | `'p-disable-advance'` | `boolean` | sim | false | Determina se deve desabilitar o botão de avançar para a próxima etapa | | `executionParameter` | `'p-execution-parameter'` | `object` | sim | - | Objeto que deve conter as alterações feitas pelo componente de template que serão repassadas dentro do atributo | | `title` | `'p-label-step'` | `string` | sim | - | Determina o label do step | --- # PoJobSchedulerSummaryTemplateDirective **Seletor:** `[p-job-scheduler-summary-template]` **Tipo:** Componente / Diretiva **Pacote:** `@po-ui/ng-components` **Referência:** https://po-ui.io/documentation/[p-job-scheduler-summary-template] Esta diretiva permite personalizar o conteúdo de resumo das informações de parâmetro na etapa de conclusão do componente de PoPageJobScheduler. Essa funcionalidade costuma ser útil em casos onde a propriedade parameters não tem valor e mesmo assim é necessário exibir as informações de resumo na etapa de conclusão. ``` ... ... ... ``` --- # PoListViewContentTemplateDirective **Seletor:** `[p-list-view-content-template]` **Tipo:** Componente / Diretiva **Pacote:** `@po-ui/ng-components` **Referência:** https://po-ui.io/documentation/[p-list-view-content-template] Esta diretiva permite que sejam apresentadas informações essenciais de cada item. Deve-se utilizar como parâmetro a referência do item e/ou índice, sendo por padrão o item. - Item: `item` determina o item da linha corrente. - Índice: `index` determina o índice da linha corrente. Esta diretiva pode ser usada de duas formas: explícita ou *syntax sugar*. Veja a seguir ambos, respectivamente: ``` ...
... ``` ``` ...
... ``` A diretiva **p-list-view-content-template**, possibilita também alterar o título dos itens. Para isto, é necessário atribuir a referência da função que faz a alteração, à propriedade `p-title`, a mesma deve retornar um valor do tipo *string*. Veja o exemplo a seguir: ``` ... @Component({ selector: 'app-root', template: ` ...
... ` }) export class AppComponent { public items = [{ code: 1200, product: 'Rice', customer: 'Supermarket 1', }, { code: 1355, product: 'Bean', customer: 'Supermarket 2' }]; customTitle(item) { return `${item.code} - ${item.product}`; } } ``` ## Inputs | Propriedade | Alias | Tipo | Opcional | Padrão | Descrição | |---|---|---|---|---|---| | `title` | `'p-title'` | `(item) => string` | sim | - | Função que deve retornar um valor do tipo `string`, que será utilizado como o título de cada item da lista. | --- # PoListViewDetailTemplateDirective **Seletor:** `[p-list-view-detail-template]` **Tipo:** Componente / Diretiva **Pacote:** `@po-ui/ng-components` **Referência:** https://po-ui.io/documentation/[p-list-view-detail-template] Esta diretiva permite que sejam apresentadas informações adicionais de cada item, construindo um botão `Exibir detalhes` abaixo do conteúdo principal do item. Deve-se utilizar como parâmetro a referência do item e/ou índice, sendo por padrão o item. - Item: `item` determina o item da linha corrente. - Índice: `index` determina o índice da linha corrente. Esta diretiva pode ser usada de duas formas: explícita ou *syntax sugar*. Veja a seguir ambos, respectivamente: ``` ...
... ``` ``` ...
... ``` ## Inputs | Propriedade | Alias | Tipo | Opcional | Padrão | Descrição | |---|---|---|---|---|---| | `showDetail` | `'p-show-detail'` | `(item) => boolean` | sim | - | Função que deve retornar um valor do tipo `boolean`, que será utilizado como a validação para que o detalhe de item | --- # PoMenuHeaderTemplateDirective **Seletor:** `[p-menu-header-template]` **Tipo:** Componente / Diretiva **Pacote:** `@po-ui/ng-components` **Referência:** https://po-ui.io/documentation/[p-menu-header-template] Esta diretiva permite adicionar um conteúdo personalizado entre a logo e o campo de filtro do cabeçalho do [`po-menu`](/documentation/po-menu). Para personalizar o conteúdo do cabeçalho deve-se utilizar a diretiva `p-menu-header-template` dentro da *tag* do [`po-menu`](/documentation/po-menu). Podendo ser utilizada de duas formas: Com `ng-template` ``` ... ... ... ``` ou com *syntax sugar* ``` ...
...
... ``` > Quando o menu estiver colapsado ou tela for _mobile_ o conteúdo personalizado não será exibido. --- # PoMultiselectOptionTemplateDirective **Seletor:** `[p-multiselect-option-template]` **Tipo:** Componente / Diretiva **Pacote:** `@po-ui/ng-components` **Referência:** https://po-ui.io/documentation/[p-multiselect-option-template] Esta diretiva permite personalizar o conteúdo dos itens exibidos na lista de opções do componente. Para personalizar o conteúdo de cada item da lista deve-se utilizar a diretiva `p-multiselect-option-template` com `ng-template` dentro da *tag* `po-multiselect`, o seu array de `p-options` repassado para com componente deve conter a propriedade `value` e `label`. Para obter a referência do item atual utilize `let-option`, com isso você terá acesso aos valores e poderá personalizar sua exibição. Exemplo de uso: ``` ...
... ``` --- # PoSlideContentTemplateDirective **Seletor:** `[p-slide-content-template]` **Tipo:** Componente / Diretiva **Pacote:** `@po-ui/ng-components` **Referência:** https://po-ui.io/documentation/[p-slide-content-template] Esta diretiva permite a customização de um slide. Deve-se utilizar como parâmetro a referência do item e/ou índice, sendo por padrão o item. - Item: `item` determina o item do slide corrente. - Índice: `index` determina o índice do slide corrente. Esta diretiva pode ser usada de duas formas: explícita ou *syntax sugar*. Veja a seguir ambos, respectivamente: ``` ...
... ``` ``` ...
... ``` --- # PoTableCellTemplateDirective **Seletor:** `[p-table-cell-template]` **Tipo:** Componente / Diretiva **Pacote:** `@po-ui/ng-components` **Referência:** https://po-ui.io/documentation/[p-table-cell-template] Esta diretiva permite que seja possível alterar o conteúdo das células de uma coluna, para que os valores possam ser exibidos de acordo com a necessidade do usuário. Em seu uso, deve-se apenas adicionar a diretiva **p-table-cell-template** à tag `ng-template`. Retorno: - `column`: conteúdo da coluna corrente. - `row`: conteúdo da linha corrente Modo de uso: ``` ...

CANCELADA

clique aqui

FINALIZADA

ABERTA

Conteúdo do status 2

Conteúdo do status 3

... ``` > No exemplo acima, o usuário tem como retorno `row` e a `column` corrente, neste caso ele tem total liberdade para manipular os objetos. Abaixo, a declaração dos dados de entrada do PO-TABLE para o uso da directiva. ``` ... export class AppComponent { items = [{ code: 1200, product: 'Rice', status: 'CANCELED', status2: '', status3: '' },{ code: 1355, product: 'Bean', status: 'FINISHED', status2: '', status3: '' }]; columns = [ { property: 'code', label: 'ID' }, { property: 'product', label: 'PRODUTO' }, { property: 'status', label: 'STATUS', type: 'cellTemplate' }, { property: 'status2', label: 'STATUS 2', type: 'cellTemplate' }, { property: 'status3', label: 'STATUS 3', type: 'cellTemplate' } ]; } ... ``` > Observação: Sempre adicionar o **type** da coluna que deseja manipular com a directiva como `cellTemplate` --- # PoTableColumnTemplateDirective **Seletor:** `[p-table-column-template]` **Tipo:** Componente / Diretiva **Pacote:** `@po-ui/ng-components` **Referência:** https://po-ui.io/documentation/[p-table-column-template] Esta diretiva permite que seja possível alterar o conteúdo das células de uma coluna, para que os valores possam ser exibidos de acordo com a necessidade do usuário. Em seu uso, deve-se utilizar como parâmetro de entrada o input [p-property], o qual é responsável por informar ao PO-TABLE qual a coluna que será adicionado o conteúdo do template. Retorno: - value: valor referente ao conteúdo da linha corrente. Modo de uso: ```html ... ... ``` > No exemplo acima, todas as células correspondentes a coluna `status` terão o conteúdo alterado para `

${value}

`, sendo que `value` refere-se ao conteúdo da linha. ```html ... ... ``` > Agora, neste exemplo, com o valor da linha corrente retornado (value), é feito uma validação para definir o template exato para adicionar a uma específica célula. Abaixo, a declaração dos dados de entrada do PO-TABLE para o uso da directiva. ```typescript ... export class AppComponent { targetProperty= 'status'; items = [{ code: 1200, product: 'Rice', status: 'CANCELED' },{ code: 1355, product: 'Bean', status: 'FINISHED' }]; columns = [ { property: 'code', label: 'ID' }, { property: 'product', label: 'PRODUTO' }, { property: 'status', label: 'STATUS', type: 'columnTemplate' } ]; } ... ``` > Observação: Sempre adicionar o **type** da coluna que deseja manipular com a directiva como `columnTemplate` ## Inputs | Propriedade | Alias | Tipo | Opcional | Padrão | Descrição | |---|---|---|---|---|---| | `targetProperty` | `'p-property'` | `string` | sim | - | Variável responsável por armazenar a property da coluna da tabela que será adicionado o template. | --- # PoTableRowTemplateDirective **Seletor:** `[p-table-row-template]` **Tipo:** Componente / Diretiva **Pacote:** `@po-ui/ng-components` **Referência:** https://po-ui.io/documentation/[p-table-row-template] Esta diretiva permite que seja apresentada informações adicionais a respeito de uma determinada linha de dados, de forma que possam ser exibidas e ocultadas através do botão de acionamento. > Quando utilizada, sobrepõe as funcionalidade básicas do *master-detail*. Em seu uso, deve-se utilizar como parâmetro a referência da _linha_ e/ou _índice_, sendo por padrão linha. Caso não seja declarado, o componente não exibirá conteúdo. - Linha: `row` determina o item da linha corrente. - Índice: `rowIndex` determina o índice da linha corrente. Esta diretiva compõe-se de dois meios para uso, de forma explícita tal como em *syntax sugar*. Veja a seguir ambos, respectivamente: ``` ... ... ``` ``` ...
... ``` A diretiva **p-table-row-template**, possibilita também que determinada linha apresente ou não seu _template_. Para isto, é necessário atribuir a referência da função que faz esta verificação, à propriedade `p-table-row-template-show`, a mesma deve retornar um valor do tipo *boolean*. Veja o exemplo a seguir: ``` ... @Component({ selector: 'app-root', templateUrl: ` ... ... ` }) export class AppComponent { public dataTable = [{ code: 1200, product: 'Rice', costumer: 'Supermarket 1', quantity: 3, status: 'delivered', license_plate: 'MDJD9191', batch_product: 18041822, driver: 'José Oliveira' }, { code: 1355, product: 'Bean', costumer: 'Supermarket 2', quantity: 1, status: 'transport', license_plate: 'XXA5454', batch_product: 18041821, driver: 'Francisco Pereira' }]; isUndelivered(row, index: number) { return row.status !== 'delivered'; } } ``` > No exemplo acima, somente será disponibilizado os detalhes de informações nas linhas cujo o valor de `status` não correspondam à *delivered*. ## Inputs | Propriedade | Alias | Tipo | Opcional | Padrão | Descrição | |---|---|---|---|---|---| | `poTableRowTemplateShow` | `'p-table-row-template-show'` | `(row: any, index: number) => boolean` | sim | `true` | Função que deve retornar um valor booleano, informando se apresentará o template da linha. | | `tableRowTemplateArrowDirection` | `'p-table-row-template-arrow-direction'` | `PoTableRowTemplateArrowDirection` | sim | `'LEFT'` | Propriedade responsável por informar a posição do colapse que abrirá os detalhes da linha. | --- # PoTooltipDirective **Seletor:** `[p-tooltip]` **Tipo:** Componente / Diretiva **Pacote:** `@po-ui/ng-components` **Referência:** https://po-ui.io/documentation/[p-tooltip] A diretiva po-tooltip deve ser utilizada para oferecer informações adicionais quando os usuários passam o mouse ou realizam o foco sobre o elemento alvo ao qual ela está atribuída. O conteúdo é formado por um pequeno texto que deve contribuir para uma tomada de decisão ou orientação do usuário. A ativação dele pode estar em qualquer componente ou tag HTML. Para textos maiores ou no caso de haver a necessidade de utilizar algum outro elemento como conteúdo deve-se utilizar o [**po-popover**](https://po-ui.io/documentation/po-popover?view=doc). #### Tokens customizáveis É possível alterar o estilo do componente usando os seguintes tokens (CSS): > Para maiores informações, acesse o guia [Personalizando o Tema Padrão com Tokens CSS](https://po-ui.io/guides/theme-customization). | Propriedade | Descrição | Valor Padrão | |----------------------------------------------|------------------------------------------------------------------|--------------------------------------------------| | **Default Values** | | | | `--border-radius` | Contém o valor do raio dos cantos do elemento | `var(--border-radius-md)` | | `--color` | Cor principal da tooltip | `var(--color-neutral-dark-80)` | | `--font-family` | Família tipográfica usada | `var(--font-family-theme)` | | `--text-color` | Cor do texto | `var(--color-neutral-light-00)` | ## Inputs | Propriedade | Alias | Tipo | Opcional | Padrão | Descrição | |---|---|---|---|---|---| | `appendInBody` | `'p-append-in-body'` | `boolean` | sim | `false` | Define que o po-tooltip será incluido no body e não dentro do elemento ao qual o tooltip foi especificado. | | `hideArrow` | `'p-hide-arrow'` | `boolean` | sim | `false` | Controla a exibição da seta de indicação da tooltip. | | `innerHtml` | `'p-inner-html'` | `boolean` | sim | `false` | Permite a renderização de conteúdo HTML dentro da tooltip. | | `tooltip` | `'p-tooltip'` | `string` | não | - | Habilita e atribui um texto ao po-tooltip. | | `tooltipPosition` | `'p-tooltip-position'` | `string` | sim | bottom | Define a posição que o po-tooltip abrirá em relação ao componente alvo. Sugere-se que seja | --- # PoAccordionComponent **Seletor:** `po-accordion` **Tipo:** Componente / Diretiva **Pacote:** `@po-ui/ng-components` **Referência:** https://po-ui.io/documentation/po-accordion Componente utilizado para agrupar visualmente uma lista de conteúdos, mostrando-os individualmente ao clicar no título de cada item. Para utilizá-lo, é necessário envolver cada item no componente [`po-accordion-item`](/documentation/po-accordion-item), como no exemplo abaixo: ``` Accordion 1 Accordion 2 ``` e no typescript pode-se utilizar o `@ViewChild`: ``` @ViewChild(PoAccordionComponent, { static: true }) accordion: PoAccordionComponent; ngAfterContentInit() { // ou utilizar o método collapseAllItems(); this.accordion.expandAllItems(); } ``` O componente já faz o controle de abertura e fechamento dos itens automaticamente. Caso houver a necessidade de abrir algum dos `po-accordion-item` via Typescript acesse a [documentação do PoAccordionItem](/documentation/po-accordion-item). #### Tokens customizáveis É possível alterar o estilo do componente usando os seguintes tokens (CSS): > Para maiores informações, acesse o guia [Personalizando o Tema Padrão com Tokens CSS](https://po-ui.io/guides/theme-customization). | Propriedade | Descrição | Valor Padrão | |----------------------------------------|-------------------------------------------------------|---------------------------------------------------| | **Default Values** | | | | `--font-family` | Família tipográfica usada | `var(--font-family-theme)` | | `--font-size` | Tamanho da fonte | `var(--font-size-default)` | | `--color` | Cor principal do accordion | `var(--color-action-default)` | | `--background-color` | Cor de background | `var(--color-neutral-light-00)` | | `--font-weight` | Peso da fonte | `var(--font-weight-bold)` | | **Hover** | | | | `--color-hover` | Cor principal no estado hover | `var(--color-action-hover)` | | `--background-hover` | Cor de background no estado hover | `var(--color-brand-01-lightest)` | | **Focused** | | | | `--color-focused` | Cor principal no estado de focus | `var(--color-action-focus)` | | `--outline-color-focused` | Cor do outline do estado de focus | `var(--color-action-focus)` | | **Disabled** | | | | `--color-disabled` | Cor principal no estado disabled | `var(--color-neutral-mid-60)` | | `--background-disabled` | Cor de background no estado disabled | `var(--color-neutral-light-10)` | | **po-accordion-manager** | | | | `--background-color` | Cor de background | `var(--color-neutral-mid-60)` | | `--color` | Cor principal do accordion manager | `var(--color-neutral-light-10)` | | `--font-family` | Família tipográfica usada | `var(--color-neutral-light-10)` | | `--font-size` | Tamanho da fonte | `var(--color-neutral-light-10)` | | `--font-weight` | Peso da fonte | `var(--color-neutral-light-10)` | | **Pressed** | | | | `--background-pressed` | Cor de background no estado de pressionado | `var(--color-brand-01-lighter)` | | `--color-pressed` | Cor principal no estado de pressionado | `var(--color-action-pressed)` | ## Inputs | Propriedade | Alias | Tipo | Opcional | Padrão | Descrição | |---|---|---|---|---|---| | `allowExpandItems` | `'p-allow-expand-all-items'` | `boolean` | sim | `false` | Permite expandir mais de um `` ao mesmo tempo. | | `literals` | `'p-literals'` | `PoAccordionLiterals` | sim | - | Objeto com as literais usadas no `po-accordion`. | | `showManagerAccordion` | `'p-show-manager-accordion'` | `boolean` | sim | `false` | Exibe o Gerenciador de Accordion. | | `size` | `'p-size'` | `string` | sim | `medium` | Define o tamanho do componente: | ## Outputs | Evento | Alias | Tipo | Descrição | |---|---|---|---| | `collapseAllEvent` | `'p-collapse-all'` | `EventEmitter` | Evento disparado ao retrair o gerenciador de accordion, seja manualmente ou programaticamente. | | `expandAllEvent` | `'p-expand-all'` | `EventEmitter` | Evento disparado ao expandir o gerenciador de accordion, seja manualmente ou programaticamente. | ## Métodos ### `collapseAllItems()` Método para colapsar todos os itens. Só pode ser utilizado quando a propriedade `p-show-manager-accordion` estiver como `true`. ### `expandAllItems()` Método para expandir todos os itens. Só pode ser utilizado quando a propriedade `p-show-manager-accordion` estiver como `true`. --- # PoAccordionItemComponent **Seletor:** `po-accordion-item` **Tipo:** Componente / Diretiva **Pacote:** `@po-ui/ng-components` **Referência:** https://po-ui.io/documentation/po-accordion-item Componente utilizado para renderizar os itens do `po-accordion`. O componente `po-accordion` já faz o controle de abertura e fechamento dos itens automaticamente, mas caso houver a necessidade de abrir algum dos `po-accordion-item` via Typescript, pode ser feita da seguinte forma: ``` Accordion 1 Accordion 2 ``` e no typescript pode-se utilizar o `@ViewChild`: ``` @ViewChild(PoAccordionItemComponent, { static: true }) item1: PoAccordionItemComponent; ngAfterContentInit() { // ou utilizar o método collapse() this.item1.expand(); } ``` ## Inputs | Propriedade | Alias | Tipo | Opcional | Padrão | Descrição | |---|---|---|---|---|---| | `disabledItem` | `'p-disabled'` | `boolean` | sim | `false` | Desabilita item. | | `label` | `'p-label'` | `string` | não | - | Título do item. | | `labelTag` | `'p-label-tag'` | `string` | sim | - | Label da Tag. | | `typeTag` | `'p-type-tag'` | `PoTagType` | sim | `info` | Define o tipo da *tag* caso ela esteja sendo exibida. | ## Outputs | Evento | Alias | Tipo | Descrição | |---|---|---|---| | `collapseEvent` | `'p-collapse'` | `EventEmitter` | Evento disparado ao retrair o item, seja manualmente ou programaticamente. | | `expandEvent` | `'p-expand'` | `EventEmitter` | Evento disparado ao expandir o item, seja manualmente ou programaticamente. | ## Métodos ### `collapse()` Método para colapsar o `po-accordion-item`. ### `expand()` Método para expandir o `po-accordion-item`. --- # PoAvatarComponent **Seletor:** `po-avatar` **Tipo:** Componente / Diretiva **Pacote:** `@po-ui/ng-components` **Referência:** https://po-ui.io/documentation/po-avatar O componente `po-avatar` é um container para imagens em miniatura, possui um formato redondo e cinco opções de tamanho, pode ser utilizado para mostrar a foto do perfil de um usuário, entre outras possibilidades. Além de poder ser utilizado separadamente, é possível usar o `po-avatar` juntamente com outros componentes e criar layouts ricos e bem interessantes para os usuários, como por exemplo, uma lista de itens ou produtos. ## Inputs | Propriedade | Alias | Tipo | Opcional | Padrão | Descrição | |---|---|---|---|---|---| | `loading` | `'p-loading'` | `'eager' | 'lazy'` | sim | `eager` | Indica como o navegador deve carregar a imagem. | | `size` | `'p-size'` | `string` | sim | `md` | Tamanho de exibição do componente. | | `src` | `'p-src'` | `string` | não | - | Fonte da imagem que pode ser um caminho local (`./assets/images/logo-black-small.png`) | ## Outputs | Evento | Alias | Tipo | Descrição | |---|---|---|---| | `click` | `'p-click'` | `EventEmitter` | Evento disparado ao clicar na imagem do *avatar*. | --- # PoBadgeComponent **Seletor:** `po-badge` **Tipo:** Componente / Diretiva **Pacote:** `@po-ui/ng-components` **Referência:** https://po-ui.io/documentation/po-badge Utilizado para exibir a quantidade de notificações. ## Inputs | Propriedade | Alias | Tipo | Opcional | Padrão | Descrição | |---|---|---|---|---|---| | `ariaLabel` | `'p-aria-label'` | `string` | não | - | Define um `aria-label` para o `po-badge` | | `color` | `'p-color'` | `string` | sim | `color-07` | Determina a cor do `po-badge`. As maneiras de customizar as cores são: | | `icon` | `'p-icon'` | `PoBadgeIcon` | sim | - | Ícone exibido no `po-badge`. | | `showBorder` | `'p-show-border'` | `boolean` | não | - | Exibe uma borda para o `po-badge` | | `size` | `'p-size'` | `PoBadgeSize` | não | `medium` | Define o tamanho do `po-badge` | | `status` | `'p-status'` | `PoBadgeStatus` | não | - | Define o estado do `po-badge` | | `value` | `'p-value'` | `number` | não | - | Número exibido no componente, caso o mesmo seja maior que 9 o valor exibido será 9+. | --- # PoBreadcrumbComponent **Seletor:** `po-breadcrumb` **Tipo:** Componente / Diretiva **Pacote:** `@po-ui/ng-components` **Referência:** https://po-ui.io/documentation/po-breadcrumb Este componente gera uma estrutura de navegação que apresenta ao usuário a localização da URL atual, exibindo as antecessoras conforme é realizado a navegação na aplicação. Quando não houver espaçamento suficiente para exibi-lás, o componente se encarrega também de agrupar as URLs antecessoras, gerando assim um ícone que permite a visualização em cascata. Caso um endereço seja especificado na propriedade `p-favorite-service`, o componente permite ao usuário favoritar a URL. Havendo necessidade de incluir parâmetros na requisição do serviço, o componente dispõe da propriedade `p-params-service` que recebe um objeto contendo as informações. #### Tokens customizáveis É possível alterar o estilo do componente usando os seguintes tokens (CSS): > Para maiores informações, acesse o guia [Personalizando o Tema Padrão com Tokens CSS](https://po-ui.io/guides/theme-customization). | Propriedade | Descrição | Valor Padrão | |----------------------------------------|-------------------------------------------------------|---------------------------------------------------| | **Default Values** | | | | `--font-family` | Família tipográfica usada | `var(--font-family-theme)` | | `--color` | Cor principal do icone de lista | `var(--color-action-default)` | | `--color-icon` | Cor do icone ">" | `var(--color-neutral-mid-60)` | | `--color-current-page` | Cor do pagina atual | `var(--color-neutral-mid-60)` | ## Inputs | Propriedade | Alias | Tipo | Opcional | Padrão | Descrição | |---|---|---|---|---|---| | `favoriteService` | `'p-favorite-service'` | `string` | sim | - | Permite definir uma URL no componente `po-breadcrumb` para favoritar ou desfavoritar. | | `items` | `'p-items'` | `PoBreadcrumbItem[]` | não | - | Lista de itens do _breadcrumb_. | | `paramsService` | `'p-params-service'` | `object` | sim | - | Objeto que possibilita o envio de parâmetros adicionais à requisição. | | `size` | `'p-size'` | `string` | sim | `medium` | Define o tamanho do componente entre `small` ou `medium`. | --- # PoButtonComponent **Seletor:** `po-button` **Tipo:** Componente / Diretiva **Pacote:** `@po-ui/ng-components` **Referência:** https://po-ui.io/documentation/po-button O `po-button` permite que o usuário execute ações predefinidas pelo desenvolvedor. Através dos tipos, é possível identificar a importância de cada ação. #### Boas práticas - Evite `labels` extensos que quebram o layout do `po-button`, use `labels` diretos, curtos e intuitivos. - Utilize apenas um `po-button` configurado como `primary` por página. - Para ações irreversíveis use sempre a propriedade `p-danger`. #### Acessibilidade tratada no componente Algumas diretrizes de acessibilidade já são tratadas no componente, internamente, e não podem ser alteradas pelo proprietário do conteúdo. São elas: - Quando em foco, o botão é ativado usando as teclas de Espaço e Enter do teclado. [W3C WAI-ARIA 3.5 Button - Keyboard Interaction](https://www.w3.org/WAI/ARIA/apg/#keyboard-interaction-3) - A área do foco precisar ter uma espessura de pelo menos 2 pixels CSS e o foco não pode ficar escondido por outros elementos da tela. [WCAG 2.4.12: Focus Appearance](https://www.w3.org/WAI/WCAG22/Understanding/focus-appearance-enhanced) #### Tokens customizáveis É possível alterar o estilo do componente usando os seguintes tokens (CSS): > Para maiores informações, acesse o guia [Personalizando o Tema Padrão com Tokens CSS](https://po-ui.io/guides/theme-customization). | Propriedade | Descrição | Valor Padrão | |------------------------------------------|-------------------------------------------------------|---------------------------------------------------| | `--font-family` | Família tipográfica usada | `var(--font-family-theme)` | | `--font-size` | Tamanho da fonte | `var(--font-size-default)` | | `--font-weight` | Peso da fonte | `var(--font-weight-bold)` | | `--line-height` | Tamanho da label | `var(--line-height-none)` | | `--border-radius` | Contém o valor do raio dos cantos do elemento | `var(--border-radius-md)` | | `--border-width` | Contém o valor da largura dos cantos do elemento | `var(--border-width-md)` | | `--padding` | Preenchimento | `0 1em` | | --- | | **Danger** | | | | `--text-color-danger` | Cor do texto no estado danger | `var(--color-neutral-light-00)` | | `--color-button-danger` | Cor do botão no estado danger | `var(--color-feedback-negative-dark)` | | `--color-danger-hover` | Cor de hover no estado danger | `var(--color-feedback-negative-darker)` | | `--color-danger-pressed` | Cor pressionada no estado danger | `var(--color-feedback-negative-darkest)` | | `--background-danger-hover` | Cor de background de hover no estado danger | `var(--color-feedback-negative-lighter)` | | `--border-color-danger-hover` | Cor da borda de hover no estado danger | `var(--color-feedback-negative-darkest)` | | `--background-danger-pressed` | Cor de background pressionado no estado danger | `var(--color-feedback-negative-light)` | | `--background-color-button-danger` | Cor de background do botão no estado danger | `var(--color-transparent)` | | **Default Values** | | | | `--text-color` | Cor do texto | `var(--color-neutral-light-00)` | | `--color` | Cor principal do botão | `var(--color-action-default)` | | `--background-color` | Cor de background | `var(--color-transparent)` | | `--border-color` | Cor da borda | `var(--color-transparent)` | | `--shadow` | Contém o valor da sombra do elemento | `var(--shadow-none)` | | **Hover** | | | | `--color-hover` | Cor principal no estado hover | `var(--color-action-hover)` | | `--background-hover` | Cor de background no estado hover | `var(--color-brand-01-lighter)` | | `--border-color-hover` | Cor da borda no estado hover | `var(--color-brand-01-darkest)` | | **Focused** | | | | `--outline-color-focused` | Cor do outline do estado de focus | `var(--color-action-focus)` | | **Pressed** | | | | `--color-pressed` | Cor principal no estado de pressionado | `var(--color-action-pressed)` | | `--background-pressed` | Cor de background no estado de pressionado | `var(--color-brand-01-light)` | | **Disabled** | | | | `--text-color-disabled` | Cor do texto no estado disabled | `var(--color-neutral-dark-70)` | | `--color-disabled` | Cor principal no estado disabled | `var(--color-action-disabled)` | | `--background-color-disabled` | Cor de background no estado disabled | `var(--color-transparent)` | ## Inputs | Propriedade | Alias | Tipo | Opcional | Padrão | Descrição | |---|---|---|---|---|---| | `ariaLabel` | `p-aria-label` | `string` | sim | - | Define um `aria-label` para o `po-button`. | | `danger` | `'p-danger'` | `boolean` | sim | - | Deve ser usado em ações irreversíveis que o usuário precisa ter cuidado ao executá-la, como a exclusão de um registro. | | `disabled` | `'p-disabled'` | `boolean` | sim | `false` | Desabilita o `po-button` e não permite que o usuário interaja com o mesmo. | | `icon` | `p-icon` | `string | TemplateRef` | sim | - | Ícone exibido ao lado esquerdo do label do botão. | | `kind` | `'p-kind'` | `string` | sim | `secondary` | Define o estilo visual do componente conforme valores especificados no enum `PoButtonKind`: | | `label` | `p-label` | `string` | sim | - | Label do botão. | | `loading` | `'p-loading'` | `boolean` | sim | `false` | Exibe um ícone de carregamento à esquerda do _label_ do botão. | | `size` | `'p-size'` | `string` | sim | `medium` | Define o tamanho do componente: | | `tabindex` | `'p-tabindex'` | `number | string` | sim | - | Define o `tabindex` do elemento `