import { type EventEmitter } from '../../stencil-public-runtime'; import type { CollapseChangeDetail, CollapseColorMode, CollapseExpansionDirection, CollapseIconPosition, CollapseTriggerVariant } from './collapse.types'; /** * O `br-collapse` mostra e esconde um bloco de conteúdo ao clicar no título. Funciona como um `
`. * * ```html * * Quem pode solicitar? *

Qualquer pessoa com CPF regular.

*
* ``` * * Use `open` para começar aberto. Para que só um item fique aberto por vez (sanfona), dê o mesmo `accordion-group` a todos: * * ```html * … * … * ``` * * Os ícones de abrir e fechar podem ser trocados por `icon-to-show` e `icon-to-hide`, como propriedade ou como slot. * * ### Quando usar * * - Perguntas frequentes e conteúdos longos divididos em tópicos. * - Seções opcionais de um formulário longo. * * ### Quando evitar * * - Informação essencial, que precisa ficar sempre visível. * - Alternar entre visões diferentes da mesma tela: use `br-tab`. * * Consulte as [diretrizes de design do GovBR](https://www.gov.br/ds/components/collapse?tab=designer). * * @category Conteúdo, Ações * @status stable * @see br-list * @slot default - Slot para o conteúdo expansível exibido ao abrir o collapse. * @slot trigger - Slot para personalizar o acionador (texto, ícones, imagens, etc.). * @slot icon-to-show - Ícone exibido quando o conteúdo está oculto (ex.: ``). Forma preferida para ícones por classe CSS; tem precedência sobre a prop `iconToShow`. * @slot icon-to-hide - Ícone exibido quando o conteúdo está visível. Forma preferida para ícones por classe CSS; tem precedência sobre a prop `iconToHide`. * * @part details - Elemento details nativo do collapse. * @part trigger - Acionador (summary) do collapse. * @part content - Área de conteúdo expansível. */ export declare class Collapse { private itemCount; private suppressNextCustomEvent; /** * Referência ao elemento host do componente. * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente. */ el: HTMLBrCollapseElement; /** * Identificador único do componente. * Quando omitido, um valor é gerado automaticamente. * * > **Padrão:** valor único gerado por generateUniqueId(). * */ customId: string; /** * Controla se o collapse está aberto. */ open: boolean; /** * Indica se o componente possui um divisor (divider) inferior. */ divider: boolean; /** * Identifica o grupo de accordion; quando informado, mantém apenas um item aberto por vez entre os irmãos * do mesmo pai imediato. */ accordionGroup?: string; /** * Identificador Iconify do ícone exibido quando o conteúdo está oculto. O valor padrão usa o registro SVG local. * Para ícones por classe CSS, use o slot `icon-to-show`. */ iconToShow: string; /** * Identificador Iconify do ícone exibido quando o conteúdo está visível. O valor padrão usa o registro SVG local. * Para ícones por classe CSS, use o slot `icon-to-hide`. */ iconToHide: string; /** * Define a posição do ícone no acionador: 'left' ou 'right'. */ iconPosition: CollapseIconPosition; /** * Controla se o identificador visual de expansão/retração será renderizado. * @default true */ useIcons: boolean; /** * Direção em que o conteúdo é expandido e para a qual o ícone aponta. * @default 'down' */ expansionDirection: CollapseExpansionDirection; /** Tema visual do Collapse/Accordion. * @default 'light' */ colorMode: CollapseColorMode; /** Forma visual do acionador sem alterar sua semântica nativa. * @default 'surface' */ triggerVariant: CollapseTriggerVariant; private get effectiveColorMode(); private get effectiveExpansionDirection(); private get effectiveIconPosition(); private get effectiveTriggerVariant(); /** * Emitido ao expandir, com o identificador e o grupo de accordion. */ /** @deprecated Use `brCollapseOpen`. */ brDidOpen: EventEmitter; /** Evento emitido ao expandir. */ brCollapseOpen: EventEmitter; /** * Emitido ao recolher, com o identificador e o grupo de accordion. */ /** @deprecated Use `brCollapseClose`. */ brDidClose: EventEmitter; /** Evento emitido ao recolher. */ brCollapseClose: EventEmitter; /** * Remove o listener do
ao desmontar o componente. */ disconnectedCallback(): void; /** * Ajusta o estado inicial do
para refletir o valor de open. */ componentWillLoad(): void; componentDidLoad(): void; private updateItemCount; /** * Abre o collapse programaticamente. * @deprecated Atualize a propriedade `open`. */ openCollapse(): Promise; /** * Fecha o collapse programaticamente. * @deprecated Atualize a propriedade `open`. */ closeCollapse(): Promise; /** * Alterna o estado aberto. * O elemento também redispara o evento nativo `toggle` no host; essa ocorrência é sintética (`isTrusted === false`). */ toggle(): Promise; /** * Mantém o estado do
alinhado com a prop open. */ private syncDetailsWithOpen; /** * Atualiza estado e emite eventos quando o
abre ou fecha. */ private handleCollapse; private emitOpen; private emitClose; /** * Fecha outros collapses abertos no mesmo accordion, buscando apenas no pai imediato. */ private closeOthersInGroup; /** * Seleciona o ícone conforme o estado atual. */ private renderIcon; /** * Renderiza o
com acionador e conteúdo expansível. */ render(): any; }