import type { DividerAlign, DividerBorderStyle, DividerOrientation, DividerThickness } from './divider.types'; /** * O `br-divider` é uma linha que separa seções ou grupos de conteúdo. Pode ser horizontal ou vertical e ter um texto no meio. * * ```html * * * ou * * * ``` * * ### Quando usar * * - Marcar o fim de um bloco e o início de outro. * - Separar alternativas, como "Entrar com gov.br" ou "Entrar com certificado digital". * * ### Quando evitar * * - Quando o espaço em branco já separa bem o conteúdo. * * Consulte as [diretrizes de design do GovBR](https://www.gov.br/ds/components/divider?tab=designer). * * @category Layout, Estrutura * @status stable * @slot default - Slot opcional para conteúdo dentro do divisor (texto, ícones ou elementos personalizados). * * @part divider - Elemento principal do divisor. * @part content - Conteúdo do divisor (quando há slot). */ export declare class Divider { el: HTMLBrDividerElement; private hasContent; /** * Identificador único do componente. * Quando omitido, um valor é gerado automaticamente. * * > **Padrão:** valor único gerado por generateUniqueId(). * */ customId: string; /** * Orientação do divisor. Em modo vertical, posicione dentro de um container com `display: flex`. Valores inválidos usam `horizontal`. */ orientation: DividerOrientation; /** * Espessura visual do divisor. Valores inválidos usam `small`. */ thickness: DividerThickness; /** * Estilo de borda do divisor. Valores inválidos usam `solid`. */ borderStyle: DividerBorderStyle; /** * Ativa variante de alto contraste para fundos escuros. * * @deprecated Use `colorMode`. */ isDarkMode: boolean; /** Esquema de cor padrão. Quando informado, tem precedência sobre `isDarkMode`; valores inválidos usam `light`. */ colorMode?: 'light' | 'dark'; /** * Cor do divisor. * Aceita os seguintes formatos de cor: * - Cores nomeadas do CSS: 'red', 'blue', 'green', 'yellow', etc. * - Códigos hexadecimais: '#ff0000', '#00ff00', '#0000ff', etc. * - Valores RGB: 'rgb(255, 0, 0)', 'rgb(0, 255, 0)', etc. * - Valores RGBA: 'rgba(255, 0, 0, 0.5)', 'rgba(0, 255, 0, 0.8)', etc. * - Valores HSL: 'hsl(0, 100%, 50%)', 'hsl(120, 100%, 50%)', etc. * - Valores HSLA: 'hsla(0, 100%, 50%, 0.5)', 'hsla(240, 100%, 50%, 0.7)', etc. * Se não definida, usa a cor padrão do tema. */ color: string; /** * Alinhamento do conteúdo quando há slot interno. Valores inválidos são ignorados. */ align: DividerAlign; /** * Faz o divisor ocupar toda a largura do container, compensando paddings laterais. */ bleed: boolean; /** * Margin top em pixels; se omitido, aplica padrão interno. * Deve ser um número finito; valores inválidos usam 0. */ marginTop: number; /** * Margin bottom em pixels; se omitido, aplica padrão interno. * Deve ser um número finito; valores inválidos usam 0. */ marginBottom: number; /** * Margin left em pixels; se omitido, aplica padrão interno. * Deve ser um número finito; valores inválidos usam 0. */ marginLeft: number; /** * Margin right em pixels; se omitido, aplica padrão interno. * Deve ser um número finito; valores inválidos usam 0. */ marginRight: number; private get effectiveMarginTop(); private get effectiveMarginBottom(); private get effectiveMarginLeft(); private get effectiveMarginRight(); private readonly handleResize; /** * Watcher para a cor do divisor. * Atualiza a propriedade CSS '--border-color' do elemento para refletir a cor definida. * Isso permite que o divisor use cores personalizadas sem precisar de estilos adicionais. */ updateColor(): void; /** * Watcher para as propriedades de margin. * Atualiza as propriedades CSS customizáveis do elemento para refletir os margins definidos. */ updateMargins(): void; /** * Ciclo de vida do componente. * Chamado quando o componente é conectado ao DOM. */ connectedCallback(): void; /** * Ciclo de vida do componente. * Chamado quando o componente é desconectado do DOM. */ disconnectedCallback(): void; /** * Ciclo de vida do componente. * Chamado após o componente ser renderizado no DOM. */ componentDidLoad(): void; /** * Configura o divisor para sangrar (bleed) nas laterais. */ private setBleed; /** * Remove o sangramento (bleed) do divisor. */ private unsetBleed; /** * Verifica se o divisor tem conteúdo no slot padrão. * @returns true se o divisor tiver conteúdo no slot padrão, false caso contrário. */ private hasDefaultSlotContent; /** * Determina o paddingLeft e paddingRight do elemento pai do host. * @returns Um objeto contendo os valores de paddingLeft e paddingRight do elemento pai do host. */ private getHostParentPadding; /** * Aplica margens negativas no elemento raiz do divisor para compensar o padding do elemento pai. * Isso é necessário quando o divisor está configurado para sangrar (bleed). * IMPORTANTE: Preserva as variáveis CSS customizadas de margin. */ private applyMarginOnRootElement; /** * Define as classes CSS que serão aplicadas ao divisor. * @returns Uma string contendo as classes CSS que serão aplicadas ao divisor. */ private getCssClassMap; private get effectiveOrientation(); private get effectiveThickness(); private get effectiveBorderStyle(); private get effectiveColorMode(); private get effectiveAlign(); /** * Renderiza o divisor quando há conteúdo no slot padrão. * @returns JSX.Element */ private renderDefaultSlotDivider; /** * Renderiza o divisor quando não há conteúdo no slot padrão. * @returns JSX.Element */ private renderStandardDivider; render(): any; }