interface BreadcrumbItem { label: string; url?: string; target?: '_blank' | '_self' | '_parent' | '_top'; home?: boolean; active?: boolean; } /** * ## Design System * * Para a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/breadcrumb?tab=designer). */ export declare class Breadcrumb { el: HTMLBrBreadcrumbElement; /** * Identificador único; gerado automaticamente quando omitido. */ readonly customId: string; /** * Caso não seja fornecido, o valor padrão será /. */ homeUrl: string; /** * Define o array de objetos que receberá os nomes e links do breadcrumb. * Define valor padrão do breadcrumb 'defaultCrumbs'. */ crumbs: string | BreadcrumbItem[]; innerCrumbs: BreadcrumbItem[]; private slotElement; private hasLoaded; handleCrumbPropsChange(): void; private normalizeTarget; private registerCrumbItems; private defaultCrumbs; /** * Define o estado oculto ou visível do tooltip. */ showTooltip: boolean; /** * Define o posicionamento do tooltip na tela. */ tooltipText: string; private floatingManager?; private hoveredElement?; private tooltipElement?; private tooltipArrowElement?; /** * Define o estado isSmallScreen, usado para verificar a largura do container pai e aplicar as mudanças do formato mobile. * No formato mobile o breadcrumb apresenta um comportamento específico. */ isSmallScreen: boolean; /** * Define se o breadcrumb deve truncar os itens por falta de espaço. */ isTruncate: boolean; /** * Largura interna dos itens do breadcrumb. */ contentWidth: number; /** * Largura do container pai do breadcrumb. */ parentWidth: number; /** * Define o estado do botão 'Folder'. * Caso a lista dropdown esteja oculta o ícone no botão será 'folder-plus'. * Caso a lista dropdown esteja visível o ícone no botão será 'folder-minus'. */ isFolderOpen: boolean; /** * Verifica se o texto do link contém mais de 20 caracteres e realiza o truncamento deste caso positivo. * O número de caracteres pode ser configurado na variável 'truncateCharactersLimit'. */ private truncateText; private isTruncatedLabel; /** * Exibe o tooltip e define seu posicionamento, caso o usuário realize o 'mouse over'. */ private handleMouseOver; /** * Esconde o tooltip caso o usuário realize o 'mouse out'. */ private handleMouseOut; private positionTooltip; private cleanupTooltipPosition; /** * Converte de string para JSON o valor passado na propriedade 'crumbs'. * Retorna o valor padrão do Breadcrumbs caso crumbs seja vazio ou inválido */ private getParsedItems; /** * Ao clicar no botão HOME, direciona o usuário para URL passada na propriedade 'homeUrl'. */ private handleHomeClick; /** * Altera o estado do botão 'Folder', caso a lista dropdown esteja aberta ou fechada. */ private toggleFolder; /** * Define as classes CSS usadas no breadcrumb. */ private getCssClassMap; /** * Atualiza o estado 'isSmallScreen' com base no tamanho do container pai, se menor que 570px. */ private resizeObserver; /** * Atualiza os estados de largura do breadcrumb ao detectar mudanças no container pai. */ private updateContainerSize; /** * Adiciona o 'resizeObserver' para checar o tamanho do container pai. */ connectedCallback(): void; /** * Remove o 'resizeObserver'. */ disconnectedCallback(): void; /** * Calcula a largura total dos itens do breadcrumb para determinar se precisa de truncamento. */ private calculateItemsWidth; /** * Executa cálculos de largura após o componente ser carregado. */ componentWillLoad(): void; componentDidLoad(): void; /** * Renderiza botão Home */ private renderHomeButton; /** * Renderiza botão Folder no comportamento truncado */ private renderTruncateButton; /** * Renderiza itens do Breadcrumb no comportamento mobile ou truncado */ private renderBreadcrumbItems; /** * Renderiza item da página atual */ private renderMobileActiveItem; /** * Renderiza lista dropdown contendo os itens do Breadcrumb */ private renderBreadcrumbList; /** * Renderiza itens do Breadcrumb no formato desktop */ private renderBreadcrumbLink; /** * Renderiza Tooltip */ private renderTooltip; /** * Controla navegação pelo teclado após lista de itens aberta * Dispara foco no primeiro item da lista flutuante */ private handleKeyDown; /** * Ao finalizar navegação por teclado dentro da lista, dispara foco no item fora da lista flutuante */ private handleKeyDownOut; render(): any; } export {};