import { ChangeDetectorRef, DoCheck, EventEmitter, IterableDiffers } from '@angular/core'; import { PoLanguageService } from '../../services/po-language/po-language.service'; import { PoDisclaimer } from '../po-disclaimer/po-disclaimer.interface'; export declare const poDisclaimerGroupLiteralsDefault: { en: { removeAll: string; }; es: { removeAll: string; }; pt: { removeAll: string; }; ru: { removeAll: string; }; }; /** * @description * * O componente `po-disclaimer-group` é recomendado para manipular palavras-chave de filtros aplicados em uma pesquisa. * * À partir de dois *disclaimers* com o botão **fechar** habilitado, o componente renderiza de forma automática um novo e destacado * *disclaimer* que possibilita **remover todos**, mas que também pode ser desabilitado. * * Também é possível navegar entre os *disclaimers* através do teclado utilizando a tecla *tab* e, para remoção do *disclaimer* selecionado, * basta pressionar a tecla *enter*. Esta funcionalidade não se aplica caso a propriedade `hideClose` estiver habilitada. * * > Veja a integração destas funcionalidade no componente [po-page-list](/documentation/po-page-list). */ export declare class PoDisclaimerGroupBaseComponent implements DoCheck { protected changeDetector: ChangeDetectorRef; /** Título do grupo de *disclaimers*. */ title?: string; /** * @optional * * @description * * Função que será disparada quando a lista de *disclaimers* for modificada. */ change: EventEmitter; /** * @optional * * @description * * Função que será disparada quando um *disclaimer* for removido da lista de *disclaimers* pelo usuário. * * Recebe como parâmetro um objeto conforme a interface `PoDisclaimerGroupRemoveAction`. */ remove: EventEmitter; /** * @optional * * @description * * Função que será disparada quando todos os *disclaimers* forem removidos da lista de *disclaimers* pelo usuário, * utilizando o botão "remover todos". * * Recebe como parâmetro uma lista contendo todos os `disclaimers` removidos. */ removeAll: EventEmitter; literals: any; private _disclaimers; private _hideRemoveAll; private readonly differ; private previousDisclaimers; /** Lista de *disclaimers*. */ /** * @description * * Lista de *disclaimers*. * * Para que a lista de *disclaimers* seja atualizada dinamicamente deve-se passar uma nova referência do array de `PoDisclaimer`. * * Exemplo adicionando um *disclaimer* no array: * * ``` * this.disclaimers = [...this.disclaimers, disclaimer]; * ``` * * ou * * ``` * this.disclaimers = this.disclaimers.concat(disclaimer); * ``` */ set disclaimers(value: Array); get disclaimers(): Array; /** * @optional * * @description * * Oculta o botão para remover todos os *disclaimers* do grupo. * * > Por padrão, o mesmo é exibido à partir de dois ou mais *disclaimers* com a opção `hideClose` habilitada. * * @default `false` */ set hideRemoveAll(value: boolean); get hideRemoveAll(): boolean; constructor(differs: IterableDiffers, languageService: PoLanguageService, changeDetector: ChangeDetectorRef); ngDoCheck(): void; isRemoveAll(): boolean; onKeyPress(event: any): void; removeAllItems(): void; protected removeDisclaimer(disclaimer: any): void; protected emitChangeDisclaimers(): void; private checkChanges; private checkDisclaimers; private disclaimersAreChanged; }