type DividerOrientation = 'horizontal' | 'vertical'; type DividerThickness = 'small' | 'medium' | 'large'; type DividerBorderStyle = 'dashed' | 'solid'; type DividerAlign = 'start' | 'center' | 'end'; /** * ## 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/divider?tab=designer). * * @slot default - Slot opcional para conteúdo dentro do divisor (texto, ícones ou elementos personalizados). */ export declare class Divider { el: HTMLBrDividerElement; /** * ID personalizado para o elemento, útil para acessibilidade e identificação única. * Se não for fornecido, um ID único será gerado automaticamente. */ readonly customId: string; /** * Orientação do divisor.Em modo vertical, posicione dentro de um container com `display: flex`. */ orientation: DividerOrientation; /** * Espessura visual do divisor. */ thickness: DividerThickness; /** * Estilo de borda do divisor. */ borderStyle: DividerBorderStyle; /** * Ativa variante de alto contraste para fundos escuros. */ isDarkMode: boolean; /** * 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. */ 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. */ marginTop: number; /** * Margin bottom em pixels; se omitido, aplica padrão interno. */ marginBottom: number; /** * Margin left em pixels; se omitido, aplica padrão interno. */ marginLeft: number; /** * Margin right em pixels; se omitido, aplica padrão interno. */ marginRight: number; /** * 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 após o componente ser renderizado no DOM. */ componentDidLoad(): void; /** * Ciclo de vida do componente. * Chamado quando o componente é desconectado do DOM. */ disconnectedCallback(): 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; /** * 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; } export {};