{
  "$schema": "https://raw.githubusercontent.com/microsoft/vscode-html-languageservice/main/docs/customData.schema.json",
  "version": 1.1,
  "tags": [
    {
      "name": "br-avatar",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/avatar?tab=designer).\n---\n\n\n### **Methods:**\n - **handleDensityChange(newValue: _AvatarDensity_)** - Observa mudanças na propriedade density para validação e sincronização com atributo DOM.\nGarante que apenas valores válidos sejam aceitos e atualiza o atributo no elemento host.\n- **setFocus()** - Move o foco programaticamente para o avatar.\n\n### **Slots:**\n - **status** - Conteúdo customizado para o indicador de status. Quando usado, substitui a tag padrão.\n\n### **CSS Parts:**\n - **container** - Elemento externo do avatar.\n- **content** - Conteúdo interno do avatar (imagem, ícone ou texto).\n- **status** - Indicador de status posicionado sobre o avatar.",
      "attributes": [
        {
          "name": "density",
          "description": "Define a densidade visual do componente.\n\n- `small`: Alta densidade (componente menor, mais compacto e com menos espaçamento).\n- `medium`: Densidade intermediária, padrão recomendado para a maioria dos casos.\n- `large`: Baixa densidade (componente maior, mais espaçamento e altura).",
          "values": [{ "name": "AvatarDensity" }]
        },
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "src",
          "description": "URL da imagem a ser exibida no avatar do tipo 'fotográfico'.\nDeve ser uma URL válida que aponta para a imagem desejada.",
          "values": []
        },
        {
          "name": "alt",
          "description": "Texto alternativo (alt) associado à imagem do avatar. Essencial para acessibilidade.\nDeve descrever de forma clara e concisa o conteúdo da imagem, por exemplo: \"Foto de perfil de João Silva\".",
          "values": []
        },
        {
          "name": "is-iconic",
          "description": "Força a exibição do ícone padrão, sobrescreve outras opções (texto ou imagem).\nÚtil para manter consistência visual ou quando se deseja um avatar neutro independente do conteúdo disponível.",
          "values": []
        },
        {
          "name": "iconic",
          "description": "Exibe a variação icônica. Quando informada, tem precedência sobre `isIconic`.",
          "values": []
        },
        {
          "name": "text",
          "description": "Conteúdo textual do avatar.\nApenas o primeiro caractere será exibido em maiúscula.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Desabilita a interação com o componente.",
          "values": []
        },
        {
          "name": "bg-color",
          "description": "Permite definir a cor de fundo do componente.\nAceita os seguintes formatos de cor:\n- Cores nomeadas do CSS: 'red', 'blue', 'green', 'yellow', etc.\n- Códigos hexadecimais: '#ff0000', '#00ff00', '#0000ff', etc.\n- Valores RGB: 'rgb(255, 0, 0)', 'rgb(0, 255, 0)', etc.\n- Valores RGBA: 'rgba(255, 0, 0, 0.5)', 'rgba(0, 255, 0, 0.8)', etc.\n- Valores HSL: 'hsl(0, 100%, 50%)', 'hsl(120, 100%, 50%)', etc.\n- Valores HSLA: 'hsla(0, 100%, 50%, 0.5)', 'hsla(240, 100%, 50%, 0.7)', etc.\nSe não especificada, usa a cor padrão do tema.",
          "values": []
        },
        {
          "name": "status",
          "description": "Exibe um indicador de status no avatar.",
          "values": []
        },
        {
          "name": "status-bg-color",
          "description": "Cor de fundo do indicador de status padrão.",
          "values": []
        },
        {
          "name": "status-label",
          "description": "Rótulo acessível do indicador de status padrão.",
          "values": []
        },
        {
          "name": "status-size",
          "description": "Tamanho do indicador de status padrão.",
          "values": []
        },
        {
          "name": "status-position",
          "description": "Posição do indicador de status sobre o avatar.",
          "values": [{ "name": "AvatarStatusPosition" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-breadcrumb",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/breadcrumb?tab=designer).\n---\n\n\n### **Events:**\n - **brNavigate** - Evento cancelável emitido em `navigation-mode=\"event\"` para cliques primários sem modificadores em links `_self`.\nChame `event.preventDefault()` no listener para impedir a navegação nativa e entregar `event.detail.href` ao roteador da SPA.\n\n### **Slots:**\n - **default** - Itens de breadcrumb declarados via elementos br-crumb.\n\n### **CSS Parts:**\n - **nav** - Elemento nav do breadcrumb.\n- **list** - Lista ordenada de itens do breadcrumb.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "home-url",
          "description": "Caso não seja fornecido, o valor padrão será /.",
          "values": []
        },
        {
          "name": "home-href",
          "description": "URL canônica da página inicial. Quando informada, tem precedência sobre `homeUrl`.",
          "values": []
        },
        {
          "name": "crumbs",
          "description": "Define o array de objetos que receberá os nomes e links do breadcrumb.\nDefine valor padrão do breadcrumb 'defaultCrumbs'.",
          "values": [{ "name": "BreadcrumbItem[]" }]
        },
        {
          "name": "navigation-mode",
          "description": "Controla como os links do breadcrumb integram a navegação mantendo `href` real nos itens navegáveis.\n- `native` (padrão): preserva o comportamento do navegador, conforme HTML/W3C.\n- `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir.\nCliques com modificadores, botão do meio ou `target` diferente de `_self` permanecem nativos.",
          "values": [{ "name": "BrNavigationMode" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-breadcrumb-item",
      "description": "Item declarativo canônico de `br-breadcrumb`.\n---\n\n\n### **Events:**\n - **brCrumbPropsChange** - Protocolo compatível com o listener atual do breadcrumb.\n\n### **Slots:**\n - **default** - Conteúdo alternativo do rótulo.",
      "attributes": [
        { "name": "label", "description": "Rótulo do item.", "values": [] },
        { "name": "href", "description": "URL do item.", "values": [] },
        {
          "name": "target",
          "description": "Contexto de navegação.",
          "values": []
        },
        {
          "name": "home",
          "description": "Identifica o item inicial.",
          "values": []
        },
        {
          "name": "active",
          "description": "Identifica a página atual.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-crumb",
      "description": "@deprecated Use `br-breadcrumb-item`.\n\nPara a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/breadcrumb?tab=designer).\n---\n\n\n### **Events:**\n - **brCrumbPropsChange** - Evento disparado quando as propriedades do crumb mudam.\nO componente pai (br-breadcrumb) escuta este evento para se atualizar.\n\n### **Slots:**\n - **default** - Conteúdo alternativo do rótulo do item de navegação.",
      "attributes": [
        {
          "name": "label",
          "description": "Rótulo (texto) do crumb.",
          "values": []
        },
        {
          "name": "href",
          "description": "URL ou caminho para o qual o usuário será direcionado ao clicar no crumb.",
          "values": []
        },
        {
          "name": "target",
          "description": "Define o alvo do link quando `href` está presente. (ex: _blank, _self).",
          "values": []
        },
        {
          "name": "home",
          "description": "Define se o crumb é o item inicial (Home).",
          "values": []
        },
        {
          "name": "active",
          "description": "Define se o crumb é a página atual ativa no breadcrumb.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-button",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/button?tab=designer).\n---\n\n\n### **Slots:**\n - **default** - Slot para o rótulo ou conteúdo do botão.\n\n### **CSS Parts:**\n - **button** - Parte para o elemento button interno, usada para estilos customizados via ::part(button).",
      "attributes": [
        {
          "name": "color-mode",
          "description": "Define se o botão usará um esquema de cores escuro.",
          "values": [{ "name": "ButtonColorMode" }]
        },
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "density",
          "description": "Define a densidade visual do componente.\n\n- `small`: Alta densidade (componente menor, mais compacto e com menos espaçamento).\n- `medium`: Densidade intermediária, padrão recomendado para a maioria dos casos.\n- `large`: Baixa densidade (componente maior, mais espaçamento e altura).",
          "values": [{ "name": "ButtonDensity" }]
        },
        {
          "name": "disabled",
          "description": "Desabilita a interação com o componente.",
          "values": []
        },
        {
          "name": "emphasis",
          "description": "Define a ênfase do botão, alterando sua aparência para criar hierarquia visual e destacar ações importantes.",
          "values": [{ "name": "ButtonEmphasis" }]
        },
        {
          "name": "is-active",
          "description": "Indica se o botão está no estado ativo.\nSe definido como verdadeiro, o botão será exibido como ativo.",
          "values": []
        },
        {
          "name": "active",
          "description": "Estado ativo canônico. Quando informado, tem precedência sobre `isActive`.",
          "values": []
        },
        {
          "name": "is-loading",
          "description": "Aplica o estado de \"progresso\" ao botão.\nO botão exibirá um indicador de carregamento ou progresso.",
          "values": []
        },
        {
          "name": "loading",
          "description": "Estado de carregamento canônico. Quando informado, tem precedência sobre `isLoading`.",
          "values": []
        },
        {
          "name": "shape",
          "description": "Define o formato do botão.",
          "values": [{ "name": "ButtonShape" }]
        },
        {
          "name": "type",
          "description": "Define o tipo de botão, especificando seu comportamento padrão.",
          "values": [{ "name": "ButtonType" }]
        },
        {
          "name": "value",
          "description": "Define o valor inicial do botão em um formulário.",
          "values": []
        },
        {
          "name": "custom-tab-index",
          "description": "Define o índice de tabulação do botão.\nÚtil para remover o botão da sequência de tabulação (tabindex=\"-1\") quando ele é puramente decorativo ou o foco é gerenciado por um componente pai.",
          "values": []
        },
        {
          "name": "aria-label",
          "description": "Define o rótulo acessível usado por tecnologias assistivas.",
          "values": []
        },
        {
          "name": "aria-pressed",
          "description": "Define o estado de pressionado do botão.\nEste atributo é usado para indicar se o botão está atualmente pressionado ou não.\nÉ especialmente útil para botões que podem ser alternados entre os estados pressionado e não pressionado.\nO valor deve ser 'true' ou 'false'.",
          "values": []
        },
        {
          "name": "aria-expanded",
          "description": "Indica se um elemento controlado pelo botão está expandido ou recolhido.\nUse em botões que abrem menus, acordeões ou outros painéis expansíveis.\nO valor deve ser 'true' ou 'false'.",
          "values": []
        },
        {
          "name": "aria-controls",
          "description": "Referência ao ID do elemento que o botão controla.\nUse em conjunto com `ariaExpanded` para relacionar o botão ao painel que ele expande/recolhe.",
          "values": []
        },
        {
          "name": "aria-haspopup",
          "description": "Indica que o botão abre um menu, listbox, tree, grid ou dialog.\nOs valores permitidos são: 'true', 'menu', 'listbox', 'tree', 'grid' ou 'dialog'.",
          "values": [{ "name": "AriaHasPopup" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-card",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/card?tab=designer).\n---\n\n\n### **Slots:**\n - **default** - Slot para conteúdo livre do card, quando não usar a estrutura de slots nomeados.\n- **media** - Slot para conteúdo de mídia exibido antes do cabeçalho.\n- **header** - Slot para o conteúdo do cabeçalho do card.\n- **content** - Slot para o corpo principal do card ao usar a estrutura de slots.\n- **footer** - Slot para o conteúdo do rodapé do card.\n\n### **CSS Parts:**\n - **wrapper** - Área principal do card.\n- **media** - Área de mídia do card.\n- **header** - Área do cabeçalho.\n- **content** - Área do conteúdo principal.\n- **footer** - Área do rodapé.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Desabilita a interação com o componente.",
          "values": []
        },
        {
          "name": "hover",
          "description": "Define se o card tem hover interativo.\nQuando true, o card terá efeitos visuais ao passar o mouse.",
          "values": []
        },
        {
          "name": "interactive",
          "description": "Habilita indicação visual de interatividade. Quando informada, tem precedência sobre `hover`.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-carousel",
      "description": "## Design System\n\nPara 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/carousel?tab=designer).\n---\n\n\n### **Events:**\n - **brDidPageChange** - Emitido quando o slide ativo muda.\nDisparado por clique nos botões de navegação, clique no indicador de step,\ngesto swipe (apenas em mobile, breakpoint < 576px) ou avanço automático.\n`activePage` é 1-based: o primeiro slide emite `1`, o segundo `2`, e assim por diante.\n- **brCarouselPageChange** - Evento canônico emitido quando o slide ativo muda.\n- **brDidAutoPlayStart** - Emitido quando a reprodução automática é iniciada ou retomada.\n- **brCarouselAutoplayStart** - Evento canônico emitido quando a reprodução automática começa.\n- **brDidAutoPlayPause** - Emitido quando a reprodução automática é pausada.\n- **brCarouselAutoplayPause** - Evento canônico emitido quando a reprodução automática é pausada.\n\n### **Methods:**\n - **onTablistKeydown(e: _KeyboardEvent_)** - Navegação por teclado para o modo tablist (`indicatorType=\"simple\"`).\n\nO W3C APG Carousel Pattern especifica que, quando os controles de seleção de slide\nsão implementados como tabs, a interação de teclado segue o\nhttps://www.w3.org/WAI/ARIA/apg/patterns/tabs/ Tabs Pattern (W3C APG).\nEsse padrão define o comportamento de roving tabindex com as teclas:\n- `ArrowLeft` / `ArrowRight` (ou `ArrowUp` / `ArrowDown`): move o foco entre as tabs.\n- `Home`: move o foco para a primeira tab.\n- `End`: move o foco para a última tab.\n\nO handler está no `br-carousel` (e não no `br-step`) porque a lógica de\n`effectiveCircular` é uma responsabilidade do carrossel, mantendo uma única\nfonte de verdade para a navegação circular.\n\nO evento `keydown` é composto (`composed: true`), portanto borbulha através do\nshadow DOM do `br-step-item` até o host do `br-carousel`.\n- **nextPage(): _Promise<void>_** - Avança para o próximo slide. Respeita a prop `isCircular` (ou ativo automaticamente com `autoPlay`).\n- **previousPage(): _Promise<void>_** - Retorna ao slide anterior. Respeita a prop `isCircular` (ou ativo automaticamente com `autoPlay`).\n- **goToPage(index: _number_): _Promise<void>_** - Navega para o slide de número `index` (1 = primeiro slide, 2 = segundo, …).\nValores fora do intervalo válido são ignorados.\n- **getActivePage(): _Promise<number>_** - Retorna o número do slide atualmente ativo (1 = primeiro slide, 2 = segundo, …).\n- **play(): _Promise<void>_** - Inicia ou retoma a reprodução automática programaticamente.\n- **pause(): _Promise<void>_** - Pausa a reprodução automática programaticamente.\n- **getIsPlaying(): _Promise<boolean>_** - Retorna `true` se a reprodução automática está ativa no momento.\n\n### **Slots:**\n - **default** - Slot para os slides do carrossel. Aceita exclusivamente elementos `br-carousel-page`.\n\n### **CSS Parts:**\n - **container** - Elemento raiz do carrossel. Recebe `role=\"region\"` e `aria-roledescription=\"carousel\"`.\n- **stage** - Área do palco que contém os slides. Recebe `aria-live` e `aria-atomic`.\n- **nav-prev** - Wrapper do botão de navegação para o slide anterior.\n- **nav-next** - Wrapper do botão de navegação para o próximo slide.\n- **indicator** - Wrapper do indicador de páginas. - Quando `indicatorType=\"simple\"`: renderiza `br-step` em `mode=\"tablist\"`. - Quando `indicatorType=\"textual\"`: renderiza um `span[aria-live]` com \"X/N\".\n- **play-button** - Wrapper do botão de play/pause. Presente apenas quando `autoPlay=true`.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "aria-label",
          "description": "Rótulo acessível do carrossel.\nNão deve conter a palavra \"carrossel\" (W3C APG).\nAtribuído ao `aria-label` do container raiz.",
          "values": []
        },
        {
          "name": "nav-position",
          "description": "Posição dos botões de navegação (prev/next) em relação ao palco.\n- `outside`: botões ficam nas laterais externas ao palco.\n- `inside`: botões ficam sobrepostos dentro do palco, ocupando toda a altura.",
          "values": [{ "name": "CarouselNavPosition" }]
        },
        {
          "name": "indicator-type",
          "description": "Define o tipo de indicador de páginas renderizado.\n- `simple`: dots usando `br-step` em modo controller.\n- `textual`: texto \"X/N\" com `aria-live`.\n- `none`: sem indicador.",
          "values": [{ "name": "CarouselIndicatorType" }]
        },
        {
          "name": "indicator-position",
          "description": "Posição do indicador de páginas em relação ao palco.\nIgnorada quando `indicatorType=\"none\"`.\n- `outside`: indicador fica abaixo do palco.\n- `inside`: indicador fica sobreposto ao conteúdo.",
          "values": [{ "name": "CarouselIndicatorPosition" }]
        },
        {
          "name": "is-circular",
          "description": "Habilita a navegação circular entre os slides.\nQuando true, os botões \"Anterior\" e \"Próximo\" permanecem sempre habilitados: avançar a partir do último slide retorna ao primeiro, e retroceder a partir do primeiro leva ao último.\nSe autoPlay estiver ativado, o comportamento circular será aplicado automaticamente, independentemente deste valor.",
          "values": []
        },
        {
          "name": "circular",
          "description": "Habilita navegação circular. Quando informada, tem precedência sobre `isCircular`.",
          "values": []
        },
        {
          "name": "auto-play",
          "description": "Habilita reprodução automática.\nPausa em hover e foco (W3C). Ativa o loop circular automaticamente.\nNão recomendado em dispositivos móveis.",
          "values": []
        },
        {
          "name": "autoplay",
          "description": "Habilita reprodução automática. Quando informada, tem precedência sobre `autoPlay`.",
          "values": []
        },
        {
          "name": "interval",
          "description": "Intervalo em milissegundos entre cada avanço automático.\nSó tem efeito quando `autoPlay=true`.",
          "values": []
        },
        {
          "name": "direction",
          "description": "Direção de navegação automática do carrossel.\n- `left`: retrocede (vai para o slide anterior).\n- `right`: avança (vai para o próximo slide).\nSó tem efeito quando `autoPlay=true`.",
          "values": [{ "name": "CarouselDirection" }]
        },
        {
          "name": "color-mode",
          "description": "Aplica esquema de cores escuro ao componente.",
          "values": [{ "name": "CarouselColorMode" }]
        },
        {
          "name": "mobile-nav",
          "description": "Exibe botões de navegação em dispositivos móveis.\nPor padrão os botões são ocultados no breakpoint `sm`.",
          "values": []
        },
        {
          "name": "min-height",
          "description": "Altura mínima do palco do carrossel.\nAceita qualquer valor CSS válido para `min-height` (ex.: `400px`, `50vh`).",
          "values": []
        },
        {
          "name": "height",
          "description": "Altura do carrossel.\nAceita qualquer valor CSS válido para `height` (ex.: `400px`, `50vh`).",
          "values": []
        },
        {
          "name": "max-width",
          "description": "Largura máxima do carrossel.\nQuando definido, o componente é centralizado horizontalmente.\nAceita qualquer valor CSS válido para `max-width` (ex.: `800px`, `64rem`).",
          "values": []
        },
        {
          "name": "image-fit",
          "description": "Ajuste aplicado a imagens filhas diretas de `br-carousel-page`.",
          "values": [{ "name": "CarouselImageFit" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-carousel-page",
      "description": "## Design System\n\nSubcomponente do `br-carousel`. Representa um slide individual dentro do carrossel.\nDeve ser usado exclusivamente como filho direto de `br-carousel`.\n\nPara a documentação completa de design, consulte o [Design System do GovBR](https://www.gov.br/ds/components/carousel?tab=designer).\n---\n\n\n### **Methods:**\n - **setLabel(defaultLabel: _string_): _Promise<void>_** - Define o label acessível (`aria-label`) do slide.\n\nChamado pelo `br-carousel` pai para aplicar o label gerado automaticamente\ncom base na posição do slide (ex: `\"Slide 1 de 3\"`).\n\nO `aria-label` declarado diretamente no elemento tem prioridade:\nse o consumidor definir `aria-label` no HTML ou via `setAttribute`,\nesse valor será mantido e o parâmetro `defaultLabel` será ignorado.\n- **setActive(active: _boolean_): _Promise<void>_** - Ativa ou desativa o slide.\n\n### **Slots:**\n - **default** - Qualquer conteúdo: imagens, textos, cards, vídeos, outros componentes do Design System.\n\n### **CSS Parts:**\n - **content** - Wrapper interno do conteúdo do slide.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único customizável do slide.\nQuando definido, é aplicado diretamente ao atributo `id` do elemento host,\ngarantindo que referências ARIA externas, testes automatizados e âncoras funcionem corretamente.\nO `br-carousel` pai detecta este valor e usa-o também no `controls-id` do indicador de tabs,\nmantendo o vínculo ARIA entre tab e tabpanel automaticamente.",
          "values": []
        },
        {
          "name": "active",
          "description": "Marca este slide como visível e acessível.\nPode ser usado declarativamente no HTML para definir o slide inicial:\nEm runtime, o `br-carousel` pai gerencia o estado via `setActive()`.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-checkbox",
      "description": "## Design System\n\nPara 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/checkbox?tab=designer).\n---\n\n\n### **Events:**\n - **checkedChange** - Disparado depois que o valor do `checked` foi alterado.\n- **indeterminateChange** - Disparado depois que o valor do `indeterminate` foi alterado.\n- **brCheckboxValidationChange** - Emitido ao iniciar e concluir a validação customizada.\n\n### **Methods:**\n - **checkValidity(): _Promise<boolean>_** - Retorna `true` se o valor do checkbox for válido, caso contrário `false`.\nSe o checkbox for inválido, dispara um evento 'invalid'.\n- **reportValidity(): _Promise<boolean>_** - Retorna `true` se o valor do checkbox for válido, caso contrário `false`.\nSe for inválido, exibe a mensagem de erro padrão do navegador.\n- **setCustomValidity(message: _string_): _Promise<void>_** - Define uma mensagem de validação customizada para o checkbox.\nSe a mensagem for uma string vazia, o erro customizado é limpo.\n- **validate(): _Promise<boolean>_** - Executa o validator do checkbox e retorna se o valor atual é válido.\n- **getValidationState(): _Promise<FormValidationState>_** - Retorna um snapshot serializável da Constraint Validation API.\n- **setIndeterminate(value: _boolean_)** - Define o estado indeterminado do checkbox.\n- **toggleChecked()** - @deprecated Atualize a propriedade `checked` diretamente. - Inverte o valor da prop `checked`\n- **setNumberOfChildren(value: _number_)** - Define o número de checkboxes filhos em um grupo de checkboxes.\n\n### **Slots:**\n - **default** - Slot para o rótulo do checkbox, como alternativa à propriedade label.\n- **feedback** - Mensagem de validação, normalmente um `br-message`.\n\n### **CSS Parts:**\n - **container** - Contêiner visual do checkbox.\n- **input** - Elemento input nativo do checkbox.\n- **label** - Rótulo do checkbox.\n- **feedback** - Contêiner da mensagem de validação.",
      "attributes": [
        {
          "name": "indeterminate",
          "description": "Define o estado intermediário do checkbox.\nQuando verdadeiro, exibe uma marcação parcial visual que indica seleção parcial.\nÚtil para representar grupos onde alguns itens estão selecionados, mas não todos.\nAo clicar no checkbox neste estado, ele será automaticamente alterado para marcado.",
          "values": []
        },
        {
          "name": "checked",
          "description": "Define o estado de seleção do checkbox.\nSe definido como verdadeiro, o checkbox estará marcado. Caso contrário, estará desmarcado.",
          "values": []
        },
        {
          "name": "custom-id",
          "description": "Identificador único.\nCaso não seja fornecido, um ID gerado automaticamente será usado.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Desativa o checkbox, tornando-o não interativo.",
          "values": []
        },
        {
          "name": "required",
          "description": "Se verdadeiro, o checkbox é obrigatório e deve ser marcado antes que o formulário possa ser enviado.",
          "values": []
        },
        {
          "name": "validator",
          "description": "Regra síncrona ou assíncrona aplicada ao estado booleano do checkbox.",
          "values": [{ "name": "CheckboxValidator" }]
        },
        {
          "name": "has-hidden-label",
          "description": "Define se o label associado ao checkbox deve ser oculto.\nSe definido como verdadeiro, o texto do label será oculto, mas o checkbox ainda estará visível e funcional.",
          "values": []
        },
        {
          "name": "label-hidden",
          "description": "Oculta visualmente o rótulo. Quando informada, tem precedência sobre `hasHiddenLabel`.",
          "values": []
        },
        {
          "name": "label",
          "description": "Texto descritivo exibido à direita do checkbox.\nCaso um slot seja utilizado para fornecer um texto alternativo, o valor desta propriedade será ignorado.",
          "values": []
        },
        {
          "name": "name",
          "description": "Define o nome do checkbox, que é utilizado para agrupar checkboxes em formulários e identificar o campo.\nO valor é obrigatório e deve ser fornecido para garantir o correto funcionamento em formulários.",
          "values": []
        },
        {
          "name": "state",
          "description": "Indica a validade do checkbox.\nSe não for especificado, o valor padrão é `null`, indicando que a validade não foi definida.",
          "values": [{ "name": "valid" }, { "name": "invalid" }]
        },
        {
          "name": "feedback-state",
          "description": "Estado de feedback canônico. Quando informado, tem precedência sobre `state`.",
          "values": [{ "name": "valid" }, { "name": "invalid" }]
        },
        {
          "name": "value",
          "description": "Define o valor associado ao checkbox quando ele faz parte de um formulário nativo (`<form>`).\nEsse valor é enviado com o formulário quando o checkbox está selecionado.\n**Nota:** Esta propriedade não deve ser utilizada para determinar se o checkbox está selecionado; para verificar o estado de seleção, use a propriedade `checked`.",
          "values": []
        },
        {
          "name": "is-father",
          "description": "Indica se o checkbox é pai de um grupo de checkboxes.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-checkbox-group",
      "description": "## Design System\n\nPara 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/checkgroup?tab=designer).\n---\n\n\n### **Slots:**\n - **default** - Slot para adicionar os checkboxes controlados pelo grupo.",
      "attributes": [
        {
          "name": "label",
          "description": "Texto descritivo do grupo.",
          "values": []
        },
        {
          "name": "unselect-all-label",
          "description": "Rótulo para desmarcar todos os checkboxes.",
          "values": []
        },
        {
          "name": "select-all-label",
          "description": "Rótulo para marcar todos os checkboxes.",
          "values": []
        },
        {
          "name": "indeterminate",
          "description": "Define o estado indeterminado inicial do grupo.",
          "values": []
        },
        {
          "name": "orientation",
          "description": "Orientação visual das opções.",
          "values": [{ "name": "horizontal" }, { "name": "vertical" }]
        },
        {
          "name": "custom-id",
          "description": "Identificador único do controlador.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-checkgroup",
      "description": "@deprecated Use `br-checkbox-group`.\n\n\n---\n\n\n### **Slots:**\n - **default** - Slot para adicionar os checkboxes controlados pelo grupo.",
      "attributes": [
        {
          "name": "label",
          "description": "Texto descritivo do grupo.",
          "values": []
        },
        {
          "name": "label-selecionado",
          "description": "Rótulo legado para desmarcar todos.",
          "values": []
        },
        {
          "name": "unselect-all-label",
          "description": "Rótulo para desmarcar todos.",
          "values": []
        },
        {
          "name": "label-desselecionado",
          "description": "Rótulo legado para marcar todos.",
          "values": []
        },
        {
          "name": "select-all-label",
          "description": "Rótulo para marcar todos.",
          "values": []
        },
        {
          "name": "indeterminate",
          "description": "Estado indeterminado inicial.",
          "values": []
        },
        {
          "name": "custom-id",
          "description": "Identificador legado do controlador.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-collapse",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/collapse?tab=designer).\n---\n\n\n### **Events:**\n - **brDidOpen** - Emitido ao expandir, com o identificador e o grupo de accordion.\n- **brCollapseOpen** - Evento canônico emitido ao expandir.\n- **brDidClose** - Emitido ao recolher, com o identificador e o grupo de accordion.\n- **brCollapseClose** - Evento canônico emitido ao recolher.\n\n### **Methods:**\n - **openCollapse()** - @deprecated Atualize a propriedade `open`. - Abre o collapse programaticamente.\n- **closeCollapse()** - @deprecated Atualize a propriedade `open`. - Fecha o collapse programaticamente.\n- **toggle(): _Promise<void>_** - Alterna o estado aberto.\nO elemento também redispara o evento nativo `toggle` no host; essa ocorrência é sintética (`isTrusted === false`).\n- **render()** - Renderiza o <details> com acionador e conteúdo expansível.\n\n### **Slots:**\n - **default** - Slot para o conteúdo expansível exibido ao abrir o collapse.\n- **trigger** - Slot para personalizar o acionador (texto, ícones, imagens, etc.).\n\n### **CSS Parts:**\n - **details** - Elemento details nativo do collapse.\n- **trigger** - Acionador (summary) do collapse.\n- **content** - Área de conteúdo expansível.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "open",
          "description": "Controla se o collapse está aberto.",
          "values": []
        },
        {
          "name": "divider",
          "description": "Indica se o componente possui um divisor (divider) inferior.",
          "values": []
        },
        {
          "name": "accordion-group",
          "description": "Identifica o grupo de accordion; quando informado, mantém apenas um item aberto por vez entre os irmãos\ndo mesmo pai imediato.",
          "values": []
        },
        {
          "name": "icon-to-show",
          "description": "Classe CSS do ícone exibido quando o conteúdo está oculto.",
          "values": []
        },
        {
          "name": "icon-to-hide",
          "description": "Classe CSS do ícone exibido quando o conteúdo está visível.",
          "values": []
        },
        {
          "name": "icon-position",
          "description": "Define a posição do ícone no acionador: 'left' ou 'right'.",
          "values": [{ "name": "CollapseIconPosition" }]
        },
        {
          "name": "use-icons",
          "description": "Controla se o identificador visual de expansão/retração será renderizado.",
          "values": []
        },
        {
          "name": "expansion-direction",
          "description": "Direção em que o conteúdo é expandido e para a qual o ícone aponta.",
          "values": [{ "name": "CollapseExpansionDirection" }]
        },
        {
          "name": "color-mode",
          "description": "Tema visual do Collapse/Accordion.",
          "values": [{ "name": "CollapseColorMode" }]
        },
        {
          "name": "trigger-variant",
          "description": "Forma visual do acionador sem alterar sua semântica nativa.",
          "values": [{ "name": "CollapseTriggerVariant" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-cookiebar",
      "description": "Componente de gestão de consentimento de cookies (LGPD), obrigatório em sites e aplicativos do\nGoverno Federal que coletam dados de usuários.\n\nApresenta duas etapas visuais:\n- **default** – barra inferior com texto informativo e botões de ação;\n- **open** – painel de tela cheia com lista de classes de cookies configuráveis.\n\nA persistência do consentimento é responsabilidade do consumidor: ouça o evento\n`brCookiebarAccept` e armazene o payload onde desejar (localStorage, cookie HTTP, API etc.).\n\nPara a documentação completa, consulte o [Design System do GovBR](https://www.gov.br/ds/components/cookiebar?tab=designer).\n---\n\n\n### **Events:**\n - **brCookiebarShow** - Emitido quando o componente se torna visível (`show` → true).\n- **brCookiebarHide** - Emitido quando o componente é ocultado (`show` → false).\n- **brCookiebarOpen** - Emitido quando o painel expande para modo open.\n- **brCookiebarClose** - Emitido quando o painel recolhe para modo default.\n- **brCookiebarAccept** - Sinal emitido quando o usuário clica em Aceitar.\nNão carrega payload — ouça `brCookiebarResponse` para obter o estado completo de consentimento.\n- **brCookiebarReject** - Sinal emitido quando o usuário clica em \"Rejeitar não obrigatórios\".\nNão carrega payload — ouça `brCookiebarResponse` para obter o estado completo de consentimento.\n- **brCookiebarResponse** - Emitido após `brCookiebarAccept` ou `brCookiebarReject`, com o estado final de consentimento.\nÉ o único evento que carrega `CookiebarOutputData` — use-o para persistir o consentimento\n(localStorage, cookie HTTP, API etc.).\nNão é disparado durante interações com checkboxes e switches internos.\n- **brCookiebarPolicyClick** - Emitido quando o usuário clica no botão secundário no modo opt-in (`allOptOut=false`).\nO consumidor é responsável por navegar para a página de Política de Cookies.\n\n### **Methods:**\n - **handleShowChange(newValue: _boolean_)** - Observa mudanças em `show`.\nAo exibir o componente, garante que o modo inicial seja sempre `default` e emite `brCookiebarShow`.\nCom `scrim=true`, aplica `inert` nos irmãos e registra o trap de foco.\nCom `scrim=false`, o usuário pode navegar livremente pela página (WCAG 2.1.2).\nAo ocultar, emite `brCookiebarHide`.\n- **handleModeChange(newValue: _CookiebarMode_)** - Observa mudanças em `mode`.\nAo entrar em modo `open`, emite `brCookiebarOpen`, aplica `inert` nos irmãos e move o foco\npara o botão fechar (trap focus modal).\nAo sair do modo `open`, emite `brCookiebarClose` e — se `scrim=true` — reaplica `inert`\ne o listener de trap para o painel default. Sem scrim, nenhum trap é ativado.\n- **handleSelectAllPropChange(newValue: _boolean_)** - Observa mudanças externas na prop `selectAll`.\nSincroniza o estado interno do checkbox e propaga o valor para todos os grupos opt-out.\n- **handleGroupChange()** - Escuta o evento `brCookiebarGroupChange` emitido por qualquer `br-cookiebar-group` filho.\nApenas recalcula o estado visual do checkbox \"Selecionar tudo\" — não emite `brCookiebarResponse`.\nO evento de resposta completo é emitido somente ao clicar em Aceitar ou Rejeitar.\n- **openDefault(): _Promise<void>_** - Exibe o cookiebar no modo `default` (barra inferior).\n- **openPanel(): _Promise<void>_** - Exibe o cookiebar diretamente no modo `open` (painel de tela cheia).\n- **close(): _Promise<void>_** - Oculta o cookiebar.\n- **getSelectedCookies(): _Promise<CookiebarOutputData>_** - Retorna o JSON com o estado atual de seleção de todos os grupos e cookies.\n\n### **Slots:**\n - **default** - Recebe os subcomponentes `br-cookiebar-group`, `br-cookiebar-note-group` e `br-cookiebar-note`.\n- **header** - Recebe `br-cookiebar-header` ou HTML livre.\n- **links** - Recebe links complementares (`br-cookiebar-link` ou elementos `<a>` livres).\n- **actions** - Recebe botões de ação. Se vazio, o componente renderiza os botões padrão.\n\n### **CSS Parts:**\n - **container** - Container raiz do componente.\n- **default-panel** - Painel fechado (modo default).\n- **open-panel** - Painel expandido (modo open).\n- **header** - Cabeçalho do painel aberto.\n- **body** - Corpo do painel aberto (com rolagem).\n- **footer** - Rodapé com botões de ação.\n- **scrim** - Camada de sobreposição opcional.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único; gerado automaticamente quando omitido.",
          "values": []
        },
        {
          "name": "show",
          "description": "Controla a visibilidade do componente.\nO consumidor é responsável por definir este valor com base na persistência do consentimento\n(ex: verificar se já existe um cookie de consentimento salvo).",
          "values": []
        },
        {
          "name": "mode",
          "description": "Estado visual atual do painel.\n- `default`: barra inferior com texto e botões.\n- `open`: painel de tela cheia com grupos de cookies configuráveis.",
          "values": [{ "name": "CookiebarMode" }]
        },
        {
          "name": "all-opt-out",
          "description": "Define se o cookiebar opera no padrão opt-out (`true`, recomendado) ou opt-in (`false`).\n- **opt-out** (`true`): botão secundário \"Definir Cookies\"; usuário pode configurar cookies.\n- **opt-in** (`false`): botão secundário \"Ver Política de Cookies\"; painel é somente leitura.",
          "values": []
        },
        {
          "name": "info-text",
          "description": "Texto informativo exibido na barra inferior (modo default), descrevendo a política de cookies.",
          "values": []
        },
        {
          "name": "accept-button",
          "description": "Texto do botão primário de aceite. Padrão: `Aceitar`.",
          "values": []
        },
        {
          "name": "reject-button",
          "description": "Texto do botão de rejeição dos cookies não obrigatórios.\nExibido apenas quando `show-reject-button=\"true\"`.",
          "values": []
        },
        {
          "name": "show-reject-button",
          "description": "Quando `true`, exibe o botão \"Rejeitar não obrigatórios\" nos painéis default e open.\nCookies de grupos com `group-opt-out=\"false\"` (sempre ativos) não são afetados.",
          "values": []
        },
        {
          "name": "opt-out-button",
          "description": "Texto do botão secundário quando `all-opt-out=\"true\"`.",
          "values": []
        },
        {
          "name": "opt-in-button",
          "description": "Texto do botão secundário quando `all-opt-out=\"false\"`.",
          "values": []
        },
        {
          "name": "close-label",
          "description": "`aria-label` do botão fechar exibido no canto do painel expandido (`mode=\"open\"`).\nPermite traduzir o rótulo para outros idiomas.",
          "values": []
        },
        {
          "name": "panel-label",
          "description": "`aria-label` do painel expandido (`mode=\"open\"`), que possui `role=\"dialog\"`.\nLeitores de tela anunciam este texto ao entrar no diálogo modal de configuração de cookies.\nDeve descrever o propósito do diálogo de forma sucinta (ex: \"Configurações de cookies\").",
          "values": []
        },
        {
          "name": "default-panel-label",
          "description": "`aria-label` da barra de aviso de cookies (`mode=\"default\"`).\nDeve descrever o propósito da região de forma sucinta (ex: \"Aviso de cookies\").",
          "values": []
        },
        {
          "name": "cookie-groups-label",
          "description": "Rótulo do título da seção de grupos de cookies.",
          "values": []
        },
        {
          "name": "links-label",
          "description": "`aria-label` do elemento `<nav>` que envolve os links complementares no painel expandido.\nPermite traduzir o rótulo para outros idiomas.",
          "values": []
        },
        {
          "name": "select-all",
          "description": "Estado inicial do checkbox \"Selecionar tudo\".\nQuando `true`, todos os grupos opt-out iniciam selecionados.",
          "values": []
        },
        {
          "name": "select-all-label",
          "description": "Texto do checkbox geral quando está totalmente selecionado (ação: desselecionar).",
          "values": []
        },
        {
          "name": "unselect-all-label",
          "description": "Texto do checkbox geral quando está desmarcado ou indeterminado (ação: selecionar).",
          "values": []
        },
        {
          "name": "all-alert-message",
          "description": "Mensagem exibida abaixo do checkbox geral quando está desmarcado ou com seleção parcial.",
          "values": []
        },
        {
          "name": "scrim",
          "description": "Quando `true`, exibe uma camada semitransparente (scrim) sobre o conteúdo da página\nabaixo do painel default, sinalizando que o cookiebar requer atenção.\n\n**Efeito no foco:** com `scrim=true`, o atributo `inert` é aplicado nos irmãos do\ncookiebar no DOM, prendendo o foco e o cursor virtual do leitor de tela dentro do\npainel default enquanto ele estiver visível. Com `scrim=false` (padrão), nenhum trap\né ativado — o usuário pode navegar livremente pela página, em conformidade com\nWCAG 2.1.2 (No Keyboard Trap). Use `scrim=true` apenas quando o cenário de negócio\nexigir que a decisão sobre cookies seja tomada antes de qualquer outra interação.\n\nNo modo `open` (diálogo modal), o `inert` é aplicado independentemente do valor de `scrim`.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-cookiebar-cookie",
      "description": "Representa um cookie individual dentro de um `br-cookiebar-group`.\nExibe os detalhes do cookie (nome, vencimento, domínio etc.) e,\nquando o cookie pode ser desativado, um switch de ativação.\n---\n\n\n### **Events:**\n - **brCookiebarCookieChange** - Emitido ao ligar/desligar o switch.\nBorbulha até o `br-cookiebar-group` pai para recalcular o estado do grupo.\n\n### **Slots:**\n - **default** - Área livre para inserir conteúdo personalizado abaixo dos itens do cookie.\n\n### **CSS Parts:**\n - **card** - Container principal do cookie.\n- **switch** - Área que contém o switch de ativação.\n- **details** - Wrapper interno com o switch, alerta e lista de itens.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "ID interno gerado automaticamente. Não é necessário informar.",
          "values": []
        },
        {
          "name": "cookie-id",
          "description": "Identificador único do cookie. Usado internamente para montar o JSON de resposta.",
          "values": []
        },
        {
          "name": "cookie-name",
          "description": "Nome do cookie.",
          "values": []
        },
        {
          "name": "cookie-opt-out",
          "description": "Indica se o usuário pode desativar este cookie.\n- `true` (padrão): exibe o switch e permite desativar.\n- `false`: o cookie é sempre ativo e o switch não aparece.",
          "values": []
        },
        {
          "name": "cookie-selected",
          "description": "Estado atual do switch: ligado ou desligado.",
          "values": []
        },
        {
          "name": "expires",
          "description": "Tempo de vida do cookie (ex: `30 minutos`, `1 ano`, `Sessão`).",
          "values": []
        },
        {
          "name": "domain",
          "description": "Domínio ao qual o cookie pertence (ex: `serpro.gov.br`).",
          "values": []
        },
        {
          "name": "enterprise",
          "description": "Nome da empresa responsável pelo cookie (ex: `Serpro`, `Google`).",
          "values": []
        },
        {
          "name": "purpose",
          "description": "Para que serve este cookie (ex: `Autenticação`, `Análise de tráfego`).",
          "values": []
        },
        {
          "name": "description",
          "description": "Descrição detalhada do cookie e como ele é utilizado.",
          "values": []
        },
        {
          "name": "alert-message",
          "description": "Mensagem exibida quando o switch é desligado, alertando sobre o impacto.",
          "values": []
        },
        {
          "name": "on-label",
          "description": "Texto exibido no switch quando está ligado.",
          "values": []
        },
        {
          "name": "off-label",
          "description": "Texto exibido no switch quando está desligado.",
          "values": []
        },
        {
          "name": "cookie-name-label",
          "description": "Rótulo do item \"nome do cookie\" na lista.",
          "values": []
        },
        {
          "name": "expires-label",
          "description": "Rótulo do item \"vencimento\" na lista.",
          "values": []
        },
        {
          "name": "domain-label",
          "description": "Rótulo do item \"domínio\" na lista.",
          "values": []
        },
        {
          "name": "enterprise-label",
          "description": "Rótulo do item \"empresa\" na lista.",
          "values": []
        },
        {
          "name": "purpose-label",
          "description": "Rótulo do item \"finalidade\" na lista.",
          "values": []
        },
        {
          "name": "description-label",
          "description": "Rótulo do item \"descrição\" na lista.",
          "values": []
        },
        {
          "name": "extra-label",
          "description": "Rótulo de um campo extra opcional exibido ao final da lista de itens.\nUse junto com `extra-value` para adicionar uma informação personalizada\nsem precisar usar o slot.",
          "values": []
        },
        {
          "name": "extra-value",
          "description": "Valor do campo extra. Exibido ao lado do `extra-label`.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-cookiebar-group",
      "description": "Representa um grupo (classe) de cookies dentro do `br-cookiebar`.\nAgrupa cookies relacionados, exibe um checkbox para seleção coletiva\ne permite expandir a lista de `br-cookiebar-cookie` filhos.\n\nSuporta dois modos:\n- **Opt-out** (`group-opt-out=\"true\"`, padrão): o usuário pode desativar o grupo.\n- **Sempre ativo** (`group-opt-out=\"false\"`): exibe badge fixo, sem checkbox.\n---\n\n\n### **Events:**\n - **brCookiebarGroupChange** - Emitido quando o estado de seleção do grupo muda (por interação do usuário ou propagação).\nO `br-cookiebar` pai escuta este evento para recalcular o checkbox \"Selecionar todos\".\n- **brCookiebarGroupToggle** - Emitido ao expandir ou recolher a lista de cookies do grupo.\n\n### **Methods:**\n - **handleGroupSelectedChange(newValue: _boolean_)** - Observa mudanças externas em `groupSelected` (propagação top-down do `br-cookiebar`).\nPropaga o novo valor para todos os cookies opt-out filhos e atualiza os contadores.\nIgnorado quando a mudança é originada internamente pelo recálculo bottom-up.\n- **handleCookieChange()** - Escuta o evento `brCookiebarCookieChange` emitido por qualquer `br-cookiebar-cookie` filho.\nRecalcula o estado do grupo (marcado / desmarcado / indeterminado) com base\nno estado atual de todos os cookies opt-out. Ignorado durante propagações top-down.\n- **getState(): _Promise<CookiebarSelectionState>_** - Retorna o estado atual de seleção do grupo:\n- `true`: todos os cookies opt-out estão selecionados.\n- `false`: nenhum cookie opt-out está selecionado.\n- `'indeterminate'`: seleção parcial.\n\n### **Slots:**\n - **default** - Recebe os subcomponentes `br-cookiebar-cookie` do grupo.\n\n### **CSS Parts:**\n - **container** - Div raiz do grupo.\n- **header** - Linha de cabeçalho com nome, contadores e controles.\n- **body** - Área expansível que contém os cookies.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "ID interno gerado automaticamente. Não é necessário informar.",
          "values": []
        },
        {
          "name": "group-id",
          "description": "Identificador único do grupo. Usado internamente para montar o JSON de resposta.",
          "values": []
        },
        {
          "name": "group-name",
          "description": "Nome exibido no cabeçalho do grupo (ex: `Desempenho`, `Marketing`).",
          "values": []
        },
        {
          "name": "group-text",
          "description": "Texto descritivo exibido abaixo do cabeçalho, explicando a finalidade do grupo.",
          "values": []
        },
        {
          "name": "group-opt-out",
          "description": "Indica se o usuário pode desativar este grupo de cookies.\n- `true` (padrão): exibe checkbox e permite desativar.\n- `false`: exibe \"Sempre ativo\" e não permite desativar.",
          "values": []
        },
        {
          "name": "group-selected",
          "description": "Estado de seleção do checkbox do grupo.\nPode ser controlado externamente pelo `br-cookiebar` (propagação top-down)\nou recalculado automaticamente a partir do estado dos cookies filhos (bottom-up).",
          "values": []
        },
        {
          "name": "group-alert-message",
          "description": "Mensagem exibida quando o grupo é desmarcado, alertando sobre o impacto.",
          "values": []
        },
        {
          "name": "expanded",
          "description": "Controla se a lista de cookies está visível.",
          "values": []
        },
        {
          "name": "select-all-group-label",
          "description": "Texto do checkbox quando o grupo está totalmente selecionado (ação: desselecionar).",
          "values": []
        },
        {
          "name": "unselect-all-group-label",
          "description": "Texto do checkbox quando o grupo está desmarcado ou indeterminado (ação: selecionar).",
          "values": []
        },
        {
          "name": "always-active-label",
          "description": "Texto exibido no lugar do checkbox quando `group-opt-out=\"false\"`.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-cookiebar-header",
      "description": "Cabeçalho introdutório do painel aberto do `br-cookiebar`.\nExibe o título da política de cookies, a data da última atualização e um texto de introdução.\n\nPode ser usado de duas formas:\n- **Estruturada** (padrão): informe `main-title`, `entry-text` e opcionalmente `last-update`\n  para renderizar o cabeçalho com o layout oficial do Design System.\n- **Livre**: insira conteúdo HTML no slot default e ele substituirá completamente o layout\n  interno, mantendo apenas o container estilizado.\n\nDeve ser inserido no slot `header` do `br-cookiebar`.\n---\n\n\n### **Slots:**\n - **default** - Conteúdo HTML personalizado que substitui o layout estruturado. Quando preenchido, as props `main-title`, `entry-text` e `last-update` são ignoradas.\n\n### **CSS Parts:**\n - **container** - Div raiz do cabeçalho.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "ID interno gerado automaticamente. Não é necessário informar.",
          "values": []
        },
        {
          "name": "main-title",
          "description": "Título principal exibido no topo do cabeçalho (ex: `Política de Cookies`).",
          "values": []
        },
        {
          "name": "entry-text",
          "description": "Texto introdutório exibido abaixo do título e da data, descrevendo a política.",
          "values": []
        },
        {
          "name": "last-update",
          "description": "Data da última atualização da política de cookies.\nQuando não informada, a linha de data não é exibida.",
          "values": []
        },
        {
          "name": "last-update-label",
          "description": "Rótulo exibido antes da data de atualização.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-cookiebar-link",
      "description": "Link complementar exibido na área de rodapé do `br-cookiebar`.\nUse dentro do slot `links` do `br-cookiebar` para adicionar links externos estruturados,\ncomo \"Política de Privacidade\" ou \"Termos de Uso\".\n\nQuando `target=\"_blank\"`, exibe automaticamente um ícone de link externo\ne adiciona `rel=\"noopener noreferrer\"` por segurança.\n---\n\n\n### **Events:**\n - **brNavigate** - Evento cancelável emitido em `navigation-mode=\"event\"` para cliques primários sem modificadores em links `_self`.\nChame `event.preventDefault()` no listener para impedir a navegação nativa e entregar `event.detail.href` ao roteador da SPA.\n\n### **CSS Parts:**\n - **link** - Elemento âncora (`<a>`) do link.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "ID interno gerado automaticamente. Não é necessário informar.",
          "values": []
        },
        {
          "name": "name",
          "description": "Texto visível do link (ex: `Política de Privacidade`).",
          "values": []
        },
        {
          "name": "href",
          "description": "URL de destino do link.",
          "values": []
        },
        {
          "name": "target",
          "description": "Define onde o link será aberto.\n- `_self` (padrão): abre na mesma aba.\n- `_blank`: abre em uma nova aba, com ícone de link externo e `rel=\"noopener noreferrer\"` automáticos.",
          "values": []
        },
        {
          "name": "navigation-mode",
          "description": "Controla como o componente integra a navegação mantendo `href` real no elemento navegável.\n- `native` (padrão): preserva o comportamento do navegador, conforme HTML/W3C.\n- `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir.\nCliques com modificadores, botão do meio ou `target` diferente de `_self` permanecem nativos.",
          "values": [{ "name": "BrNavigationMode" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-cookiebar-note",
      "description": "Subcomponente de `br-cookiebar-note-group` que representa um par pergunta/resposta\ndentro da seção de avisos de cookies.\n\nDeve ser inserido dentro de um `br-cookiebar-note-group`.\n---\n\n\n### **CSS Parts:**\n - **container** - Div raiz do item.\n- **question** - Parágrafo da pergunta.\n- **answer** - Parágrafo da resposta.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único; gerado automaticamente quando omitido.",
          "values": []
        },
        {
          "name": "question",
          "description": "Texto da pergunta.",
          "values": []
        },
        { "name": "answer", "description": "Texto da resposta.", "values": [] }
      ],
      "references": []
    },
    {
      "name": "br-cookiebar-note-group",
      "description": "Seção retrátil de avisos e notas sobre cookies, exibida na área complementar do `br-cookiebar`.\nAgrupa um ou mais `br-cookiebar-note` sob um título clicável que expande ou recolhe o conteúdo.\n\nSe o slot estiver vazio, o componente não renderiza nada.\n---\n\n\n### **Events:**\n - **brCookiebarNoteGroupToggle** - Emitido ao expandir ou recolher a seção.\n\n### **Slots:**\n - **default** - Recebe `br-cookiebar-note` ou qualquer conteúdo HTML livre.\n\n### **CSS Parts:**\n - **container** - Div raiz do grupo.\n- **header** - Cabeçalho acessível que expande ou recolhe o conteúdo.\n- **content** - Área de conteúdo exibida quando o grupo está expandido.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "ID interno gerado automaticamente. Não é necessário informar.",
          "values": []
        },
        {
          "name": "note-title",
          "description": "Título exibido no cabeçalho da seção.",
          "values": []
        },
        {
          "name": "expanded",
          "description": "Define se a seção começa expandida (`true`) ou recolhida (`false`, padrão).",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-datetime-picker",
      "description": "## Design System\n\nPara 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/datetimepicker?tab=designer).\n---\n\n\n### **Events:**\n - **dateStateChange** - Evento público emitido quando a data de referência ou a seleção mudam.\n- **valueChange** - Evento emitido quando o valor selecionado muda.\n- **brDatetimePickerValidationChange** - Emitido ao iniciar e concluir a validação customizada.\n\n### **Methods:**\n - **formResetCallback()** - API nativa de reset de form-associated custom elements.\n- **formStateRestoreCallback(state: _string | File | FormData | null_)** - API nativa de restauração de estado (histórico/autofill) do formulário.\n- **handleModeChange(newValue: _string_)** - Revalida o modo sempre que a prop mudar.\n- **handleRequiredChange()** - Revalida o estado do formulário quando required mudar.\n- **handleDisabledChange()** - Exclui o valor do FormData enquanto o componente estiver desabilitado.\n- **handleSelectionModeChange(newValue: _DatetimePickerSelectionMode_)** - Reage a mudanças no modo de seleção e limpa intervalo quando necessário.\n- **handleWeekStartsOnChange(newValue: _DatetimePickerWeekDayIndex_)** - Revalida o dia inicial da semana sempre que a prop mudar.\n- **handleInitialMomentChange(newValue: _DatetimePickerInitialMoment_)** - Aplica ou limpa a seleção da data atual conforme o novo valor da prop.\n- **handleValueChange(newValue: _Date | null_)** - Sincroniza alterações externas do valor com o estado visual e o formulário nativo.\n- **handleSerializedValueChange(newValue: _string_)** - Converte alterações externas no valor serializado sem mudar o tipo da prop legada `value`.\n- **handleValueAsDateChange(newValue: _Date | null_)** - Mantém `valueAsDate` e a prop legada `value` apontando para o mesmo estado observável.\n- **handleDisabledDatesChange(newValue: _DatetimePickerDisabledDates_)** - Recalcula a lista de datas desabilitadas quando a prop mudar.\n- **setDisabledDates(dates: _DatetimePickerDisabledDate[] | null_): _Promise<void>_** - Define programaticamente as datas desabilitadas por meio de array.\n\nÚtil quando o componente é usado via HTML e o consumidor precisa enviar\numa lista tipada em runtime.\n- **setValue(value: _Date | string | null_): _Promise<void>_** - Define o valor atual de forma imperativa aceitando Date, string serializada ou null.\n- **getValue(): _Promise<Date | null>_** - Retorna uma cópia do valor selecionado atualmente.\n- **clear(): _Promise<void>_** - Limpa valor e intervalo selecionados.\n- **open(): _Promise<void>_** - Abre o picker quando o componente estiver habilitado.\n- **close(): _Promise<void>_** - Fecha o picker.\n- **toggle(): _Promise<void>_** - Alterna o estado de abertura do picker.\n- **focusInput(): _Promise<void>_** - Move o foco para o input nativo interno.\n- **setRange(start: _Date | string | null_, end: _Date | string | null_): _Promise<void>_** - Define intervalo de datas de forma imperativa, forçando modo date e selectionMode range.\n- **getRange(): __** - Retorna o intervalo de datas selecionado quando em modo `selectionMode=\"range\"`.\n- **isOpen(): __** - Consulta se o picker está atualmente aberto.\n- **resetToInitial(): _Promise<void>_** - Restaura o estado inicial atualmente registrado para reset.\n- **checkValidity(): _Promise<boolean>_** - Permite que consumidores acionem validação nativa do formulário via host.\n- **reportValidity(): _Promise<boolean>_** - Permite exibir mensagens nativas de validação no host.\n- **setCustomValidity(message: _string_): _Promise<void>_** - Define ou limpa uma mensagem de validade customizada.\n- **validate(): _Promise<boolean>_** - Executa o validator do picker e retorna se a seleção atual é válida.\n- **getValidationState(): _Promise<FormValidationState>_** - Retorna um snapshot serializável da Constraint Validation API.\n- **render()** - Renderização principal do componente.\n\n### **Slots:**\n - **feedback** - Mensagem de validação, normalmente um `br-message`.\n\n### **CSS Parts:**\n - **container** - Parte para o container base do seletor.\n- **panel** - Parte para o painel em forma de card que engloba o seletor.\n- **input-container** - Container base do campo de entrada interno.\n- **input-field** - Campo textual interno.\n- **input-icon** - Ícone de ação (calendário/relógio).\n- **feedback** - Contêiner da mensagem de validação.",
      "attributes": [
        {
          "name": "mode",
          "description": "Define o modo de seleção exibido pelo componente: data, horário ou ambos.\n\nValores aceitos: `date`, `time` ou `datetime`.\nValores inválidos são corrigidos automaticamente para o valor padrão,\nmantendo o atributo refletido sempre consistente com o modo exibido.",
          "values": [{ "name": "DatetimePickerMode" }]
        },
        {
          "name": "locale",
          "description": "Define o locale usado pelos subcomponentes para formatar datas e rótulos.",
          "values": [{ "name": "DatetimePickerLocale" }]
        },
        {
          "name": "placeholder",
          "description": "Define o placeholder exibido no campo de entrada do datetime picker.",
          "values": []
        },
        {
          "name": "name",
          "description": "Nome do campo para submissão em formulários nativos.",
          "values": []
        },
        {
          "name": "required",
          "description": "Indica se o campo deve ter valor antes do envio do formulário.",
          "values": []
        },
        {
          "name": "min",
          "description": "Menor data/horário aceito, interpretado conforme `mode`.",
          "values": [{ "name": "Date" }]
        },
        {
          "name": "max",
          "description": "Maior data/horário aceito, interpretado conforme `mode`.",
          "values": [{ "name": "Date" }]
        },
        {
          "name": "validator",
          "description": "Regra síncrona ou assíncrona aplicada à data ou intervalo selecionado.",
          "values": [{ "name": "DatetimePickerValidator" }]
        },
        {
          "name": "selection-mode",
          "description": "Define o tipo de seleção de datas para o calendário: única ou intervalo.\n\n`range` só funciona em conjunto com `mode=\"date\"`.\nSe `selectionMode=\"range\"` for informado, o componente ajusta automaticamente\n`mode` para `date`. Se `mode` mudar para `time` ou `datetime`, o componente\nnormaliza `selectionMode` para `single` quando necessário.",
          "values": [{ "name": "DatetimePickerSelectionMode" }]
        },
        {
          "name": "week-starts-on",
          "description": "Define o dia inicial da semana exibida no calendário.\n\nValores suportados: 0 (domingo) a 6 (sábado).",
          "values": [{ "name": "DatetimePickerWeekDayIndex" }]
        },
        {
          "name": "initial-moment",
          "description": "Define a seleção inicial do componente.\n\nAceita:\n- `'now'`: seleciona o momento atual.\n- `Date` ou `string`: seleciona uma data arbitrária.\n- `null`: inicia sem seleção.\n\nReativo em runtime: mudanças na prop atualizam estado e subcomponentes.",
          "values": [{ "name": "DatetimePickerInitialMoment" }]
        },
        {
          "name": "value",
          "description": "Valor selecionado pelo usuário. Pode ser controlado externamente e é atualizado\npelo evento `valueChange`.",
          "values": [{ "name": "Date" }]
        },
        {
          "name": "serialized-value",
          "description": "Representação serializada compatível com os formatos de controles HTML (`YYYY-MM-DD`, `HH:mm`\nou ISO local, conforme `mode`). Em intervalos, usa `início/fim`.\n\nQuando informada, tem precedência sobre o valor legado `value` durante a inicialização.",
          "values": []
        },
        {
          "name": "value-as-date",
          "description": "Espelho tipado da seleção atual, equivalente ao padrão `valueAsDate` dos controles HTML.",
          "values": [{ "name": "Date" }]
        },
        {
          "name": "range-value",
          "description": "Intervalo controlado quando `selectionMode=\"range\"`.",
          "values": [{ "name": "DatetimePickerDateRange" }]
        },
        {
          "name": "disabled",
          "description": "Desabilita toda a interação do componente.\n\nQuando `true`, impede abrir o picker, alterar valores e navegar entre datas/horários.",
          "values": []
        },
        {
          "name": "disabled-dates",
          "description": "Define um conjunto de datas indisponíveis para seleção.\n\nAceita uma lista de `Date` e/ou strings analisáveis, ou uma string com datas\nseparadas por espaço em branco. Datas inválidas são ignoradas com warning.\nA comparação considera apenas o dia (ano/mês/dia), ignorando hora.",
          "values": [{ "name": "DatetimePickerDisabledDates" }]
        },
        {
          "name": "fixed-row-count",
          "description": "Define se o calendário deve manter um número fixo de linhas (6 semanas = 42 dias)\nou variar conforme o mês.\n\nQuando `true`, o calendário sempre exibe 6 semanas completas.\nQuando `false`, o calendário adapta-se ao mês, exibindo apenas as semanas necessárias.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-date-picker",
      "description": "## Design System\n\nPara 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/date-picker?tab=designer).\n---\n\n\n### **Events:**\n - **dateStateChange** - Evento emitido quando a data de referência ou a seleção mudam.\n\n### **Methods:**\n - **handleValueChange(newValue: _Date | null_)** - Sincroniza `focusedDate` quando o valor selecionado muda externamente.\n- **handleWeekStartsOnChange(newValue: _number_)** - Revalida a configuração quando o início da semana muda.\n- **handleLocaleChange(newValue: _string_)** - Revalida o locale quando a prop muda.\n\n### **CSS Parts:**\n - **container** - Parte para o container base do calendário.\n- **header** - Cabeçalho do calendário (contendo navegação e seleção de mês/ano).\n- **month-select** - Elemento de seleção do mês.\n- **year-input** - Elemento de entrada do ano.\n- **calendar** - Grade geral do calendário.\n- **weekdays** - Container para os rótulos dos dias da semana.\n- **weekday** - Rótulo individual do dia da semana.\n- **grid** - Grade de dias do mês.\n- **day** - Célula individual do dia no calendário.",
      "attributes": [
        {
          "name": "week-starts-on",
          "description": "Define o índice do dia em que a semana começa na interface do calendário.",
          "values": [{ "name": "WeekDayIndex" }]
        },
        {
          "name": "reference-date",
          "description": "Data usada como base visual para o mês atualmente exibido.",
          "values": [{ "name": "Date" }]
        },
        {
          "name": "value",
          "description": "Data atualmente selecionada pelo usuário, ou `null` quando não há seleção.",
          "values": [{ "name": "Date" }]
        },
        {
          "name": "selection-mode",
          "description": "Define se a seleção ocorre por data única ou por intervalo.",
          "values": [{ "name": "DatetimePickerSelectionMode" }]
        },
        {
          "name": "range-start",
          "description": "Data inicial selecionada quando o calendário opera no modo de intervalo.",
          "values": [{ "name": "Date" }]
        },
        {
          "name": "range-end",
          "description": "Data final selecionada quando o calendário opera no modo de intervalo.",
          "values": [{ "name": "Date" }]
        },
        {
          "name": "range-value",
          "description": "Intervalo controlado no modo `range`.",
          "values": [{ "name": "DatetimePickerDateRange" }]
        },
        {
          "name": "disabled",
          "description": "Desabilita a interação do calendário quando ativo.",
          "values": []
        },
        {
          "name": "disabled-dates",
          "description": "Lista de datas indisponíveis para seleção no calendário.",
          "values": [{ "name": "Date[]" }]
        },
        {
          "name": "locale",
          "description": "Locale usado para gerar nomes de meses e dias da semana.",
          "values": []
        },
        {
          "name": "fixed-row-count",
          "description": "Define se o calendário deve manter um número fixo de linhas (6 semanas = 42 dias)\nou variar conforme o mês.\n\nQuando `true`, o calendário sempre exibe 6 semanas completas.\nQuando `false`, o calendário adapta-se ao mês, exibindo apenas as semanas necessárias.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-datetime-input",
      "description": "## Design System\n\nPara 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/datetime-input?tab=designer).\n---\n\n\n### **Events:**\n - **dateStateChange** - Emite quando o valor é alterado via input ou parsing.\n- **togglePicker** - Solicita ao componente pai a alternância da abertura do picker.\n\n### **Methods:**\n - **handleValueChange(newValue: _Date | null_)** - Revalida e reflete no input mudanças externas em `value`.\n- **handleModeChange(newValue: _string_)** - Garante modo suportado e ajusta máscara/valor textual exibido.\n- **handleReferenceDateChange(newValue: _Date_)** - Valida a data de referência e sincroniza o campo quando não há seleção.\n- **handleRangeStartChange(newValue)** - Sincroniza o input quando o início do range muda.\n- **handleRangeEndChange(newValue)** - Sincroniza o input quando o fim do range muda.\n- **render()** - Renderização principal do componente.\n\n### **CSS Parts:**\n - **container** - Parte para o container base do campo.\n- **input** - Parte para o campo textual interno.\n- **icon** - Parte para o ícone de ação (calendário/relógio).",
      "attributes": [
        {
          "name": "placeholder",
          "description": "Define o placeholder do campo de entrada.",
          "values": []
        },
        {
          "name": "mode",
          "description": "Define o modo de entrada: `date`, `time` ou `datetime`.",
          "values": [{ "name": "DatetimePickerMode" }]
        },
        {
          "name": "reference-date",
          "description": "Data de referência que orienta a navegação visual do calendário.",
          "values": [{ "name": "Date" }]
        },
        {
          "name": "value",
          "description": "Valor selecionado pelo usuário, ou `null` quando nada foi escolhido.",
          "values": [{ "name": "Date" }]
        },
        {
          "name": "disabled",
          "description": "Desabilita digitação e abertura do picker quando ativo.",
          "values": []
        },
        {
          "name": "selection-mode",
          "description": "Define se a seleção ocorre por data única ou por intervalo.",
          "values": [{ "name": "DatetimePickerSelectionMode" }]
        },
        {
          "name": "range-start",
          "description": "Data inicial do intervalo quando em modo range.",
          "values": [{ "name": "Date" }]
        },
        {
          "name": "range-end",
          "description": "Data final do intervalo quando em modo range.",
          "values": [{ "name": "Date" }]
        },
        {
          "name": "range-value",
          "description": "Intervalo controlado no modo `range`.",
          "values": [{ "name": "DatetimePickerDateRange" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-time-picker",
      "description": "## Design System\n\nPara 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/time-picker?tab=designer).\n---\n\n\n### **Events:**\n - **dateStateChange** - Evento emitido quando a data de referência ou o valor selecionado mudam.\n\n### **CSS Parts:**\n - **container** - Parte para o container base do seletor de horários.\n- **timer** - Container para o grupo de hora e minuto.\n- **field** - Campo individual de entrada de tempo (com botões de ajuste).\n- **separator** - Separador visual de hora e minuto.\n- **input** - Campo de entrada textual interno do tempo.",
      "attributes": [
        {
          "name": "reference-date",
          "description": "Data de referência usada para exibir e ajustar hora e minuto.",
          "values": [{ "name": "Date" }]
        },
        {
          "name": "value",
          "description": "Valor atualmente selecionado pelo usuário, ou `null` quando vazio.",
          "values": [{ "name": "Date" }]
        },
        {
          "name": "disabled",
          "description": "Desabilita todos os controles de navegação e edição de hora/minuto.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-divider",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/divider?tab=designer).\n---\n\n\n### **Methods:**\n - **updateColor()** - Watcher para a cor do divisor.\nAtualiza a propriedade CSS '--border-color' do elemento para refletir a cor definida.\nIsso permite que o divisor use cores personalizadas sem precisar de estilos adicionais.\n- **updateMargins()** - Watcher para as propriedades de margin.\nAtualiza as propriedades CSS customizáveis do elemento para refletir os margins definidos.\n\n### **Slots:**\n - **default** - Slot opcional para conteúdo dentro do divisor (texto, ícones ou elementos personalizados).\n\n### **CSS Parts:**\n - **divider** - Elemento principal do divisor.\n- **content** - Conteúdo do divisor (quando há slot).",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "orientation",
          "description": "Orientação do divisor.Em modo vertical, posicione dentro de um container com `display: flex`.",
          "values": [{ "name": "DividerOrientation" }]
        },
        {
          "name": "thickness",
          "description": "Espessura visual do divisor.",
          "values": [{ "name": "DividerThickness" }]
        },
        {
          "name": "border-style",
          "description": "Estilo de borda do divisor.",
          "values": [{ "name": "DividerBorderStyle" }]
        },
        {
          "name": "is-dark-mode",
          "description": "Ativa variante de alto contraste para fundos escuros.",
          "values": []
        },
        {
          "name": "color-mode",
          "description": "Esquema de cor canônico. Quando informado, tem precedência sobre `isDarkMode`.",
          "values": [{ "name": "light" }, { "name": "dark" }]
        },
        {
          "name": "color",
          "description": "Cor do divisor.\nAceita os seguintes formatos de cor:\n- Cores nomeadas do CSS: 'red', 'blue', 'green', 'yellow', etc.\n- Códigos hexadecimais: '#ff0000', '#00ff00', '#0000ff', etc.\n- Valores RGB: 'rgb(255, 0, 0)', 'rgb(0, 255, 0)', etc.\n- Valores RGBA: 'rgba(255, 0, 0, 0.5)', 'rgba(0, 255, 0, 0.8)', etc.\n- Valores HSL: 'hsl(0, 100%, 50%)', 'hsl(120, 100%, 50%)', etc.\n- Valores HSLA: 'hsla(0, 100%, 50%, 0.5)', 'hsla(240, 100%, 50%, 0.7)', etc.\nSe não definida, usa a cor padrão do tema.",
          "values": []
        },
        {
          "name": "align",
          "description": "Alinhamento do conteúdo quando há slot interno.",
          "values": [{ "name": "DividerAlign" }]
        },
        {
          "name": "bleed",
          "description": "Faz o divisor ocupar toda a largura do container, compensando paddings laterais.",
          "values": []
        },
        {
          "name": "margin-top",
          "description": "Margin top em pixels; se omitido, aplica padrão interno.",
          "values": []
        },
        {
          "name": "margin-bottom",
          "description": "Margin bottom em pixels; se omitido, aplica padrão interno.",
          "values": []
        },
        {
          "name": "margin-left",
          "description": "Margin left em pixels; se omitido, aplica padrão interno.",
          "values": []
        },
        {
          "name": "margin-right",
          "description": "Margin right em pixels; se omitido, aplica padrão interno.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-dropdown",
      "description": "## Design System\n\nPara 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/dropdown?tab=designer).\n---\n\n\n### **Events:**\n - **brDidOpen** - Emitido quando o dropdown abre.\n- **brDidClose** - Emitido quando o dropdown fecha.\n- **brDropdownChange**\n- **brDropdownOpenChange** - Evento canônico emitido quando o estado aberto muda.\n\n### **Methods:**\n - **targetZIndexChanged()** - Aplica o novo valor de z-index ao elemento target.\n- **disabledChanged(newValue: _boolean_)** - Fecha o dropdown se for desabilitado enquanto estiver aberto.\n- **hide(): _Promise<{ isOpen: boolean }>_** - @deprecated Use `close`. - Esconde o dropdown.\nDefine a propriedade `isOpen` como falsa e retorna o novo estado.\nEste método pode ser chamado externamente.\n- **close(): _Promise<{ isOpen: boolean }>_** - Fecha o dropdown e mantém o formato de retorno legado.\n- **open(): _Promise<{ isOpen: boolean }>_** - Abre o dropdown.\nDefine a propriedade `isOpen` como verdadeira e retorna o novo estado.\nEste método pode ser chamado externamente.\n- **setFocus()** - Define o foco no elemento interno do componente.\nEste método pode ser chamado externamente para garantir que o foco seja aplicado ao elemento correto.\n\n### **Slots:**\n - **trigger** - Slot para o elemento que aciona a abertura do dropdown.\n- **target** - Slot para o conteúdo exibido pelo dropdown.\n\n### **CSS Parts:**\n - **trigger** - Área do acionador do dropdown.\n- **target** - Área de conteúdo exibida pelo dropdown.\n- **trigger-arrow** - Indicador visual opcional do acionador do dropdown.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().\n\n> **Uso compartilhado:** mantenha esta descrição idêntica em todos os componentes que usam `customId`.",
          "values": []
        },
        {
          "name": "is-open",
          "description": "Indica se o dropdown está aberto ou fechado.\nEsta propriedade é refletida no DOM e pode ser alterada externamente.\nO valor padrão é falso (fechado).",
          "values": []
        },
        {
          "name": "placement",
          "description": "Define o posicionamento do target (alvo) em relação ao trigger (acionador).",
          "values": [{ "name": "DropdownPlacement" }]
        },
        {
          "name": "show-arrow",
          "description": "Exibe uma seta ao lado do elemento acionador.\nO valor padrão é falso para preservar a apresentação dos triggers existentes.",
          "values": []
        },
        {
          "name": "arrow-position",
          "description": "Define o posicionamento da seta ('left' ou 'right') em relação ao elemento acionador.\nO valor padrão é 'right'.",
          "values": [{ "name": "DropdownArrowPosition" }]
        },
        {
          "name": "prevent-auto-dismiss",
          "description": "Define se o dropdown deve permanecer aberto quando outro dropdown é aberto.\nQuando definido como false (padrão), o dropdown será fechado automaticamente quando outro dropdown for aberto.\nQuando definido como true, o dropdown permanecerá aberto mesmo quando outro dropdown for aberto.",
          "values": []
        },
        {
          "name": "target-z-index",
          "description": "Define o z-index do elemento target (alvo) do dropdown.\nPermite customizar a ordem de sobreposição do painel dropdown em relação aos demais elementos da página.\nO valor padrão utiliza a variável CSS do design system: var(--z-index-layer-1).",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Desabilita a interação com o componente.\n\n> **Uso compartilhado:** mantenha esta descrição idêntica em todos os componentes que usam `disabled`.",
          "values": []
        },
        {
          "name": "aria-label",
          "description": "Define o rótulo acessível usado por tecnologias assistivas.\n\n> **Uso compartilhado:** mantenha esta descrição idêntica em todos os componentes que usam `ariaLabel`.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-footer",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/footer?tab=designer).\n---\n\n\n### **Methods:**\n - **render(): __** - Renderiza o componente.\n\n### **Slots:**\n - **logo** - Slot para o logo do rodapé, utilizando o componente br-logo.\n- **default** - Slot para o mapa do site, utilizando br-footer-category e br-footer-item.\n- **social-network** - Slot para as redes sociais, utilizando br-footer-social.\n- **partner-logo** - Slot para logos de parceiros, utilizando br-logo.\n- **legal** - Slot para informações legais, utilizando br-footer-legal.\n\n### **CSS Parts:**\n - **container** - Wrapper principal do footer.\n- **site-map** - Área do mapa do site.\n- **social** - Área de redes sociais.\n- **partners** - Área de logos de parceiros.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "theme",
          "description": "Indica o tema do rodapé.",
          "values": [{ "name": "FooterTheme" }]
        },
        {
          "name": "color-mode",
          "description": "Esquema de cor canônico. Quando informado, tem precedência sobre `theme`.",
          "values": [{ "name": "FooterTheme" }]
        },
        {
          "name": "social-network-title",
          "description": "Texto de descrição das redes sociais.",
          "values": []
        },
        {
          "name": "layout-width",
          "description": "Define a largura do container interno do rodapé.\n- `contained`: largura máxima limitada pela grade no breakpoint desktop (`container-lg`).\n- `full`: sempre ocupa 100% da largura disponível (`container-fluid`).",
          "values": [{ "name": "FooterLayoutWidth" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-footer-category",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/footer?tab=designer).\n---\n\n\n### **Methods:**\n - **render(): __** - Renderiza o componente.\n\n### **Slots:**\n - **default** - Slot para os itens da categoria no rodapé, utilizando br-footer-item.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "label",
          "description": "Título da categoria exibido no cabeçalho da lista.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-footer-item",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/footer?tab=designer).\n---\n\n\n### **Events:**\n - **brNavigate** - Evento cancelável emitido em `navigation-mode=\"event\"` para cliques primários sem modificadores em links `_self`.\nChame `event.preventDefault()` no listener para impedir a navegação nativa e entregar `event.detail.href` ao roteador da SPA.\n\n### **Methods:**\n - **render(): __** - Renderiza o componente\n\n### **Slots:**\n - **default** - Slot para o conteúdo do item no rodapé, incluindo texto ou componentes de roteamento para SPAs.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "href",
          "description": "URL ou caminho para o qual o usuário será direcionado ao clicar no item.\nQuando definido, o item será renderizado como um link.",
          "values": []
        },
        {
          "name": "navigation-mode",
          "description": "Controla como o componente integra a navegação mantendo `href` real no elemento navegável.\n- `native` (padrão): preserva o comportamento do navegador, conforme HTML/W3C.\n- `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir.\nCliques com modificadores, botão do meio ou `target` diferente de `_self` permanecem nativos.",
          "values": [{ "name": "BrNavigationMode" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-footer-legal",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/footer?tab=designer).\n---\n\n\n### **Methods:**\n - **render(): __** - Renderiza o componente.\n\n### **Slots:**\n - **default** - Slot para informações legais no rodapé, como direitos autorais ou termos de uso.\n\n### **CSS Parts:**\n - **container** - Wrapper principal do footer-legal.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-footer-logo",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/footer?tab=designer).\n---\n\n\n### **Events:**\n - **brNavigate** - Evento cancelável emitido em `navigation-mode=\"event\"` para cliques primários sem modificadores em links `_self`.\nChame `event.preventDefault()` no listener para impedir a navegação nativa e entregar `event.detail.href` ao roteador da SPA.\n\n### **Methods:**\n - **render(): __** - Monta o JSX que representa o componente.\n\n### **CSS Parts:**\n - **container** - Wrapper principal do footer-logo.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        { "name": "src", "description": "Url da logo padrão.", "values": [] },
        {
          "name": "description",
          "description": "Descrição da logo.",
          "values": []
        },
        {
          "name": "position",
          "description": "Posição da logo.",
          "values": [{ "name": "FooterLogoPosition" }]
        },
        {
          "name": "is-partner",
          "description": "Define se a logo é de um parceiro.",
          "values": []
        },
        {
          "name": "partner",
          "description": "Identifica logo de parceiro. Quando informada, tem precedência sobre `isPartner`.",
          "values": []
        },
        {
          "name": "href",
          "description": "URL de destino quando a logo for clicada.\nSe fornecido, a logo será envolvida em um link.",
          "values": []
        },
        {
          "name": "target",
          "description": "Target do link quando href é fornecido.",
          "values": [{ "name": "BrLinkTarget" }]
        },
        {
          "name": "navigation-mode",
          "description": "Controla como o componente integra a navegação mantendo `href` real no elemento navegável.\n- `native` (padrão): preserva o comportamento do navegador, conforme HTML/W3C.\n- `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir.\nCliques com modificadores, botão do meio ou `target` diferente de `_self` permanecem nativos.",
          "values": [{ "name": "BrNavigationMode" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-footer-social",
      "description": "O subcomponente `br-footer-social` representa os ícones de redes sociais no rodapé do site, de acordo com a documentação de design do GovBR.\nEle deve ser utilizado como filho direto do componente [`br-footer`](/docs/components/footer).\n---\n\n\n### **Events:**\n - **brNavigate** - Evento cancelável emitido em `navigation-mode=\"event\"` para cliques primários sem modificadores em links `_self`.\nChame `event.preventDefault()` no listener para impedir a navegação nativa e entregar `event.detail.href` ao roteador da SPA.\n\n### **Methods:**\n - **render(): __** - Renderiza o componente.\n\n### **Slots:**\n - **icon** - Ícone personalizado. Quando preenchido, substitui o ícone definido por `icon`.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        { "name": "icon", "description": "Ícone da rede social", "values": [] },
        {
          "name": "description",
          "description": "Descrição do ícone da rede social",
          "values": []
        },
        { "name": "href", "description": "URL da rede social", "values": [] },
        {
          "name": "target",
          "description": "Target do link quando href é fornecido.",
          "values": [{ "name": "BrLinkTarget" }]
        },
        {
          "name": "navigation-mode",
          "description": "Controla como o componente integra a navegação mantendo `href` real no elemento navegável.\n- `native` (padrão): preserva o comportamento do navegador, conforme HTML/W3C.\n- `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir.\nCliques com modificadores, botão do meio ou `target` diferente de `_self` permanecem nativos.",
          "values": [{ "name": "BrNavigationMode" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-header",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/header?tab=designer).\n\n### Acionamento de Menu Associado\nPara integrar o cabeçalho com um menu (`br-menu`), passe um botão no slot `menu-trigger` com os seguintes atributos:\n- `data-toggle=\"menu\"`\n- `data-target=\"#id-do-menu\"` (substitua pelo ID ou `customId` do seu `br-menu`)\n\nO componente `br-menu` escuta a esses atributos no escopo do documento e controlará automaticamente sua visibilidade.\n---\n\n\n### **Events:**\n - **headerCompactChange** - Evento disparado quando o cabeçalho entra ou sai do modo compacto.\nO evento contém os detalhes do estado compacto e o ID do componente pai.\n- **brHeaderCompactChange** - Evento canônico emitido quando o modo compacto muda.\n- **headerWidthChange** - Evento disparado para indicar qual lista deve encolher primeiro.\nO evento contém os detalhes do ID do componente pai e o nome da lista.\n- **brMenuToggle** - Evento disparado para alternar o estado de um menu associado.\n- **brNavigate** - Evento cancelável emitido em `navigation-mode=\"event\"` para cliques primários sem modificadores em links `_self`.\nChame `event.preventDefault()` no listener para impedir a navegação nativa e entregar `event.detail.href` ao roteador da SPA.\n\n### **Methods:**\n - **watchIsCompact(newValue: _boolean_)** - Observa mudanças na propriedade isCompact.\n- **resetHeaderList()** - Reinicializa o estado das listas do cabeçalho, disparando o evento de redimensionamento.\nPode ser chamado externamente para forçar a atualização das listas.\n- **render(): __** - Renderiza o componente.\n\n### **Slots:**\n - **logo** - Slot para a logo do cabeçalho.\n- **signature** - Slot para a assinatura visual da organização.\n- **links** - Slot para links de navegação principais.\n- **functions** - Slot para botões de ação no cabeçalho.\n- **search** - Slot para o campo de busca.\n- **access** - Slot para o botão de acesso ou autenticação.\n- **menu-trigger** - Slot para o botão que abre o menu.\n- **caption** - Slot para o título do cabeçalho.\n- **subcaption** - Slot para o subtítulo do cabeçalho.\n\n### **CSS Parts:**\n - **header** - Elemento header principal.\n- **top** - Área superior do header.\n- **top-left** - Área superior esquerda (logo + assinatura).\n- **top-right** - Área superior direita (links + funções + busca + acesso).\n- **bottom** - Área inferior do header.\n- **bottom-left** - Área inferior esquerda (menu + título).\n- **bottom-right** - Área inferior direita (busca expandida).",
      "attributes": [
        {
          "name": "caption",
          "description": "Texto exibido como título do cabeçalho.",
          "values": []
        },
        {
          "name": "caption-url",
          "description": "URL associada ao título do cabeçalho.",
          "values": []
        },
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "density",
          "description": "Define a densidade visual do componente.\n\n- `small`: Alta densidade (componente menor, mais compacto e com menos espaçamento).\n- `medium`: Densidade intermediária, padrão recomendado para a maioria dos casos.\n- `large`: Baixa densidade (componente maior, mais espaçamento e altura).",
          "values": [{ "name": "HeaderDensity" }]
        },
        {
          "name": "is-compact",
          "description": "Ativa o modo compacto do cabeçalho.",
          "values": []
        },
        {
          "name": "compact",
          "description": "Estado compacto canônico. Quando informado, tem precedência sobre `isCompact`.",
          "values": []
        },
        {
          "name": "is-sticky",
          "description": "Fixa o cabeçalho no topo durante a rolagem.",
          "values": []
        },
        {
          "name": "sticky",
          "description": "Fixa o cabeçalho no topo. Quando informado, tem precedência sobre `isSticky`.",
          "values": []
        },
        {
          "name": "signature",
          "description": "Texto da assinatura exibida ao lado da logo.",
          "values": []
        },
        {
          "name": "shrink-first",
          "description": "Define qual lista encolhe primeiro quando o espaço é limitado.",
          "values": [{ "name": "HeaderShrinkFirst" }]
        },
        {
          "name": "subcaption",
          "description": "Texto exibido como subtítulo do cabeçalho.",
          "values": []
        },
        {
          "name": "subcaption-url",
          "description": "URL associada ao subtítulo do cabeçalho.",
          "values": []
        },
        {
          "name": "navigation-mode",
          "description": "Controla como os links internos do cabeçalho integram a navegação mantendo `href` real.\n- `native` (padrão): preserva o comportamento do navegador, conforme HTML/W3C.\n- `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir.",
          "values": [{ "name": "BrNavigationMode" }]
        },
        {
          "name": "layout-width",
          "description": "Define a largura do container interno do cabeçalho.\n- `contained`: largura máxima limitada pela grade no breakpoint desktop (`container-lg`).\n- `full`: sempre ocupa 100% da largura disponível (`container-fluid`).",
          "values": [{ "name": "HeaderLayoutWidth" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-header-function",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/header?tab=designer).\n---\n\n\n### **Events:**\n - **brNavigate** - Evento cancelável emitido em `navigation-mode=\"event\"` para cliques primários sem modificadores em links `_self`.\nChame `event.preventDefault()` no listener para impedir a navegação nativa e entregar `event.detail.href` ao roteador da SPA.\n\n### **Methods:**\n - **handleHeaderWidthChange(event: _CustomEvent<{ id: string; listNames: string[]; shrink: boolean }>_)** - Listener para o evento 'headerWidthChange', disparado pelo componente pai 'br-header'.\nO evento contém o ID do pai e o nome da lista.\nSe o ID do pai corresponder ao ID do cabeçalho atual, o evento será tratado.\n- **render(): __** - Renderiza o componente.\n\n### **Slots:**\n - **default** - Slot para o nome ou rótulo da funcionalidade.\n- **icon** - Slot para ícone que representa a funcionalidade.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "href",
          "description": "URL de destino da funcionalidade.",
          "values": []
        },
        {
          "name": "icon-name",
          "description": "Nome Iconify do ícone exibido.",
          "values": []
        },
        {
          "name": "target",
          "description": "Define o alvo do link quando `href` está presente. Pode ser:\n- `_blank` para abrir em uma nova aba,\n- `_self` para abrir na mesma aba,\n- `_parent` para abrir na aba pai,\n- `_top` para abrir na aba superior.",
          "values": [{ "name": "BrLinkTarget" }]
        },
        {
          "name": "navigation-mode",
          "description": "Controla como o componente integra a navegação mantendo `href` real no elemento navegável.\n- `native` (padrão): preserva o comportamento do navegador, conforme HTML/W3C.\n- `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir.\nCliques com modificadores, botão do meio ou `target` diferente de `_self` permanecem nativos.",
          "values": [{ "name": "BrNavigationMode" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-header-link",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/header?tab=designer).\n---\n\n\n### **Events:**\n - **brNavigate** - Evento cancelável emitido em `navigation-mode=\"event\"` para cliques primários sem modificadores em links `_self`.\nChame `event.preventDefault()` no listener para impedir a navegação nativa e entregar `event.detail.href` ao roteador da SPA.\n\n### **Methods:**\n - **render(): __** - Renderiza o componente.\n\n### **Slots:**\n - **default** - Slot para o conteúdo do link exibido no cabeçalho.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        { "name": "href", "description": "URL do link.", "values": [] },
        {
          "name": "target",
          "description": "Define o alvo do link quando `href` está presente. Pode ser:\n- `_blank` para abrir em uma nova aba,\n- `_self` para abrir na mesma aba,\n- `_parent` para abrir na aba pai,\n- `_top` para abrir na aba superior.",
          "values": [{ "name": "BrLinkTarget" }]
        },
        {
          "name": "navigation-mode",
          "description": "Controla como o componente integra a navegação mantendo `href` real no elemento navegável.\n- `native` (padrão): preserva o comportamento do navegador, conforme HTML/W3C.\n- `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir.\nCliques com modificadores, botão do meio ou `target` diferente de `_self` permanecem nativos.",
          "values": [{ "name": "BrNavigationMode" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-header-list",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/header?tab=designer).\n---\n\n\n### **Events:**\n - **headerListUpdate** - Evento disparado para indicar qual lista deve encolher primeiro.\nO evento envia o ID do componente pai e o nome da lista.\n- **headerListFocused** - Evento disparado quando a lista recebe foco.\nO evento envia o ID do componente.\n\n### **Methods:**\n - **closeList()** - Fecha a lista.\n- **isListOpen(): __** - Verifica se a lista está aberta.\n- **openList(): _Promise<void>_** - Abre a lista.\n- **render(): __** - Renderiza o componente.\n\n### **Slots:**\n - **default** - Slot para o conteúdo da lista de navegação no cabeçalho.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "list-title",
          "description": "Título da lista.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-header-logo",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/header?tab=designer).\n---\n\n\n### **Events:**\n - **brNavigate** - Evento cancelável emitido em `navigation-mode=\"event\"` para cliques primários sem modificadores em links `_self`.\nChame `event.preventDefault()` no listener para impedir a navegação nativa e entregar `event.detail.href` ao roteador da SPA.\n\n### **Methods:**\n - **handleIsCompactChange()** - Observa mudanças na propriedade `isCompact` e ajusta a altura da logo se `hasDefaultHeight` for verdadeiro.\n- **render(): __** - Renderiza o componente.\n\n### **Slots:**\n - **default** - Slot para a logo personalizada exibida no cabeçalho.\n\n### **CSS Parts:**\n - **container** - Wrapper da logo do header.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "description",
          "description": "Texto alternativo/descritivo da logo.",
          "values": []
        },
        {
          "name": "href",
          "description": "URL de destino quando a logo for clicada.\nSe fornecido, a logo será envolvida em um link.",
          "values": []
        },
        {
          "name": "is-compact",
          "description": "Alterna para versão compacta quando true.",
          "values": []
        },
        {
          "name": "target",
          "description": "Target do link quando href é fornecido.",
          "values": [{ "name": "BrLinkTarget" }]
        },
        {
          "name": "navigation-mode",
          "description": "Controla como o componente integra a navegação mantendo `href` real no elemento navegável.\n- `native` (padrão): preserva o comportamento do navegador, conforme HTML/W3C.\n- `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir.\nCliques com modificadores, botão do meio ou `target` diferente de `_self` permanecem nativos.",
          "values": [{ "name": "BrNavigationMode" }]
        },
        { "name": "src", "description": "Url da logo padrão.", "values": [] },
        { "name": "width", "description": "Largura da imagem.", "values": [] },
        { "name": "height", "description": "Altura da imagem.", "values": [] }
      ],
      "references": []
    },
    {
      "name": "br-icon",
      "description": "O componente `br-icon` fornece uma maneira flexível e dinâmica de incorporar ícones nas aplicações.\nEle aceita arquivos de imagem da aplicação por URL, SVG inline e conteúdo via slot.\nNomes Iconify por `iconName` continuam disponíveis somente para compatibilidade legada.\n\nCom opções para especificar a altura e largura, adicionar classes CSS personalizadas, e definir como o ícone\ndeve ser rotacionado ou espelhado, o `br-icon` oferece aos desenvolvedores as ferramentas necessárias para\nintegrar ícones de forma consistente com o estilo e design de suas aplicações, melhorando a experiência do usuário\ne a clareza das interfaces.\n---\n\n\n### **Slots:**\n - _default_ - Conteúdo customizado do ícone. Pode receber elementos como `<i>`, `<svg>` ou componentes de outras bibliotecas.\n\n### **CSS Parts:**\n - **icon** - Elemento interno que representa o ícone renderizado.\n- **image** - Elemento img interno quando `src` é usado.\n- **svg** - Elemento interno que recebe SVG inline quando `svg` é usado.\n- **slot** - Elemento interno que recebe conteúdo via slot.",
      "attributes": [
        {
          "name": "label",
          "description": "Texto alternativo para ícones informativos. Sem label, o ícone é decorativo.",
          "values": []
        },
        {
          "name": "icon-name",
          "description": "Nome do ícone a ser exibido utilizando a biblioteca Iconify.",
          "values": []
        },
        {
          "name": "src",
          "description": "URL ou caminho local para um arquivo de imagem que será usado como ícone.\nO caminho é resolvido pelo navegador no contexto da aplicação consumidora,\nportanto pode ser relativo (`./assets/icone.svg`), absoluto (`/assets/icone.svg`)\nou uma URL completa.\nAceita SVG, PNG, WebP e outros formatos suportados pelo elemento `img`.",
          "values": []
        },
        {
          "name": "svg",
          "description": "Conteúdo SVG inline a ser renderizado como ícone.\n\nUse apenas SVGs confiáveis e sanitizados pela aplicação.",
          "values": []
        },
        {
          "name": "source",
          "description": "Define explicitamente a origem do ícone.\nQuando `auto`, o componente prioriza slot, SVG inline e imagem por URL.\nIconify fica apenas como fallback de compatibilidade quando nenhuma fonte própria foi informada.",
          "values": [{ "name": "IconSource" }]
        },
        {
          "name": "height",
          "description": "Define a altura do ícone. Pode ser especificada em qualquer unidade CSS válida, como pixels (px), ems (em), rems (rem), etc.\nO valor padrão é '16'. O tamanho pode ser sobrescrito independentemente da largura.",
          "values": []
        },
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "width",
          "description": "Define a largura do ícone. Pode ser especificada em qualquer unidade CSS válida, como pixels (px), ems (em), rems (rem), etc.\nO valor padrão é '16'. A largura pode ser sobrescrita independentemente da altura.",
          "values": []
        },
        {
          "name": "css-classes",
          "description": "Permite adicionar classes CSS adicionais ao ícone.\nUse esta propriedade para aplicar estilos personalizados ao ícone, além dos estilos padrão.",
          "values": []
        },
        {
          "name": "is-inline",
          "description": "Exibe o rótulo e o controle na mesma linha.",
          "values": []
        },
        {
          "name": "inline",
          "description": "Renderiza o ícone inline. Quando informada, tem precedência sobre `isInline`.",
          "values": []
        },
        {
          "name": "rotate",
          "description": "Define o ângulo de rotação do ícone.",
          "values": [{ "name": "IconRotate" }]
        },
        {
          "name": "flip",
          "description": "Define o tipo de espelhamento do ícone.",
          "values": [{ "name": "IconFlip" }]
        },
        {
          "name": "is-focusable",
          "description": "Determina se o ícone pode receber foco.\nSe definido como verdadeiro, o ícone pode ser navegado usando Tab.\nO valor padrão é `false`.",
          "values": []
        },
        {
          "name": "focusable",
          "description": "Torna o ícone focável. Quando informada, tem precedência sobre `isFocusable`.",
          "values": []
        },
        {
          "name": "lazy",
          "description": "Controla o comportamento de carregamento do ícone.\n\nComportamento:\n- Padrão (propriedade não definida): carregamento imediato aplicando `noobserver` para evitar problemas de layout shift\n- `lazy={true}`: ativa o carregamento tardio nativo para imagens em `src` e o observer do Iconify no fallback legado\n- `lazy={false}`: carregamento imediato\n\n**Nota**: O padrão foi alterado para carregamento imediato para resolver problemas de deslocamento de layout\nque ocorriam quando ícones eram carregados depois do conteúdo inicial.\n\nSVG inline e conteúdo em slot não precisam de carregamento tardio, pois já estão disponíveis no DOM.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-input",
      "description": "## Design System\n\nPara 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/input?tab=designer).\n\n### Validação e Acessibilidade\n- **Validação:** Utilize a propriedade `state=\"danger\"` para indicar um campo inválido e forneça o motivo no slot `feedback` utilizando o `<br-message>`. O gerenciamento da regra de validação é de responsabilidade da aplicação ou framework consumidor.\n- **Acessibilidade:** Este componente respeita a navegação por teclado e automaticamente sinaliza erros para leitores de tela quando `state=\"danger\"` é ativado. Se o campo não possuir rótulo visual (label), use a propriedade `aria-label`.\n---\n\n\n### **Events:**\n - **valueChange** - Valor atualizado do input\n- **brClear** - Emitted when the input clear button action is triggered.\n- **brInputValidationChange** - Informa o início e o resultado do validator, inclusive quando ele consulta\num serviço remoto. O `detail` contém `validating`, `valid` e `message`;\nescrita programática e reset não representam interação do usuário.\n\n### **Methods:**\n - **reportValidity(): _Promise<boolean>_** - Retorna `true` se o valor do input for válido, caso contrário `false`.\nSe o input for inválido, exibe uma mensagem de erro padrão do navegador.\n- **setCustomValidity(message: _string_): _Promise<void>_** - Define uma mensagem de validação customizada para o input.\nSe a mensagem for uma string vazia, o erro customizado é limpo.\n\n### Examples\n- **validate(): _Promise<boolean>_** - Executa a regra customizada e retorna se o campo está válido.\nSe o validator for assíncrono, aguarda a resposta e ignora resultados\nantigos quando uma execução posterior já começou.\n- **checkValidity(): _Promise<boolean>_** - Retorna `true` se o valor do input for válido, caso contrário `false`.\nSe o input for inválido, dispara um evento 'invalid'.\n- **getValidationState(): _Promise<FormValidationState>_** - Retorna um snapshot serializável da Constraint Validation API.\n- **select(): _Promise<void>_** - Seleciona todo o texto do controle nativo, conforme HTMLInputElement.select().\n- **setRangeText(replacement: _string_, start: _number_, end: _number_, selectionMode: _SelectionMode_): _Promise<void>_** - Substitui um intervalo de texto usando a API nativa do input.\n- **setSelectionRange(start: _number_, end: _number_, direction: _'forward' | 'backward' | 'none'_): _Promise<void>_** - Define o intervalo selecionado no controle nativo.\n- **stepUp(n: _number_): _Promise<void>_** - Incrementa o valor numérico pelo step nativo.\n- **stepDown(n: _number_): _Promise<void>_** - Decrementa o valor numérico pelo step nativo.\n- **showPicker(): _Promise<void>_** - Abre o picker nativo quando o navegador e o tipo do input oferecem essa API.\n- **render(): __** - Renderiza o componente de input.\n\n### **Slots:**\n - **action** - Botão à direita do input.\n- **icon** - Ícone à esquerda do input.\n- **help-text** - Personalização do texto de ajuda.\n- **feedback** - Mensagem de feedback como resposta específica a uma interação do usuário com o input. Pode ser feedback de erro, aviso, sucesso ou informação.\n- **validation-loading** - Indicador exibido enquanto o validator assíncrono está pendente.\n\n### **CSS Parts:**\n - **container** - Contêiner visual principal do input.\n- **label** - Rótulo do input.\n- **input** - Elemento input nativo.\n- **group** - Grupo que contém ícone, input, botão e ajuda.\n- **icon** - Contêiner do slot de ícone.\n- **action** - Botão de ação lateral.\n- **action-button** - Botão interno reexportado do br-button da ação.\n- **help-text** - Texto de ajuda ou slot de ajuda.\n- **feedback** - Slot de feedback.",
      "attributes": [
        {
          "name": "type",
          "description": "Especifica o tipo de entrada do campo.",
          "values": [{ "name": "InputType" }]
        },
        {
          "name": "autocomplete",
          "description": "Controla o comportamento de preenchimento automático do navegador para o input.",
          "values": [{ "name": "InputToggle" }]
        },
        {
          "name": "density",
          "description": "Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.",
          "values": [{ "name": "InputDensity" }]
        },
        {
          "name": "disabled",
          "description": "Desativa o input, tornando-o não interativo.",
          "values": []
        },
        {
          "name": "is-inline",
          "description": "Se verdadeiro, o rótulo e o input estarão na mesma linha (layout inline).",
          "values": []
        },
        {
          "name": "inline",
          "description": "Exibe rótulo e controle em linha. Quando informada, tem precedência sobre `isInline`.",
          "values": []
        },
        {
          "name": "is-highlight",
          "description": "Se verdadeiro, o input terá destaque visual.",
          "values": []
        },
        {
          "name": "highlight",
          "description": "Habilita destaque visual. Quando informada, tem precedência sobre `isHighlight`.",
          "values": []
        },
        {
          "name": "state",
          "description": "Define o estado do input",
          "values": [{ "name": "InputState" }]
        },
        {
          "name": "feedback-state",
          "description": "Estado de feedback canônico. Quando informado, tem precedência sobre `state`.",
          "values": [{ "name": "InputState" }]
        },
        {
          "name": "label",
          "description": "Texto exibido como rótulo do input.",
          "values": []
        },
        {
          "name": "aria-label",
          "description": "Nome acessível usado quando não há um rótulo visual.",
          "values": []
        },
        {
          "name": "custom-id",
          "description": "Identificador único.\nCaso não seja fornecido, um ID gerado automaticamente será usado.",
          "values": []
        },
        {
          "name": "name",
          "description": "Nome do input, utilizado para identificação em formulários.",
          "values": []
        },
        {
          "name": "placeholder",
          "description": "Texto exibido dentro do input quando está vazio, fornecendo uma dica ou sugestão ao usuário.",
          "values": []
        },
        {
          "name": "readonly",
          "description": "Se verdadeiro, o valor do input é exibido, mas não pode ser editado pelo usuário.",
          "values": []
        },
        {
          "name": "required",
          "description": "Se verdadeiro, o input é obrigatório e deve ser preenchido antes que o formulário possa ser enviado.",
          "values": []
        },
        {
          "name": "value",
          "description": "Valor exibido no input.\nPode ser alterado pelo usuário se a propriedade `readonly` não estiver ativa.",
          "values": []
        },
        {
          "name": "control-width",
          "description": "Largura do campo de entrada (por exemplo, '88px').\nQuando definido, sobrescreve a largura padrão de 100%.",
          "values": []
        },
        {
          "name": "borderless",
          "description": "Remove a borda do input quando não está em foco.\nÚtil para composições contextuais (ex.: paginação).",
          "values": []
        },
        {
          "name": "help-text",
          "description": "Texto adicional que fornece ajuda ou informações sobre o input.",
          "values": []
        },
        {
          "name": "autocorrect",
          "description": "Controla a correção automática do texto.",
          "values": []
        },
        {
          "name": "min",
          "description": "Define o valor mínimo para campos de entrada numéricos.",
          "values": []
        },
        {
          "name": "max",
          "description": "Define o valor máximo para campos de entrada numéricos.",
          "values": []
        },
        {
          "name": "minlength",
          "description": "Define o comprimento mínimo do valor do campo de entrada.",
          "values": []
        },
        {
          "name": "maxlength",
          "description": "Define o comprimento máximo do valor do campo de entrada.",
          "values": []
        },
        {
          "name": "multiple",
          "description": "Se verdadeiro, permite a entrada de múltiplos e-mails (quando type=\"email\").",
          "values": []
        },
        {
          "name": "pattern",
          "description": "Define o padrão de entrada para validação.",
          "values": []
        },
        {
          "name": "mask",
          "description": "Máscara aplicada ao valor digitado (use `#` para marcar posições numéricas).",
          "values": []
        },
        {
          "name": "validator",
          "description": "Função ou regra de validação customizada para o campo.\n\nA função pode ser síncrona ou assíncrona. Retorne uma mensagem para invalidar o\ncampo e `null` ou `''` para validá-lo. A regra é executada no `change` ou pelo\nmétodo `validate()`, nunca a cada tecla.\n\nEm frameworks, passe a função como property binding, por exemplo:\n`validator={validate}` no React, `[validator]=\"validate\"` no Angular ou\n`:validator=\"validate\"` no Vue.\n\nComo alternativa para HTML sem binding de propriedades, uma string pode\nreferenciar uma função global em `window`. A forma inline legada aceita apenas\ncomparação simples; JavaScript arbitrário é rejeitado para manter CSP segura.\nPrefira sempre a função por binding.\n\nDurante validações assíncronas, o campo sinaliza `aria-busy=\"true\"`, exibe o\nindicador de carregamento e emite `brInputValidationChange`.",
          "values": [{ "name": "InputValidator" }]
        },
        {
          "name": "step",
          "description": "Define o valor do passo para campos de entrada numéricos.",
          "values": []
        },
        {
          "name": "action-label",
          "description": "Texto exibido no botão de ação à direita do input.",
          "values": []
        },
        {
          "name": "action-tab-index",
          "description": "Define o tabindex do botão de ação.\nÚtil para remover o botão da sequência de tabulação quando o foco é gerenciado externamente (ex.: br-select).",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-item",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/item?tab=designer).\n---\n\n\n### **Events:**\n - **brDidClick** - Evento customizado emitido quando o item é clicado, aplicável apenas se o item for um botão (`<button>`).\nPode ser utilizado para ações personalizadas, exceto quando o item está desativado.\n- **brItemClick** - Evento canônico emitido quando o item com comportamento de botão é acionado.\n- **brDidSelect** - Evento customizado aplicável para todos os tipos de elementos (`div`, `button`, `a`), emitido quando o item é selecionado e desde que a propriedade `isInteractive` esteja presente.\nO `detail` expõe `{ selected: boolean }` indicando o novo estado.\nNão é emitido quando `disabled` está ativo.\n- **brItemSelect** - Evento canônico emitido quando a seleção muda.\n- **brNavigate** - Evento cancelável emitido em `navigation-mode=\"event\"` para cliques primários sem modificadores em links `_self`.\nChame `event.preventDefault()` no listener para impedir a navegação nativa e entregar `event.detail.href` ao roteador da SPA.\n\n### **Methods:**\n - **activate()** - Ativa o item programaticamente, simulando um clique na superfície.\nUtilizado pelo br-list para tratar Enter e Espaço via teclado, e\ninternamente pelo próprio item quando standalone (fora de br-list).\n- **setFocus()** - Define o foco no elemento interno do componente.\nEste método pode ser chamado externamente para garantir que o foco seja aplicado ao elemento correto.\n- **setTabIndex(value: _number_)** - Define o tabIndex do elemento interno.\nUtilizado pelo br-list para implementar o padrão roving tabindex,\ngarantindo que apenas um item por vez seja alcançável via Tab.\n\n### **Slots:**\n - **default** - Área de conteúdo, podendo conter qualquer componente, exceto botões primários e componentes relacionados à navegação (como carrosséis, paginações, abas, menus, etc.).\n- **start** - Área de recursos visuais, podendo conter elementos como ícones, avatares e mídias.\n- **end** - Área de recursos complementares, podendo conter componentes interativos, metadados e informações adicionais.\n\n### **CSS Parts:**\n - **item** - Elemento principal do item (botão, link ou div).",
      "attributes": [
        {
          "name": "disabled",
          "description": "Desabilita a interação com o componente.",
          "values": []
        },
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "is-active",
          "description": "Indica se o item está no estado ativo.\nSe definido como verdadeiro, o item será exibido como ativo.",
          "values": []
        },
        {
          "name": "active",
          "description": "Estado ativo canônico. Quando informado, tem precedência sobre `isActive`.",
          "values": []
        },
        {
          "name": "is-selected",
          "description": "Indica se o item está no estado selecionado.\nSe definido como verdadeiro, o item será exibido como selecionado.",
          "values": []
        },
        {
          "name": "selected",
          "description": "Estado selecionado canônico. Quando informado, tem precedência sobre `isSelected`.",
          "values": []
        },
        {
          "name": "is-interactive",
          "description": "Marca o item como interativo, permitindo que toda a superfície do item seja clicável.",
          "values": []
        },
        {
          "name": "interactive",
          "description": "Torna toda a superfície interativa. Quando informado, tem precedência sobre `isInteractive`.",
          "values": []
        },
        {
          "name": "href",
          "description": "URL ou caminho para o qual o usuário será direcionado ao clicar no item. Quando definido, o item será renderizado como um link.",
          "values": []
        },
        {
          "name": "target",
          "description": "Define o alvo do link quando `href` está presente. Pode ser:\n- `_blank` para abrir em uma nova aba,\n- `_self` para abrir na mesma aba,\n- `_parent` para abrir na aba pai,\n- `_top` para abrir na aba superior.",
          "values": [{ "name": "BrLinkTarget" }]
        },
        {
          "name": "navigation-mode",
          "description": "Controla como o componente integra a navegação mantendo `href` real no elemento navegável.\n- `native` (padrão): preserva o comportamento do navegador, conforme HTML/W3C.\n- `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir.\nCliques com modificadores, botão do meio ou `target` diferente de `_self` permanecem nativos.",
          "values": [{ "name": "BrNavigationMode" }]
        },
        {
          "name": "is-button",
          "description": "Quando definido como `true`, o item será tratado como um botão.",
          "values": []
        },
        {
          "name": "button",
          "description": "Renderiza o item como botão. Quando informado, tem precedência sobre `isButton`.",
          "values": []
        },
        {
          "name": "type",
          "description": "Tipo do botão, aplicável apenas se `isButton` for `true`. Pode ser:\n- `'submit'` para enviar um formulário,\n- `'reset'` para redefinir um formulário,\n- `'button'` para um botão padrão.",
          "values": [{ "name": "BrButtonType" }]
        },
        {
          "name": "value",
          "description": "Define um valor associado ao br-item quando renderizado como um botão, utilizado em contextos de formulário.",
          "values": []
        },
        {
          "name": "density",
          "description": "Define a densidade visual do componente.\n\n- `small`: Alta densidade (componente menor, mais compacto e com menos espaçamento).\n- `medium`: Densidade intermediária, padrão recomendado para a maioria dos casos.\n- `large`: Baixa densidade (componente maior, mais espaçamento e altura).",
          "values": [{ "name": "BrDensity" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-link",
      "description": "## Design System\n\nPara 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/link?tab=designer).\n---\n\n\n### **Events:**\n - **brNavigate** - Evento cancelável emitido em `navigation-mode=\"event\"` para cliques primários sem modificadores em links `_self`.\nChame `event.preventDefault()` no listener para impedir a navegação nativa e entregar `event.detail.href` ao roteador da SPA.\n- **brSpaNavigate**\n\n### **Slots:**\n - **default** - Conteúdo do link (texto, ícones ou outros elementos).\n\n### **CSS Parts:**\n - **anchor** - Parte exposta para o elemento âncora interno, usada para estilos customizados via `::part(anchor)`.",
      "attributes": [
        {
          "name": "href",
          "description": "URL de destino do link.",
          "values": []
        },
        {
          "name": "target",
          "description": "Define como o link será aberto.\n- `_self`: abre no mesmo contexto de navegação\n- `_blank`: abre em nova aba ou janela\n- `_parent`: abre no contexto pai\n- `_top`: abre no contexto de nível superior",
          "values": [
            { "name": "_self" },
            { "name": "_blank" },
            { "name": "_parent" },
            { "name": "_top" }
          ]
        },
        {
          "name": "rel",
          "description": "Relação entre o documento atual e o destino (`rel`).\nQuando `target=\"_blank\"`, `noopener` e `noreferrer` são sempre incluídos\n(mesmo que `rel` seja definido) para mitigar tabnabbing e vazamento de `window.opener`.",
          "values": []
        },
        {
          "name": "download",
          "description": "Nome sugerido para download. Uma string vazia preserva o nome definido pelo servidor.",
          "values": []
        },
        {
          "name": "hreflang",
          "description": "Idioma do recurso apontado pelo link.",
          "values": []
        },
        {
          "name": "referrer-policy",
          "description": "Política de referrer usada ao buscar o destino.",
          "values": [{ "name": "ReferrerPolicy" }]
        },
        {
          "name": "type",
          "description": "Tipo MIME informativo do recurso apontado.",
          "values": []
        },
        {
          "name": "navigation-mode",
          "description": "Controla como o componente integra a navegação mantendo `href` real no elemento navegável.\n- `native` (padrão): preserva o comportamento do navegador, conforme HTML/W3C.\n- `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir.\nCliques com modificadores, botão do meio ou `target` diferente de `_self` permanecem nativos.",
          "values": [{ "name": "BrNavigationMode" }]
        },
        { "name": "is-spa-link-behavior", "values": [] },
        {
          "name": "disabled",
          "description": "Desativa o link, tornando-o não interativo.\nQuando `true`: remove o `href` (um `<a>` sem `href` sai da ordem de\ntabulação e não recebe foco, nem por clique), marca `aria-disabled=\"true\"`\ne bloqueia o clique (sem navegação nem emissão de `brNavigate`).\nSe o link estiver focado no momento da desativação, o foco é removido.\nÚtil para componentes como `br-pagination` e `br-wizard`.",
          "values": []
        },
        {
          "name": "button",
          "description": "Exibe o link com o mesmo visual do componente `br-button`.",
          "values": []
        },
        {
          "name": "link-role",
          "description": "Encaminhamento de `role` para o elemento âncora interno.",
          "values": []
        },
        {
          "name": "link-aria-expanded",
          "description": "Encaminhamento de `aria-expanded` para o elemento âncora interno.",
          "values": []
        },
        {
          "name": "aria-expanded",
          "description": "Valor canônico de `aria-expanded`.",
          "values": []
        },
        {
          "name": "link-aria-selected",
          "description": "Encaminhamento de `aria-selected` para o elemento âncora interno.",
          "values": []
        },
        {
          "name": "aria-selected",
          "description": "Valor canônico de `aria-selected`.",
          "values": []
        },
        {
          "name": "link-aria-haspopup",
          "description": "Encaminhamento de `aria-haspopup` para o elemento âncora interno.",
          "values": []
        },
        {
          "name": "aria-haspopup",
          "description": "Valor canônico de `aria-haspopup`.",
          "values": []
        },
        {
          "name": "link-aria-current",
          "description": "Encaminhamento de `aria-current` para o elemento âncora interno.\nIndica o item ativo em um conjunto de navegação (breadcrumb, menu, paginação).\nValores comuns: `\"page\"` (link da página atual), `\"step\"` (etapa ativa), `\"true\"`.\nReferência: WCAG 1.3.1 e ARIA `aria-current`.",
          "values": []
        },
        {
          "name": "aria-current",
          "description": "Valor canônico de `aria-current`.",
          "values": []
        },
        {
          "name": "link-aria-label",
          "description": "Encaminhamento de `aria-label` para o elemento âncora interno.\nFornece nome acessível ao link quando o conteúdo do slot não é descritivo\npor si só (ex.: link com ícone sem texto visível).",
          "values": []
        },
        {
          "name": "aria-label",
          "description": "Valor canônico de `aria-label`.",
          "values": []
        },
        {
          "name": "link-aria-describedby",
          "description": "Encaminhamento de `aria-describedby` para o elemento âncora interno.\nReferencia o `id` de um elemento externo que descreve o link.",
          "values": []
        },
        {
          "name": "aria-describedby",
          "description": "Valor canônico de `aria-describedby`.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-list",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/list?tab=designer).\n---\n\n\n### **Methods:**\n - **focusFirstItem()** - Move o foco para o primeiro item navegável da lista.\nAPI pública para componentes que abrem a lista programaticamente\n(ex.: `br-dropdown`), evitando acesso direto ao `br-item`.\n\n### **Slots:**\n - **default** - Slot para os itens da lista.\n- **header** - Slot para ações ou conteúdo do cabeçalho da lista.\n\n### **CSS Parts:**\n - **container** - Wrapper principal da lista.",
      "attributes": [
        {
          "name": "header",
          "description": "Define o texto do cabeçalho da lista.\nQuando definido, também é usado como `aria-label` do elemento `role=\"list\"`,\nfornecendo um nome acessível que leitores de tela anunciam ao entrar na lista.",
          "values": []
        },
        {
          "name": "is-horizontal",
          "description": "Indica se a lista será horizontal. Por padrão, a lista é vertical.",
          "values": []
        },
        {
          "name": "orientation",
          "description": "Orientação canônica. Quando informada, tem precedência sobre `isHorizontal`.",
          "values": [{ "name": "horizontal" }, { "name": "vertical" }]
        },
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "hide-header-divider",
          "description": "Indica que o divider para o título da lista estará oculto.",
          "values": []
        },
        {
          "name": "divider",
          "description": "Indica se a lista possui divisores (divider) entre os itens.",
          "values": []
        },
        {
          "name": "collapse",
          "description": "Indica se a lista possui o comportamento de collapse.",
          "values": []
        },
        {
          "name": "accordion",
          "description": "Indica se a lista possui o comportamento de accordion.\nO valor da propriedade define o grupo, ou seja, o accordion é aplicado a todas as listas que possuem o mesmo valor para esta propriedade.",
          "values": []
        },
        {
          "name": "list-role",
          "description": "Semântica do host quando o conteúdo não representa itens de lista.",
          "values": [{ "name": "list" }, { "name": "group" }]
        },
        {
          "name": "density",
          "description": "Modificador de densidade da lista.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        }
      ],
      "references": []
    },
    {
      "name": "br-loading",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/loading?tab=designer).\n---\n\n\n### **Events:**\n - **brLoadingChange** - Notifica mudança de progresso no modo `progress`.\n- **brLoadingComplete** - Notifica conclusão do progresso no modo `progress`.\n- **brLoadingReset** - Notifica reinício do progresso no modo `progress`.\n- **brLoadingCancel** - Notifica clique no botão de cancelamento no modo `progress`.\nEste evento não altera o progresso automaticamente.\nA aplicação consumidora define a ação após o cancelamento (ex.: limpar ou ocultar).\n- **brIndeterminateStateChange** - Notifica mudança do estado lógico no modo `spinner`.\n- **brDidShow** - Notifica que o componente foi exibido.\n- **brLoadingShow** - Evento canônico emitido quando o loading é exibido.\n- **brDidHide** - Notifica que o componente foi ocultado.\n- **brLoadingHide** - Evento canônico emitido quando o loading é ocultado.\n\n### **Methods:**\n - **handleCompletion(newValue: _number_)** - Reage a mudanças em `value` no modo `progress`.\n- **handleModeChange()** - Reage a mudanças em `mode` e atualiza o estado lógico de atividade.\n- **setValue(value: _number_): __** - Define o valor do progresso.\n- **incrementValue(step): __** - Soma um valor ao progresso atual.\n- **complete(): __** - Define o progresso como concluído.\n- **reset(): __** - Reinicia o progresso e exibe o componente.\n- **show(): __** - Exibe o componente.\n- **hide(): __** - Oculta o componente.\n- **render(): __** - Renderiza o componente conforme o modo atual.\n\n### **Slots:**\n - **label** - Rótulo customizado do loading. Quando utilizado, a prop `label` é ignorada.\n- **cancel-button** - Conteúdo customizado do botão de cancelar. Quando utilizado, a prop `cancelLabel` é ignorada.\n\n### **CSS Parts:**\n - **container** - Wrapper principal do loading.\n- **wrapper** - Wrapper do conteúdo do spinner/progress.\n- **svg** - Elemento SVG principal do loading.\n- **percentage** - Texto de percentual no modo `progress`.\n- **label-wrapper** - Wrapper do rótulo no modo `spinner`.\n- **cancel-button** - Botão de cancelamento no modo `progress` cancelável.",
      "attributes": [
        {
          "name": "label-position",
          "description": "Define a posição da label em relação ao loading.",
          "values": [{ "name": "LoadingLabelPosition" }]
        },
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "mode",
          "description": "Define o modo de exibição do componente.",
          "values": [{ "name": "LoadingMode" }]
        },
        {
          "name": "size",
          "description": "Define o tamanho visual nos modos `spinner` e `progress`.",
          "values": [{ "name": "LoadingSize" }]
        },
        {
          "name": "density",
          "description": "Densidade visual canônica. Quando informada, tem precedência sobre `size`.",
          "values": [{ "name": "LoadingSize" }]
        },
        {
          "name": "compact",
          "description": "Remove o espaçamento externo e oculta visualmente o rótulo, mantendo-o\ndisponível para tecnologias assistivas. Use em áreas compactas, como\ncontroles de paginação ou campos de formulário.",
          "values": []
        },
        {
          "name": "speed",
          "description": "Define a velocidade da animação/transição.",
          "values": [{ "name": "LoadingSpeed" }]
        },
        {
          "name": "label",
          "description": "Define o rótulo exibido no modo `spinner`.\nNo modo `progress`, esta prop não tem efeito.",
          "values": []
        },
        {
          "name": "value",
          "description": "Define o progresso no modo `progress`.\nNo modo `spinner`, esta prop não tem efeito.\nValores inválidos são normalizados para `0`.",
          "values": []
        },
        {
          "name": "completion",
          "description": "Define o comportamento quando o progresso atinge 100.\nNo modo `spinner`, esta prop não tem efeito.",
          "values": [{ "name": "LoadingCompletionBehavior" }]
        },
        {
          "name": "cancelable",
          "description": "Define se o botão de cancelamento será exibido.\nAo pressionar o botão, o evento `brLoadingCancel` é emitido.\nNo modo `spinner`, esta prop não tem efeito.",
          "values": []
        },
        {
          "name": "cancel-label",
          "description": "Define o texto do botão de cancelamento.\nNo modo `spinner`, esta prop não tem efeito.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-magic-button",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/magic-button?tab=designer).\n---\n\n\n### **Methods:**\n - **render()** - Renderiza o componente.\n\n### **Slots:**\n - **default** - Conteúdo interno do botão (texto ou ícone).\n- **icon** - Ícone customizado do botão. Quando utilizado, a prop `icon` é ignorada.\n\n### **CSS Parts:**\n - **container** - Wrapper principal do magic-button.\n- **button** - Elemento button interno.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "label",
          "description": "Texto do rótulo do botão.\nUtilizado como conteúdo principal quando presente.",
          "values": []
        },
        {
          "name": "icon",
          "description": "Nome do ícone a ser exibido.\nDeve corresponder a um ícone disponível no sistema de ícones.",
          "values": []
        },
        {
          "name": "density",
          "description": "Define a densidade visual do componente.\n\n- `small`: Alta densidade (componente menor, mais compacto e com menos espaçamento).\n- `medium`: Densidade intermediária, padrão recomendado para a maioria dos casos.\n- `large`: Baixa densidade (componente maior, mais espaçamento e altura).",
          "values": [{ "name": "BrDensity" }]
        },
        {
          "name": "circle",
          "description": "Define se o botão terá formato circular.\nAplica contorno arredondado completo quando `true` e não houver `label`.",
          "values": []
        },
        {
          "name": "aria-label",
          "description": "Define o rótulo acessível usado por tecnologias assistivas.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-menu",
      "description": "## Design System\n\nPara 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/menu?tab=designer).\n\n### Comportamento de Acionamento Automático\nO menu monitora eventos de clique globais no documento. Qualquer elemento que possua o atributo `data-toggle=\"menu\"`\ne cujo `data-target` coincida com o ID ou `customId` do menu (ou seja omitido) irá alternar automaticamente o estado do menu (`isOpen`).\n---\n\n\n### **Events:**\n - **brMenuStateChange** - Evento emitido quando o menu abre ou fecha.\n- **brMenuOpenChange** - Evento canônico emitido quando o menu abre ou fecha.\n`detail.open` contém o estado concluído e `detail.sourceId` identifica a instância pelo `id` ou `customId`.\n\n### **Methods:**\n - **onDocumentClick(ev: _MouseEvent_)** - Escuta cliques no documento para alternar o estado do menu automaticamente\nquando um elemento com o atributo `data-toggle=\"menu\"` é clicado.\nUtiliza o caminho completo do evento (composedPath) para permitir o funcionamento\ncorreto quando o botão acionador está dentro de outros componentes com Shadow DOM (ex: br-header).\n- **open(): _Promise<void>_** - Abre o painel do menu.\nPode ser chamado externamente: `menuEl.open()`.\n- **close(): _Promise<void>_** - Fecha o painel do menu.\nPode ser chamado externamente: `menuEl.close()`.\n- **toggle(): _Promise<void>_** - Alterna o estado do painel do menu (abre se fechado, fecha se aberto).\nPode ser chamado externamente: `menuEl.toggle()`.\n\n### **Slots:**\n - **default** - Slot para o conteúdo principal do menu (menu-list, menu-group e menu-item).\n- **header** - Slot para o cabeçalho do menu, exibido apenas em modo não contextual e não push.\n- **logo** - Slot para logotipos de parceiros no rodapé.\n- **link** - Slot para links externos no rodapé (use br-menu-link).\n- **social** - Slot para ícones de redes sociais no rodapé.\n- **info** - Slot para informações adicionais no rodapé.\n\n### **CSS Parts:**\n - **footer** - Parte para o contêiner principal do rodapé do menu, agrupando logos, links, redes sociais e informações.\n- **logo** - Parte para a área de logotipos de parceiros no rodapé.\n- **link** - Parte para links úteis ou navegação secundária no rodapé.\n- **social** - Parte para ícones de redes sociais no rodapé.\n- **info** - Parte para informações adicionais, como licença ou direitos autorais.\n- **container** - Parte para o container externo que envolve o menu inteiro.\n- **panel** - Parte para o painel de navegação do menu (o menu propriamente dito).\n- **body** - Parte principal onde ficam os links e grupos de navegação.\n- **trigger** - Botão de acionamento do menu (hambúrguer ou contextual).\n- **back-btn** - Botão de voltar do menu de navegação drill-down.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "breakpoints",
          "description": "Classes CSS para definir breakpoints responsivos do menu.\nUtilize esta propriedade para controlar a largura do menu em diferentes tamanhos de tela.\nPor padrão não aplica colunas; quando contextual e sem valor definido, usa `col-sm-4 col-lg-3`.",
          "values": []
        },
        {
          "name": "push",
          "description": "Define se o menu deve usar comportamento push.\nQuando ativado, o menu permanece fixo na lateral e empurra o conteúdo principal.",
          "values": []
        },
        {
          "name": "fixed",
          "description": "Mantém o menu como uma barra lateral fixa quando estiver aberto.\nO menu continua podendo ser ocultado alterando `isOpen` ou chamando `close()`.\nA largura padrão é `20rem`, limitada à viewport, e pode ser sobrescrita\npela variável CSS `--menu-fixed-width`.",
          "values": []
        },
        {
          "name": "is-open",
          "description": "Define se o painel do menu está aberto/visível.\nEm modo push, esta propriedade permite controle externo da visibilidade.\nO nome permanece porque o método público `open()` já ocupa a propriedade `open` no host.",
          "values": []
        },
        {
          "name": "contextual",
          "description": "Define se o menu deve usar comportamento contextual (aparece na parte inferior).\nQuando ativado, o menu é posicionado na parte inferior da tela em dispositivos móveis.",
          "values": []
        },
        {
          "name": "density",
          "description": "Define a densidade dos itens do menu, alterando o espaçamento interno.\n- `small` (densidade alta): itens mais compactos\n- `medium` (padrão): equilíbrio entre economia de espaço e separação\n- `large` (densidade baixa): maior espaçamento (recomendado em touch)",
          "values": [{ "name": "MenuDensity" }]
        },
        {
          "name": "social-title",
          "description": "Título da seção de redes sociais exibida no rodapé do menu.\nUtilize esta propriedade para personalizar o texto que aparece acima dos ícones sociais.",
          "values": []
        },
        {
          "name": "contextual-label",
          "description": "Rótulo do botão trigger do menu contextual.\nExibido apenas em modo contextual e em telas menores (mobile).",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-menu-group",
      "description": "Agrupamento visual não interativo para itens de menu.\n---\n\n\n### **Slots:**\n - **default** - Itens do grupo.\n\n### **CSS Parts:**\n - **container** - Contêiner do agrupamento.\n- **label** - Rótulo visual do agrupamento.\n- **list** - Contêiner dos itens agrupados.",
      "attributes": [
        {
          "name": "label",
          "description": "Rótulo visual do grupo. O elemento não entra na ordem de foco.",
          "values": []
        },
        {
          "name": "divider",
          "description": "Exibe uma linha separadora antes do grupo.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-menu-header",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/menu-header?tab=designer).\n---\n\n\n### **Events:**\n - **brMenuToggle** - Evento emitido para alternar o estado do menu\n\n### **Slots:**\n - **logo** - Slot para logo personalizado no cabeçalho.\n- **signature** - Slot para a assinatura personalizada do sistema.\n\n### **CSS Parts:**\n - **container** - Wrapper do cabeçalho do menu.\n- **title** - Área do título com logo e assinatura.\n- **close** - Área do botão de fechar.\n- **logo** - Elemento de imagem do logotipo (se renderizado a partir de logoSrc).\n- **signature** - Elemento de texto contendo a assinatura do sistema.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "logo-src",
          "description": "URL da imagem do logo no cabeçalho do menu",
          "values": []
        },
        {
          "name": "logo-alt",
          "description": "Texto alternativo para a imagem do logo",
          "values": []
        },
        {
          "name": "signature",
          "description": "Texto de identificação do site ou sistema",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-menu-info",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/menu-info?tab=designer).\n---\n\n\n### **Slots:**\n - **default** - Slot para conteúdo personalizado no lugar do texto padrão de informações.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "info",
          "description": "Informações adicionais em formato de texto",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-menu-item",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/menu?tab=designer).\n---\n\n\n### **Events:**\n - **brNavigate** - Evento cancelável emitido em `navigation-mode=\"event\"` para cliques primários sem modificadores em links `_self`.\nChame `event.preventDefault()` no listener para impedir a navegação nativa e entregar `event.detail.href` ao roteador da SPA.\n\n### **Slots:**\n - **default** - Conteúdo textual principal exibido no item de menu.\n- **icon** - Ícone personalizado. Quando preenchido, substitui o ícone definido por `icon`.\n\n### **CSS Parts:**\n - **link** - Elemento âncora do item de menu.\n- **icon** - Ícone do item de menu.\n- **content** - Conteúdo textual do item de menu.\n- **support** - Ícone de suporte (seta para baixo/direita).",
      "attributes": [
        {
          "name": "icon",
          "description": "Ícone exibido no item do menu.\nUtilize esta propriedade para definir o ícone que será mostrado ao lado do conteúdo do item.",
          "values": []
        },
        {
          "name": "href",
          "description": "URL de destino do link do item do menu.\nUtilize esta propriedade para definir o endereço para onde o usuário será direcionado ao clicar no item.",
          "values": []
        },
        {
          "name": "target",
          "description": "Define como o link será aberto.\n- `_self`: abre no mesmo contexto de navegação (padrão)\n- `_blank`: abre em nova aba ou janela\n- `_parent`: abre no contexto pai\n- `_top`: abre no contexto de nível superior",
          "values": [{ "name": "BrLinkTarget" }]
        },
        {
          "name": "divider",
          "description": "Define se o item deve exibir um divisor visual.\nQuando ativado, adiciona uma linha separadora para organizar visualmente os itens do menu.",
          "values": []
        },
        {
          "name": "active",
          "description": "Define se o item do menu está ativo/selecionado.\nQuando ativado, aplica estilos visuais para destacar o item como atual ou selecionado.",
          "values": []
        },
        {
          "name": "display-mode",
          "description": "Define o modo de exibição do item, controlando os ícones de expansão.\n- `accordion`: exibe setas para cima/baixo (usado em menus de nível 0).\n- `drill-down`: exibe seta para a direita (usado em menus de níveis 1+).\n- `none`: não exibe ícones de expansão.",
          "values": [{ "name": "MenuItemDisplayMode" }]
        },
        {
          "name": "expanded",
          "description": "Indica se o item está expandido para fins de acessibilidade (ARIA).\nEste estado é controlado externamente (por exemplo, por br-menu-list).\nNão altera o estado visual de \"active\".",
          "values": []
        },
        {
          "name": "navigation-mode",
          "description": "Controla como o componente integra a navegação mantendo `href` real no elemento navegável.\n- `native` (padrão): preserva o comportamento do navegador, conforme HTML/W3C.\n- `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir.\nCliques com modificadores, botão do meio ou `target` diferente de `_self` permanecem nativos.",
          "values": [{ "name": "BrNavigationMode" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-menu-link",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/menu?tab=designer).\n---\n\n\n### **Events:**\n - **brLinkClick** - Evento emitido quando o link externo é clicado.\n- **brMenuLinkClick** - Evento canônico emitido quando o link externo é clicado.\n- **brNavigate** - Evento cancelável emitido em `navigation-mode=\"event\"` para cliques primários sem modificadores em links `_self`.\nChame `event.preventDefault()` no listener para impedir a navegação nativa e entregar `event.detail.href` ao roteador da SPA.\n\n### **Slots:**\n - **icon** - Slot para ícone personalizado do link.\n- **url** - Slot para o texto exibido no link.\n\n### **CSS Parts:**\n - **link** - Elemento âncora do link.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        { "name": "href", "description": "URL do link.", "values": [] },
        {
          "name": "target",
          "description": "Destino do link.",
          "values": [{ "name": "BrLinkTarget" }]
        },
        {
          "name": "navigation-mode",
          "description": "Controla como o componente integra a navegação mantendo `href` real no elemento navegável.\n- `native` (padrão): preserva o comportamento do navegador, conforme HTML/W3C.\n- `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir.\nCliques com modificadores, botão do meio ou `target` diferente de `_self` permanecem nativos.",
          "values": [{ "name": "BrNavigationMode" }]
        },
        { "name": "titulo", "description": "Título do link", "values": [] },
        {
          "name": "label",
          "description": "Texto canônico do link. Quando informado, tem precedência sobre `titulo`.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-menu-list",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/menu?tab=designer).\n---\n\n\n### **Events:**\n - **folderToggled** - Emitido quando um folder é expandido ou recolhido no nível 0 (comportamento acordeão).\n- **navigateToSubmenu** - Emitido quando navegando para um submenu nos níveis 1+ (comportamento drill-down).\n\n### **Slots:**\n - **default** - Itens filhos renderizados no conteúdo do grupo.\n- **icon** - Ícone personalizado do item principal. Quando preenchido, substitui `icon`.\n\n### **CSS Parts:**\n - **container** - Wrapper do grupo de menu.\n- **list** - Lista de itens do grupo.\n- **header-link** - Elemento âncora do item de menu principal (header).\n- **header-icon** - Ícone do item de menu principal (header).\n- **header-content** - Conteúdo textual do item de menu principal (header).\n- **header-support** - Ícone de suporte (seta) do item de menu principal (header).",
      "attributes": [
        {
          "name": "icon",
          "description": "Ícone exibido no item do menu.\nUtilize esta propriedade para definir o ícone que será mostrado ao lado do label.",
          "values": []
        },
        {
          "name": "label",
          "description": "Texto do label do item do menu.\nUtilize esta propriedade para definir o texto que será exibido no item do menu.",
          "values": []
        },
        {
          "name": "menu-level",
          "description": "Nível do menu na hierarquia de navegação.\nUtilizado para determinar o comportamento do menu (acordeão para nível 0, drill-down para níveis superiores).",
          "values": []
        },
        {
          "name": "divider",
          "description": "Define se o item deve exibir um divisor visual.\nQuando ativado, adiciona uma linha separadora para organizar visualmente os itens do menu.",
          "values": []
        },
        {
          "name": "expanded",
          "description": "Define se o menu-list inicia expandido.\nÚtil para manter agrupamentos abertos por padrão no menu contextual.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-menu-logo",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/menu?tab=designer).\n---\n\n\n### **Events:**\n - **brMenuLogoError** - Emitido quando a imagem principal e o fallback falham.\n- **brMenuLogoError**\n\n### **Slots:**\n - **default** - Slot para logo ou conteúdo que substitui a imagem padrão.\n\n### **CSS Parts:**\n - **container** - Wrapper da logo.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        { "name": "src", "description": "URL da imagem", "values": [] },
        {
          "name": "fallback-src",
          "description": "URL opcional usada uma única vez quando `src` falha.",
          "values": []
        },
        {
          "name": "alt",
          "description": "Texto alternativo da imagem",
          "values": []
        },
        {
          "name": "width",
          "description": "Largura da imagem (com unidade, ex: '100px', '50%')",
          "values": []
        },
        {
          "name": "height",
          "description": "Altura da imagem (com unidade, ex: '80px', 'auto')",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-menu-social",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/menu?tab=designer).\n---\n\n\n### **Events:**\n - **brSocialClick** - Evento emitido quando o link de rede social é clicado.\n- **brMenuSocialClick** - Evento canônico emitido quando o link de rede social é clicado.\n- **brNavigate** - Evento cancelável emitido em `navigation-mode=\"event\"` para cliques primários sem modificadores em links `_self`.\nChame `event.preventDefault()` no listener para impedir a navegação nativa e entregar `event.detail.href` ao roteador da SPA.\n\n### **Slots:**\n - **icon** - Slot para ícone personalizado da rede social.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        { "name": "href", "description": "URL do link.", "values": [] },
        {
          "name": "target",
          "description": "Target do link quando href é fornecido.",
          "values": [{ "name": "BrLinkTarget" }]
        },
        {
          "name": "navigation-mode",
          "description": "Controla como o componente integra a navegação mantendo `href` real no elemento navegável.\n- `native` (padrão): preserva o comportamento do navegador, conforme HTML/W3C.\n- `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir.\nCliques com modificadores, botão do meio ou `target` diferente de `_self` permanecem nativos.",
          "values": [{ "name": "BrNavigationMode" }]
        },
        {
          "name": "aria-label",
          "description": "Define o rótulo acessível usado por tecnologias assistivas.",
          "values": []
        },
        { "name": "icon", "description": "Ícone da rede social", "values": [] }
      ],
      "references": []
    },
    {
      "name": "br-message",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/message?tab=designer).\n---\n\n\n### **Events:**\n - **brDidClose** - Evento emitido quando o usuário fecha a mensagem, se closable for true.\n- **brMessageClose** - Evento canônico emitido quando a mensagem é fechada.\n\n### **Slots:**\n - **default** - Conteúdo principal da mensagem. Quando utilizado, a prop `message` é ignorada.\n- **icon** - Ícone customizado da mensagem. Quando utilizado, o ícone padrão gerado pela prop `state` é ignorado.\n- **message-title** - Título customizado da mensagem. Quando utilizado, a prop `messageTitle` é ignorada.\n- **message-body** - Corpo customizado da mensagem. Quando utilizado, a prop `message` é ignorada.\n- **close-button** - Botão de fechar customizado. Quando utilizado, o botão padrão é substituído.\n\n### **CSS Parts:**\n - **container** - Wrapper principal da mensagem.\n- **icon** - Área do ícone da mensagem.\n- **content** - Área de conteúdo da mensagem.\n- **close** - Área do botão de fechar.",
      "attributes": [
        {
          "name": "message-title",
          "description": "Define o título da mensagem, que é exibido no início, acima da mensagem principal.\nEste título serve para destacar a mensagem textual. Não é aplicável para mensagens do tipo feedback.",
          "values": []
        },
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "message",
          "description": "Define o texto da mensagem que será exibido.\nEste é o conteúdo principal da mensagem. A propriedade `message` é obrigatória e deve ser fornecida para que a mensagem apareça.",
          "values": []
        },
        {
          "name": "is-inline",
          "description": "Exibe o rótulo e o controle na mesma linha.",
          "values": []
        },
        {
          "name": "inline",
          "description": "Exibe o conteúdo em linha. Quando informada, tem precedência sobre `isInline`.",
          "values": []
        },
        {
          "name": "is-closable",
          "description": "Se definido como verdadeiro, um botão de fechar será exibido para permitir que o usuário feche a mensagem.\nO fechamento emitirá o evento `brDidClose`, mas não removerá automaticamente o componente do DOM, a menos que a propriedade `autoRemove` também esteja definida como `true`.\nEste recurso não está disponível para mensagens do tipo feedback.",
          "values": []
        },
        {
          "name": "closable",
          "description": "Exibe ação de fechar. Quando informada, tem precedência sobre `isClosable`.",
          "values": []
        },
        {
          "name": "auto-remove",
          "description": "Controla o comportamento do fechamento do componente quando `isClosable` é verdadeiro.\n- Se definido como `true`, o componente será automaticamente removido do DOM ao clicar no botão de fechar.\n- Se definido como `false`, o componente permanecerá no DOM e apenas emitirá o evento `brDidClose`.\n\nEsta propriedade não tem efeito se `isClosable` for `false`.\nO valor padrão é `false`.",
          "values": []
        },
        {
          "name": "show-icon",
          "description": "Se definido como verdadeiro, um ícone associado à mensagem será exibido.\nUse esta propriedade para mostrar ou ocultar o ícone da mensagem conforme necessário.",
          "values": []
        },
        {
          "name": "is-feedback",
          "description": "Define se a mensagem é do tipo feedback, geralmente usada para fornecer contexto adicional sobre ações do usuário.\nExemplos incluem mensagens de validação em campos de formulário. Não disponível para mensagens que não sejam de feedback.",
          "values": []
        },
        {
          "name": "feedback",
          "description": "Usa apresentação de feedback. Quando informada, tem precedência sobre `isFeedback`.",
          "values": []
        },
        {
          "name": "state",
          "description": "Define o estado do message.\nOs possíveis valores são:\n- 'info': Mensagem informativa.\n- 'warning': Mensagem de aviso.\n- 'danger': Mensagem de erro ou alerta.\n- 'success': Mensagem de sucesso.\nO valor padrão é 'info'.",
          "values": [{ "name": "BrFeedbackState" }]
        },
        {
          "name": "feedback-state",
          "description": "Estado de feedback canônico. Quando informado, tem precedência sobre `state`.",
          "values": [{ "name": "BrFeedbackState" }]
        },
        {
          "name": "aria-label",
          "description": "Define o rótulo acessível usado por tecnologias assistivas.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-modal",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/modal?tab=designer).\n---\n\n\n### **Events:**\n - **brModalOpen** - Evento emitido quando o modal é aberto (quando `show` muda de `false` para `true`).\n- **brModalClose** - Evento emitido após o modal ser fechado (quando `show` muda de `true` para `false`).\n- **brModalBeforeClose** - Evento emitido antes do fechamento do modal (quando o botão X é clicado).\nSe autoClose está desativado, o desenvolvedor deve fechar manualmente o modal após este evento.\nSe autoClose está ativado, o modal fecha automaticamente após este evento.\n- **brModalOpened** - Evento emitido após o modal estar completamente aberto e com o foco estabilizado\ndentro dele. Complementa `brModalOpen` (que dispara imediatamente ao abrir):\nuse `brModalOpened` quando precisar interagir com o modal já pronto.\n\n### **Methods:**\n - **open()** - Método público para abrir o modal\n- **showModal(): _Promise<void>_** - Abre o modal usando a nomenclatura de `HTMLDialogElement`.\n- **close()** - Método público para fechar o modal\n- **requestClose(): _Promise<void>_** - Solicita fechamento e permite cancelamento pelo evento `cancel`.\n- **toggle()** - Método público para alternar a visibilidade do modal\n\n### **Slots:**\n - **header** - Cabeçalho do modal. Se não for usado, o `title-text` será exibido.\n- **default** - Corpo do modal.\n- **footer** - Rodapé do modal.\n- **close-button** - Botão de fechar customizado. Se não for usado, o botão padrão será exibido.\n\n### **CSS Parts:**\n - **container** - Wrapper principal do modal.\n- **header** - Cabeçalho do modal.\n- **title** - Título do modal.\n- **body** - Corpo do modal.\n- **footer** - Rodapé do modal.\n- **close-button** - Botão de fechar do modal.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "title-text",
          "description": "O texto do título a ser exibido no cabeçalho do modal. Usado quando o slot `header` não é fornecido.",
          "values": []
        },
        {
          "name": "show",
          "description": "Controla a visibilidade do modal.",
          "values": []
        },
        {
          "name": "auto-close",
          "description": "Define o comportamento de fechamento do modal.\n\n- `true`: O modal fecha automaticamente ao clicar no botão fechar.\n- `false`: O modal emite `brModalBeforeClose` mas não fecha, permitindo a implementação de lógica customizada (validação, confirmação, etc.) antes do fechamento. O desenvolvedor deve\n  controlar manualmente o fechamento.",
          "values": []
        },
        {
          "name": "initial-focus-selector",
          "description": "Seletor CSS do elemento que deve receber foco quando o modal é aberto (ex: `\"#meu-elemento\"`).",
          "values": []
        },
        {
          "name": "size",
          "description": "Define o tamanho (largura) do modal.",
          "values": [{ "name": "ModalSize" }]
        },
        {
          "name": "scrollable",
          "description": "Se `true`, habilita a rolagem interna do conteúdo do modal.",
          "values": []
        },
        {
          "name": "align-footer",
          "description": "Define o alinhamento do conteúdo do rodapé (slot=\"footer\").",
          "values": [{ "name": "ModalFooterAlign" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-notification",
      "description": "## Design System\n\nPara a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais,\nconsulte o [Design System do GovBR](https://www.gov.br/ds/components/notification?tab=designer).\n---\n\n\n### **Events:**\n - **brOpenChange** - Informa a mudança de estado aberto/fechado do painel.\n- **brNotificationOpen** - Informa que o painel foi aberto.\n- **brNotificationClose** - Informa que o painel foi fechado.\n- **brNotificationItemClick** - Expõe a interação com um item da lista.\n- **brNotificationTabChange** - Informa troca de aba quando o componente possuir navegação por tabs.\n\n### **Methods:**\n - **show()** - Abre o painel de notificações.\n- **hide(reason: _NotificationCloseReason_)** - Fecha o painel de notificações.\n- **toggle()** - Alterna o estado aberto/fechado.\n- **focusTrigger()** - Move o foco de volta para o acionador.\n- **focusFirstItem()** - Move o foco para o primeiro item interativo da lista.\n\n### **Slots:**\n - **trigger** - Elemento acionador externo responsável por abrir e fechar o painel.\n- **header** - Região superior do componente, para uso com subcomponentes de cabeçalho ou conteúdo customizado.\n- **tabs** - Região opcional para navegação por abas.\n- **default** - Região principal da lista de notificações.\n- **footer** - Região opcional para ações complementares, como \"ver todas\".\n\n### **CSS Parts:**\n - **base** - Superfície principal do painel.\n- **header** - Região superior do componente.\n- **body** - Região principal do componente.\n- **tabs** - Região de abas, quando existir.\n- **list** - Região com rolagem onde os itens são exibidos.\n- **close-button** - Botão de fechar do painel.\n- **divider** - Divisor entre itens da lista.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "label",
          "description": "Nome acessível do painel de notificações. Exposto via `aria-label`.",
          "values": []
        },
        {
          "name": "open",
          "description": "Controla se o painel de notificações está aberto.",
          "values": []
        },
        {
          "name": "close-on-outside-click",
          "description": "Fecha o painel ao clicar fora da superfície.",
          "values": []
        },
        {
          "name": "close-on-trigger-click",
          "description": "Fecha o painel ao clicar novamente no acionador.",
          "values": []
        },
        {
          "name": "mobile-fullscreen",
          "description": "Faz o painel ocupar toda a largura disponível em viewports pequenas.",
          "values": []
        },
        {
          "name": "internal-scroll",
          "description": "Habilita rolagem apenas na região de itens, preservando cabeçalho e abas fixos.",
          "values": []
        },
        {
          "name": "placement",
          "description": "Define o posicionamento do painel em relação ao acionador.",
          "values": [{ "name": "NotificationPlacement" }]
        },
        {
          "name": "width",
          "description": "Largura explícita do painel. Quando não definida, o painel dimensiona conforme o conteúdo,\nrespeitando o `max-width` definido por spec ou pelo prop `maxWidth`.",
          "values": []
        },
        {
          "name": "max-width",
          "description": "Sobrescreve o `max-width` do painel. Por padrão, o CSS aplica `max-width: 50vw` em viewports ≥576px\nconforme a especificação do Design System.",
          "values": []
        },
        {
          "name": "max-height",
          "description": "Sobrescreve a altura máxima do painel.\nPor padrão, o CSS aplica `calc(100vh - 86px)` via token `--notification-height`.",
          "values": []
        },
        {
          "name": "is-static",
          "description": "Define se o painel de notificações deve ser renderizado de forma estática (inline).\nQuando verdadeiro, o posicionamento absoluto é desativado. Ideal para centrais de notificações fixas ou documentação.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-notification-body",
      "description": "## Design System\n\nSubcomponente `br-notification-body`: representa a região principal do painel de notificações,\norganizando abas, lista e eventuais estados vazios.\n---\n\n\n### **Slots:**\n - **tabs** - Navegação por abas quando presente.\n- **default** - Lista principal de notificações.\n- **empty** - Conteúdo para estado vazio.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "internal-scroll",
          "description": "Controla se a rolagem ocorre apenas na lista de itens.",
          "values": []
        },
        {
          "name": "empty",
          "description": "Indica que não há notificações para exibir.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-notification-header",
      "description": "## Design System\n\nSubcomponente `br-notification-header`: representa a região superior do painel de notificações,\nresponsável por agrupar dados do usuário, título contextual e botão de fechar.\n---\n\n\n### **Events:**\n - **brNotificationHeaderClose** - Solicita o fechamento do painel a partir do cabeçalho.\n\n### **Slots:**\n - **avatar** - Área para avatar ou elemento visual do usuário.\n- **title** - Conteúdo customizado do título.\n- **subtitle** - Conteúdo customizado do subtítulo.\n- **actions** - Região para botão de fechar ou outras ações contextuais.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "label",
          "description": "Título textual do cabeçalho.",
          "values": []
        },
        {
          "name": "subtitle",
          "description": "Texto complementar, como e-mail ou identificação adicional do usuário.",
          "values": []
        },
        {
          "name": "show-close-button",
          "description": "Exibe botão de fechar dentro do cabeçalho.",
          "values": []
        },
        {
          "name": "close-label",
          "description": "Texto acessível do botão de fechar. Permite internacionalização.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-notification-item",
      "description": "## Design System\n\nSubcomponente `br-notification-item`: representa uma entrada individual de notificação.\nRespeita a organização visual e os estados interativos equivalentes ao componente `item` do design system.\n---\n\n\n### **Events:**\n - **brNotificationItemSelect** - Informa seleção ou acionamento do item.\n- **brNotificationItemRead** - Informa mudança de estado para lido.\n\n### **Methods:**\n - **callFocus()** - Move o foco para o elemento interativo do item.\n\n### **Slots:**\n - **status** - Região para tag, badge ou marcador visual de status.\n- **title** - Conteúdo customizado do título.\n- **meta** - Região para informação cronológica ou metadados.\n- **default** - Conteúdo principal da notificação.\n- **actions** - Ações contextuais do item.",
      "attributes": [
        {
          "name": "item-id",
          "description": "Identificador único do item.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "label",
          "description": "Título principal da notificação.",
          "values": []
        },
        {
          "name": "description",
          "description": "Conteúdo resumido ou complementar da notificação.",
          "values": []
        },
        {
          "name": "datetime",
          "description": "Informação cronológica associada à notificação.",
          "values": []
        },
        {
          "name": "unread",
          "description": "Indica se a notificação ainda não foi lida.",
          "values": []
        },
        {
          "name": "clickable",
          "description": "Define se o item é interativo.",
          "values": []
        },
        {
          "name": "state",
          "description": "Define o estado visual da notificação.",
          "values": [{ "name": "NotificationItemState" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-pagination",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/pagination?tab=designer).\n---\n\n\n### **Events:**\n - **pageChange** - Solicita uma página por interação do usuário ou pelo método público.\n\nEm `controlled`, o evento informa a página solicitada, mas `current` só\nmuda quando a aplicação confirma o resultado. O componente não faz\nchamadas remotas nem cancela a consulta do consumidor.\n- **brPaginationPageChange** - Evento canônico para iniciar o carregamento de uma página.\nO `detail` contém `{ page }`; o evento não é cancelável.\n- **perPageChange** - Solicita uma quantidade de itens por página (variante contextual).\nEm `controlled`, a aplicação confirma a mudança atribuindo `perPage`.\n- **brPaginationPerPageChange** - Evento canônico para iniciar o carregamento de uma nova quantidade de\nitens. O `detail` contém `{ perPage }`; o evento não é cancelável.\n\n### **Methods:**\n - **setPage(page: _number_): _Promise<void>_** - Define programaticamente a página atual dentro do intervalo permitido.\n- **goToPage(page: _number_): _Promise<void>_** - Solicita navegação programática para uma página (1-indexada).\nEm `controlled`, aguarda a confirmação externa para alterar `current`.\n\n### **Slots:**\n - **pagination-info** - Informação customizada da paginação contextual. Quando utilizado, o texto padrão de contagem é substituído.\n- **loading** - Indicador exibido enquanto uma página é carregada.\n\n### **CSS Parts:**\n - **nav** - Parte para o contêiner raiz da paginação (elemento nav), usada para estilização via ::part().\n- **list** - Parte para a lista de páginas (elemento ul), usada para estilização via ::part().\n- **page** - Parte para os itens de página numérica (elemento a), usada para estilização via ::part().\n- **ellipsis** - Parte para o botão de reticências e seu contêiner.\n- **ellipsis-button** - Parte encaminhada do botão de reticências.\n- **per-page** - Parte para o seletor de itens por página na variante contextual.\n- **per-page-container** - Contêiner encaminhado do seletor de itens por página.\n- **per-page-input** - Campo encaminhado do seletor de itens por página.\n- **per-page-list** - Lista encaminhada do seletor de itens por página.\n- **go-to** - Parte para o seletor de navegação direta na variante contextual.\n- **go-to-container** - Contêiner encaminhado do seletor de navegação direta.\n- **go-to-input** - Campo encaminhado do seletor de navegação direta.\n- **go-to-list** - Lista encaminhada do seletor de navegação direta.\n- **prev-button** - Parte para o botão de página anterior, usada para estilização via ::part().\n- **prev-button-inner** - Botão interno encaminhado da página anterior.\n- **next-button** - Parte para o botão de próxima página, usada para estilização via ::part().\n- **next-button-inner** - Botão interno encaminhado da próxima página.\n- **loading** - Área do indicador de carregamento.",
      "attributes": [
        {
          "name": "color-mode",
          "description": "Define se a paginação usará um esquema de cores escuro.\nQuando definido como `dark`, aplica a classe `dark-mode` ao container principal.",
          "values": [{ "name": "PaginationColorMode" }]
        },
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por Helpers.generateUniqueId().\n\n> **Uso compartilhado:** mantenha esta descrição idêntica em todos os componentes que usam `customId`.",
          "values": []
        },
        {
          "name": "total",
          "description": "Quantidade total de páginas (mínimo 1).",
          "values": []
        },
        {
          "name": "total-pages",
          "description": "Quantidade total de páginas. Tem precedência sobre `total`.",
          "values": []
        },
        {
          "name": "current",
          "description": "Página atual (1-indexada). Valores fora do intervalo serão ajustados.",
          "values": []
        },
        {
          "name": "current-page",
          "description": "Página atual. Tem precedência sobre `current`.",
          "values": []
        },
        {
          "name": "aria-label",
          "description": "Define o rótulo acessível usado por tecnologias assistivas.\n\n> **Uso compartilhado:** mantenha esta descrição idêntica em todos os componentes que usam `ariaLabel`.",
          "values": []
        },
        {
          "name": "previous-label",
          "description": "Rótulo acessível do botão de página anterior.",
          "values": []
        },
        {
          "name": "next-label",
          "description": "Rótulo acessível do botão de próxima página.",
          "values": []
        },
        {
          "name": "ellipsis-label",
          "description": "Rótulo acessível do botão de reticências que abre a lista de páginas ocultas.",
          "values": []
        },
        {
          "name": "density",
          "description": "Define a densidade visual do componente.\n\n- `small`: Alta densidade (componente menor, mais compacto e com menos espaçamento).\n- `medium`: Densidade intermediária, padrão recomendado para a maioria dos casos.\n- `large`: Baixa densidade (componente maior, mais espaçamento e altura).\n\n> **Uso compartilhado:** mantenha esta descrição idêntica em todos os componentes que usam `density`.",
          "values": [{ "name": "PaginationDensity" }]
        },
        {
          "name": "variant",
          "description": "Variante de renderização do componente.\n- `default`: paginação numérica (padrão)\n- `contextual`: paginação contextual com seletores e informação de itens",
          "values": [{ "name": "PaginationVariant" }]
        },
        {
          "name": "controlled",
          "description": "Mantém `current` e `perPage` sob controle da aplicação.\n\nQuando ativo, interações apenas emitem a intenção de mudança. A aplicação\ndeve atualizar a propriedade correspondente após concluir seu processamento.",
          "values": []
        },
        {
          "name": "loading",
          "description": "Indica que a página solicitada ainda está sendo carregada pelo consumidor.",
          "values": []
        },
        {
          "name": "total-items",
          "description": "Total de itens (aplicável na variante contextual).",
          "values": []
        },
        {
          "name": "per-page",
          "description": "Itens por página (aplicável na variante contextual).",
          "values": []
        },
        {
          "name": "per-page-options",
          "description": "Opções disponíveis de itens por página (variante contextual).",
          "values": [{ "name": "number[]" }]
        },
        {
          "name": "per-page-label",
          "description": "Rótulo do seletor de itens por página (variante contextual).",
          "values": []
        },
        {
          "name": "go-to-page-label",
          "description": "Rótulo do seletor \"ir para página\" (variante contextual).",
          "values": []
        },
        {
          "name": "items-text",
          "description": "Sufixo textual para a informação de quantidade de itens (variante contextual).",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-radio",
      "description": "## Design System\n\nPara 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/radio?tab=designer).\n---\n\n\n### **Events:**\n - **checkedChange** - Disparado depois que o valor do `checked` foi alterado.\n- **brRadioValidationChange** - Emitido ao iniciar e concluir a validação customizada.\n\n### **Methods:**\n - **handleCheckedChange(event: _CustomEvent<boolean>_)** - @deprecated A coordenação interna agora é limitada à raiz DOM do grupo. - Mantém o protocolo legado de sincronização por `checkedChange`.\n- **handleKeyDown(event: _KeyboardEvent_)** - Navega e seleciona o próximo/anterior rádio habilitado no grupo via teclas de seta.\nAtivado por 'keydown', move a seleção entre rádios do mesmo 'name'\nusando as setas, partindo do rádio atualmente checado.\n- **checkValidity(): _Promise<boolean>_** - Retorna `true` se o valor do radio for válido, caso contrário `false`.\nSe o radio for inválido, dispara um evento 'invalid'.\n- **reportValidity(): _Promise<boolean>_** - Retorna `true` se o valor do radio for válido, caso contrário `false`.\nSe for inválido, exibe a mensagem de erro padrão do navegador.\n- **setCustomValidity(message: _string_): _Promise<void>_** - Define uma mensagem de validação customizada para o radio.\nSe a mensagem for uma string vazia, o erro customizado é limpo.\n- **validate(): _Promise<boolean>_** - Executa o validator do radio e retorna se o valor atual é válido.\n- **getValidationState(): _Promise<FormValidationState>_** - Retorna um snapshot serializável da Constraint Validation API.\n- **toggleChecked()** - @deprecated Atualize a propriedade `checked` diretamente. - Inverte o valor da prop `checked`\n- **setFocus()** - Move o foco para o input radio nativo interno.\n\n### **Slots:**\n - **default** - Slot para o rótulo do rádio, como alternativa à propriedade label.\n- **feedback** - Mensagem de validação, normalmente um `br-message`.\n\n### **CSS Parts:**\n - **container** - Contêiner visual do radio.\n- **radio-input** - Elemento input nativo do radio.\n- **radio-label** - Rótulo do radio.\n- **feedback** - Contêiner da mensagem de validação.",
      "attributes": [
        {
          "name": "checked",
          "description": "Define o estado de seleção do radio.\nSe definido como verdadeiro, o radio estará marcado. Caso contrário, estará desmarcado.",
          "values": []
        },
        {
          "name": "uncheck-on-double-click",
          "description": "Permite desmarcar o radio ao clicar duas vezes sobre ele.\nPor padrão, um radio selecionado permanece marcado ao receber um segundo clique.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Desativa o radio, tornando-o não interativo.",
          "values": []
        },
        {
          "name": "required",
          "description": "Se verdadeiro, o radio é obrigatório e uma opção deve ser selecionada antes que o formulário possa ser enviado.",
          "values": []
        },
        {
          "name": "validator",
          "description": "Regra síncrona ou assíncrona aplicada ao estado booleano do radio.",
          "values": [{ "name": "RadioValidator" }]
        },
        {
          "name": "state",
          "description": "Indica a validade do radio.\nSe não for especificado, o valor padrão é `null`, indicando que a validade não foi definida.",
          "values": [{ "name": "valid" }, { "name": "invalid" }]
        },
        {
          "name": "feedback-state",
          "description": "Estado de feedback canônico. Quando informado, tem precedência sobre `state`.",
          "values": [{ "name": "valid" }, { "name": "invalid" }]
        },
        {
          "name": "has-hidden-label",
          "description": "Define se o label associado ao radio deve ser oculto.\nSe definido como verdadeiro, o texto do label será oculto, mas o radio ainda estará visível e funcional.",
          "values": []
        },
        {
          "name": "label-hidden",
          "description": "Oculta visualmente o rótulo. Quando informada, tem precedência sobre `hasHiddenLabel`.",
          "values": []
        },
        {
          "name": "custom-id",
          "description": "Identificador único; gerado automaticamente quando omitido.",
          "values": []
        },
        {
          "name": "name",
          "description": "Define o nome do radio, que é utilizado para agrupar radios em formulários e identificar o campo.\nO valor é obrigatório e deve ser fornecido para garantir o correto funcionamento em formulários.",
          "values": []
        },
        {
          "name": "label",
          "description": "Texto descritivo exibido à direita do radio.\nCaso um slot seja utilizado para fornecer um texto alternativo, o valor desta propriedade será ignorado.",
          "values": []
        },
        {
          "name": "value",
          "description": "Define o valor associado ao radio quando ele faz parte de um formulário nativo (`<form>`).\nEsse valor é enviado com o formulário quando o radio está selecionado.\n**Nota:** Esta propriedade não deve ser utilizada para determinar se o radio está selecionado; para verificar o estado de seleção, use a propriedade `checked`.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-radio-group",
      "description": "## Design System\n\nGrupo semântico de radios que representa um único campo de formulário. Consulte também as\n[diretrizes do Radio no Design System GovBR](https://www.gov.br/ds/components/radio?tab=designer).\n---\n\n\n### **Events:**\n - **brRadioGroupValidationChange** - Emitido ao iniciar e concluir uma validação customizada.\n\n### **Methods:**\n - **checkValidity(): _Promise<boolean>_** - Verifica a validade do grupo.\n- **reportValidity(): _Promise<boolean>_** - Verifica a validade e apresenta a mensagem do grupo.\n- **setCustomValidity(message: _string_): _Promise<void>_** - Define a mensagem de validade customizada do grupo.\n- **validate(): _Promise<boolean>_** - Executa o validator do grupo.\n- **getValidationState(): _Promise<FormValidationState>_** - Retorna o snapshot de validade do grupo.\n- **setFocus(): _Promise<void>_** - Move o foco para o radio marcado ou para o primeiro radio habilitado.\n\n### **Slots:**\n - **default** - Radios pertencentes ao grupo.\n- **label** - Legenda do grupo, como alternativa à propriedade `label`.\n- **description** - Texto auxiliar do grupo.\n- **feedback** - Mensagem de validação do grupo.\n- **validation-loading** - Indicador exibido durante validação assíncrona.\n\n### **CSS Parts:**\n - **group** - Fieldset semântico do grupo.\n- **legend** - Legenda e nome acessível do grupo.\n- **options** - Contêiner das opções.\n- **description** - Área de texto auxiliar.\n- **feedback** - Área de mensagem de validação.\n- **validation-loading** - Área do indicador de validação assíncrona.",
      "attributes": [
        {
          "name": "name",
          "description": "Nome do campo enviado pelo formulário.",
          "values": []
        },
        {
          "name": "value",
          "description": "Valor atualmente selecionado; `null` representa nenhuma seleção.",
          "values": []
        },
        {
          "name": "default-value",
          "description": "Valor restaurado por `form.reset()` e usado como seleção inicial.",
          "values": []
        },
        {
          "name": "required",
          "description": "Exige uma opção habilitada selecionada.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Desabilita o grupo e seus radios.",
          "values": []
        },
        {
          "name": "orientation",
          "description": "Orientação visual das opções.",
          "values": [{ "name": "RadioGroupOrientation" }]
        },
        {
          "name": "label",
          "description": "Texto visível usado como legenda do grupo.",
          "values": []
        },
        {
          "name": "aria-label",
          "description": "Nome acessível usado quando não há uma legenda visível.",
          "values": []
        },
        {
          "name": "feedback-state",
          "description": "Estado visual opcional do feedback. A validade real vem de ElementInternals.",
          "values": [{ "name": "valid" }, { "name": "invalid" }]
        },
        {
          "name": "validator",
          "description": "Regra síncrona ou assíncrona aplicada ao valor do grupo.",
          "values": [{ "name": "RadioGroupValidator" }]
        },
        {
          "name": "custom-id",
          "description": "Identificador usado nas relações acessíveis internas.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-scrim",
      "description": "## Design System\n\nPara 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/scrim?tab=designer).\n---\n\n\n### **Events:**\n - **brScrimOpen** - Indica que o scrim foi aberto.\n- **brScrimClose** - Indica que o scrim foi fechado\n\n### **Methods:**\n - **setScrollThreshold(threshold: _number_)** - Define o limite de rolagem para o fechamento automático do scrim.\n- **open()** - Método público para exibir o scrim\n- **close()** - Método público para esconder o scrim\n- **toggle()** - Método público para alternar o estado de exibição do scrim\n- **updateSpotlight()** - Recalcula manualmente a posição e dimensões da fresta do scrim vazado.\nÚtil quando o elemento alvo muda de posição sem disparar resize ou scroll.\n- **handleDocumentKeyDown(event: _KeyboardEvent_)** - Intercepta todos os eventos de teclado globalmente quando o scrim está ativo.\n\nUsa `composedPath()[0]` para obter o elemento real com foco, mesmo dentro de shadow roots.\n`event.target` é redirecionado ao cruzar shadow boundaries e não reflete o elemento concreto\nquando o foco está dentro do shadow DOM de componentes filhos como `br-modal`.\n\n### **Slots:**\n - **default** - Slot para o conteúdo principal a ser exibido sobre o fundo escurecido do scrim.\n- **activator** - Slot para o elemento ativador do scrim, com prioridade sobre a propriedade activator.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único.\nCaso não seja fornecido, um ID gerado automaticamente será usado.",
          "values": []
        },
        {
          "name": "is-open",
          "description": "Ativa/desativa o scrim",
          "values": []
        },
        {
          "name": "position-content",
          "description": "Posiciona o conteúdo no topo, centro, direita, esquerda, abaixo dentro do scrim",
          "values": [{ "name": "ScrimPositionContent" }]
        },
        {
          "name": "disable-close-on-click",
          "description": "Desativa o fechamento do scrim ao ser clicado",
          "values": []
        },
        {
          "name": "z-index",
          "description": "Define o valor de z-index do scrim",
          "values": []
        },
        {
          "name": "bg-color",
          "description": "Cor de fundo personalizada para o scrim.\nAceita os seguintes formatos de cor:\n- Cores nomeadas do CSS: 'red', 'blue', 'green', 'yellow', etc.\n- Códigos hexadecimais: '#ff0000', '#00ff00', '#0000ff', etc.\n- Valores RGB: 'rgb(255, 0, 0)', 'rgb(0, 255, 0)', etc.\n- Valores RGBA: 'rgba(255, 0, 0, 0.5)', 'rgba(0, 255, 0, 0.8)', etc.\n- Valores HSL: 'hsl(0, 100%, 50%)', 'hsl(120, 100%, 50%)', etc.\n- Valores HSLA: 'hsla(0, 100%, 50%, 0.5)', 'hsla(240, 100%, 50%, 0.7)', etc.\nSe não especificada, usa a cor padrão do tema.",
          "values": []
        },
        {
          "name": "custom-opacity",
          "description": "Define a opacidade personalizada do scrim",
          "values": []
        },
        {
          "name": "display-mode",
          "description": "Define o modo de exibição do scrim:\n- `'fullscreen'`: Ocupa toda a tela (`position: fixed`). (_padrão_)\n- `'parent'`: Ocupa apenas o elemento pai (`position: absolute`).\n  O elemento pai deve ter `position: relative` ou outro valor diferente de `static`.\n\nPara a variante `'legibility'`, este atributo é ignorado: o posicionamento é sempre\ncalculado automaticamente a partir das coordenadas do elemento pai.",
          "values": [{ "name": "ScrimDisplayMode" }]
        },
        {
          "name": "scroll-strategy",
          "description": "Define a estratégia de manipulação de rolagem quando scrim está aberto\n- 'block': Impede a rolagem completamente\n- 'close': Fecha o scrim quando ocorre rolagem",
          "values": [{ "name": "ScrimScrollStrategy" }]
        },
        {
          "name": "scroll-threshold",
          "description": "Determina quanto de rolagem (em pixels) é necessário para acionar a ação de fechamento automático do scrim.",
          "values": []
        },
        {
          "name": "activator",
          "description": "Define o seletor para o elemento activator.\nNota: O slot 'activator' tem prioridade sobre esta propriedade.",
          "values": []
        },
        {
          "name": "aria-label",
          "description": "Define um rótulo acessível personalizado para o diálogo.\nSe não fornecido, será usado \"Conteúdo do diálogo\" como padrão.",
          "values": []
        },
        {
          "name": "variant",
          "description": "Define a variante semântica do scrim\n- `'focus'`: Redireciona o foco hierárquico do usuário. Cor #000000 com opacidade 40%. (_padrão_)\n- `'spotlight'`: Scrim vazado — destaca um elemento específico criando uma fresta no overlay.\n  Aplica as mesmas cores da variante `'focus'`. Use `spotlightTargetId` para indicar o elemento a ser destacado.\n- `'legibility'`: Melhora o contraste e leitura de texto sobre superfícies. Cor #000000 com opacidade 64%.\n  Para cobertura parcial, use `legibilityAnchor` + `legibilitySize`.\n  Para gradiente suave, use `bgColor` com um valor de gradiente CSS e `customOpacity=\"1\"`,\n  ex.: `bg-color=\"linear-gradient(to top, rgba(0,0,0,0.64), transparent)\"`..\n\nQuando definida, aplica automaticamente as especificações de cor e opacidade do Design System.\nAs propriedades `bgColor` e `customOpacity` têm prioridade e sobrepõem os valores da variante.",
          "values": [{ "name": "ScrimVariant" }]
        },
        {
          "name": "legibility-anchor",
          "description": "Define a borda de ancoragem da faixa de cobertura da variante `legibility`.\n\nControla de qual borda (ou centro) do elemento a máscara de overlay cresce,\ntendo seu tamanho determinado por `legibilitySize`.\n\n- `'top'`: faixa ancorada na borda superior, cresce para baixo.\n- `'bottom'`: faixa ancorada na borda inferior, cresce para cima.\n- `'left'`: faixa ancorada na borda esquerda, cresce para a direita.\n- `'right'`: faixa ancorada na borda direita, cresce para a esquerda.\n- `'center'`: faixa centralizada verticalmente no elemento.\n\nQuando `legibilitySize` é `null`, a máscara ocupa 100% independentemente\nda âncora definida, equivalendo a uma cobertura total.\n\nSó tem efeito quando `variant=\"legibility\"`.",
          "values": [{ "name": "ScrimLegibilityAnchor" }]
        },
        {
          "name": "legibility-size",
          "description": "Define o tamanho da faixa de cobertura da variante `legibility`, usado em\nconjunto com `legibilityAnchor`.\n\nAceita qualquer valor CSS de comprimento válido:\n- Percentual relativo ao elemento pai: `'40%'`, `'75%'`\n- Comprimento absoluto: `'120px'`, `'8rem'`, `'6em'`\n- Função CSS: `'calc(100% - 2rem)'`\n\nQuando `null` (padrão), a máscara ocupa **100%** da dimensão relevante:\n- **altura** para âncoras `top`, `bottom` e `center`\n- **largura** para âncoras `left` e `right`\n\nSó tem efeito quando `variant=\"legibility\"` está definido.",
          "values": []
        },
        {
          "name": "spotlight-target-id",
          "description": "Ativa o modo de scrim vazado (variante 'spotlight'), criando uma área de fresta no overlay\nque destaca o elemento referenciado pelo seletor CSS fornecido.",
          "values": []
        },
        {
          "name": "spotlight-padding",
          "description": "Espaçamento interno (em pixels) ao redor da área de fresta no scrim vazado.",
          "values": []
        },
        {
          "name": "spotlight-shape",
          "description": "Define a forma da área de fresta no scrim vazado.\n- 'rect': Retangular com bordas retas.\n- 'rounded': Retangular com bordas arredondadas (border-radius de 8px).\n- 'circle': Elipse inscrita na área do elemento alvo.",
          "values": [{ "name": "ScrimSpotlightShape" }]
        },
        {
          "name": "content-layout",
          "description": "Define como o scrim aplica estilos de layout ao elemento filho (slot padrão).\n\n- `'default'`: O scrim gerencia o layout do conteúdo, centralizando, animando e aplicando transformações e opacidade automaticamente.\n\n- `'none'`: o scrim age como um componente controlado pelo pai. O filho recebe apenas a máscara visual, sem interferência de posicionamento, transformação ou opacidade.\nAdequado para componentes que gerenciam seu próprio layout e estado de abertura. Além disso:\n\n  - Foco e eventos globais** não são interceptados pelo scrim — o componente filho gerencia seu próprio foco, navegação por teclado e fechamento via ESC.\n  - Clique no scrim emite `brScrimClose` sem fechar o scrim internamente, delegando o controle de estado ao pai (quem define `isOpen`).\n  - Use `zIndex` apenas para sobrescrever a camada bloqueadora no fallback CSS. Máscara e painel devem usar subcamadas locais, sem aritmética entre camadas globais.",
          "values": [{ "name": "ScrimContentLayout" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-select",
      "description": "## Design System\n\nPara 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/select?tab=designer).\n---\n\n\n### **Events:**\n - **brSelectStateChange** - Evento emitido quando o estado público do select muda.\n- **valueChange** - Evento emitido quando o valor público do select é alterado.\n- **optionHover** - Emite a opção que recebeu foco ou hover.\n- **brSelectSearch** - Emitido uma vez por edição do campo de busca, inclusive ao limpar a consulta.\nO `detail` contém `{ query }`; o evento é informativo e não cancelável.\nA aplicação deve controlar debounce, transporte e ciclo de vida da busca.\n- **opened** - Emitido quando a lista é aberta.\n- **closed** - Emitido quando a lista é fechada.\n- **brSelectValidationChange** - Informa o início e o resultado de uma validação síncrona ou assíncrona.\nO `detail` contém `validating`, `valid` e `message`.\n\n### **Methods:**\n - **enable(): __** - Habilita o select para interação do usuário.\n- **disable(): __** - Desabilita o select e impede novas interações.\n- **show(): __** - Abre a lista de opções quando o componente está habilitado.\n- **close(): __** - Fecha a lista de opções quando o componente está habilitado.\n- **toggleOpen(): _Promise<void>_** - Alterna entre os estados aberto e fechado do select.\n- **clear(): _Promise<void>_** - @deprecated Use `setValue('')` ou a API de formulário. - Limpa a seleção atual.\n- **getValue(): _Promise<string | string[]>_** - @deprecated Leia a propriedade `value` diretamente. - Retorna o valor público atual.\n- **setValue(value: _string | string[]_): _Promise<void>_** - @deprecated Atribua a propriedade `value` diretamente. - Define o valor público do select.\n- **setFocus(): _Promise<void>_** - @deprecated Use o foco nativo do componente quando possível. - Move o foco para o campo interno.\n- **setOptions(options: _SelectOptionData[]_): __** - Substitui a coleção atual de opções por uma nova lista.\n- **setOption(option: _SelectOptionData_): __** - Adiciona ou atualiza uma única opção na coleção interna.\n\n### **Slots:**\n - **default** - Opções declaradas com elementos br-select-option.\n- **feedback** - Mensagem de validação, normalmente um br-message.\n- **validation-loading** - Indicador exibido durante validação assíncrona.\n- **loading** - Indicador exibido durante a busca remota de opções.\n\n### **CSS Parts:**\n - **container** - Contêiner visual principal do select.\n- **input** - Campo de seleção e busca.\n- **input-container** - Contêiner visual do campo.\n- **input-label** - Rótulo do campo.\n- **input-field** - Campo input nativo.\n- **input-group** - Grupo visual do campo.\n- **input-icon** - Ícone do campo.\n- **input-action** - Botão de abertura e fechamento.\n- **input-action-button** - Botão interno da ação.\n- **list** - Lista de opções.\n- **option** - Opção individual.\n- **select-all** - Alias legado para a opção de selecionar todos.\n- **empty-option** - Alias legado para a opção vazia da lista.\n- **option-checkbox** - Alias legado para o checkbox da opção.\n- **option-radio** - Alias legado para o radio da opção.\n- **hidden-select** - Select nativo invisível usado na integração com formulários.\n- **feedback** - Área de mensagem de validação.\n- **validation-loading** - Área do indicador de validação assíncrona.",
      "attributes": [
        {
          "name": "borderless",
          "description": "Remove a borda do input quando o componente não está em foco.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Desativa toda a interação do select.",
          "values": []
        },
        {
          "name": "is-inline",
          "description": "Exibe label e campo na mesma linha.",
          "values": []
        },
        {
          "name": "inline",
          "description": "Exibe rótulo e controle em linha. Quando informada, tem precedência sobre `isInline`.",
          "values": []
        },
        {
          "name": "is-multiple",
          "description": "Habilita o modo de seleção múltipla.",
          "values": []
        },
        {
          "name": "multiple",
          "description": "Habilita seleção múltipla. Quando informada, tem precedência sobre `isMultiple`.",
          "values": []
        },
        {
          "name": "keep-open-on-select",
          "description": "Mantém a lista aberta depois de uma seleção.",
          "values": []
        },
        {
          "name": "visible-items",
          "description": "Define quantas opções ficam visíveis na janela da lista.",
          "values": []
        },
        {
          "name": "item-height",
          "description": "Informa a altura base de cada opção para o cálculo de virtual scroll.",
          "values": []
        },
        {
          "name": "input-width",
          "description": "Controla a largura do campo de entrada.",
          "values": []
        },
        {
          "name": "overscan",
          "description": "Define quantas opções extras são renderizadas antes e depois da área visível no virtual scroll.",
          "values": []
        },
        {
          "name": "is-open",
          "description": "Controla o estado aberto/fechado da lista.",
          "values": []
        },
        {
          "name": "open",
          "description": "Controla o estado aberto. Quando informada, tem precedência sobre `isOpen`.",
          "values": []
        },
        {
          "name": "label",
          "description": "Texto exibido como rótulo do campo.",
          "values": []
        },
        {
          "name": "name",
          "description": "Nome do campo para integração com formulários.",
          "values": []
        },
        {
          "name": "value",
          "description": "Valor público do select baseado nas opções atualmente selecionadas.",
          "values": [{ "name": "string[]" }]
        },
        {
          "name": "placeholder",
          "description": "Texto exibido quando não há seleção.",
          "values": []
        },
        {
          "name": "required",
          "description": "Indica que o preenchimento do select é obrigatório.",
          "values": []
        },
        {
          "name": "select-all-label",
          "description": "Rótulo apresentado para a opção de selecionar todos no modo múltiplo.",
          "values": []
        },
        {
          "name": "filterable",
          "description": "Habilita a filtragem textual das opções por rótulo ou valor.",
          "values": []
        },
        {
          "name": "search-mode",
          "description": "Define se as opções são filtradas localmente ou fornecidas por uma busca remota.\nEm `remote`, o componente emite `brSelectSearch`; a aplicação deve buscar,\nvalidar e aplicar as opções por `setOptions()`.",
          "values": [{ "name": "SelectSearchMode" }]
        },
        {
          "name": "loading",
          "description": "Indica que uma busca remota de opções está pendente.\nEnquanto ativo, novas opções não podem ser selecionadas; a aplicação\ncontinua responsável por debounce, cancelamento, erros e autenticação.",
          "values": []
        },
        {
          "name": "show-search-icon",
          "description": "Exibe o ícone de busca no campo de entrada.",
          "values": []
        },
        {
          "name": "unselect-all-label",
          "description": "Rótulo apresentado quando todas as opções já estão selecionadas no modo múltiplo.",
          "values": []
        },
        {
          "name": "options",
          "description": "Opções fornecidas como array ou JSON, além das opções projetadas por slot.",
          "values": [
            {
              "name": "{ label: string; value: string; selected?: boolean }[]"
            },
            { "name": "SelectOptionData[]" }
          ]
        },
        {
          "name": "autocomplete",
          "description": "Controla o autocomplete do campo de busca interno.",
          "values": [{ "name": "InputToggle" }]
        },
        {
          "name": "custom-id",
          "description": "Identificador público do controle.",
          "values": []
        },
        {
          "name": "min-selections",
          "description": "Quantidade mínima de opções selecionadas no modo múltiplo.",
          "values": []
        },
        {
          "name": "max-selections",
          "description": "Quantidade máxima de opções selecionadas no modo múltiplo.",
          "values": []
        },
        {
          "name": "validator",
          "description": "Validação síncrona ou assíncrona executada no método `validate()`.",
          "values": [{ "name": "SelectValidator" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-select-input",
      "description": "## Design System\n\nPara 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/select?tab=designer).\n---\n\n\n### **Events:**\n - **brSelectInputFocus** - Evento emitido quando o campo interno recebe foco.\n- **brSelectInputValueChange** - Evento emitido quando o valor digitado no campo de busca muda.\n- **brSelectInputActionClick** - Evento emitido quando o usuário aciona o ícone de abertura/fechamento.\n- **brSelectInputClick** - Evento emitido quando o usuário clica no campo do select.\n\n### **Methods:**\n - **flipUp(): __** - Atualiza o ícone para o estado visual de lista aberta.\n- **flipDown(): __** - Atualiza o ícone para o estado visual de lista fechada.\n- **setFocus(): __** - Reaplica o foco no input nativo encapsulado por `br-input`.\n\n### **CSS Parts:**\n - **container** - Contêiner visual do campo.\n- **input** - Campo input nativo.\n- **label** - Rótulo do campo.\n- **group** - Grupo visual do campo.\n- **icon** - Ícone do campo.\n- **action** - Botão de ação.\n- **action-button** - Botão interno da ação.",
      "attributes": [
        {
          "name": "borderless",
          "description": "Remove a borda do campo quando ele não está em foco.",
          "values": []
        },
        {
          "name": "autocomplete",
          "description": "Controla o preenchimento automático do input interno.",
          "values": [{ "name": "InputToggle" }]
        },
        {
          "name": "disabled",
          "description": "Desativa toda a interação do campo de entrada.",
          "values": []
        },
        {
          "name": "is-inline",
          "description": "Exibe label e campo na mesma linha.",
          "values": []
        },
        {
          "name": "input-width",
          "description": "Controla a largura visual do campo.",
          "values": []
        },
        {
          "name": "label",
          "description": "Texto exibido como rótulo do campo.",
          "values": []
        },
        {
          "name": "name",
          "description": "Nome do campo para integração com formulários.",
          "values": []
        },
        {
          "name": "placeholder",
          "description": "Texto exibido quando o campo não possui valor.",
          "values": []
        },
        {
          "name": "required",
          "description": "Indica que o valor do campo é obrigatório.",
          "values": []
        },
        {
          "name": "filterable",
          "description": "Habilita a edição do campo usada para filtrar as opções.",
          "values": []
        },
        {
          "name": "show-search-icon",
          "description": "Exibe o ícone de busca dentro do campo.",
          "values": []
        },
        {
          "name": "value",
          "description": "Valor textual apresentado no input.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-select-list",
      "description": "## Design System\n\nPara 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/select?tab=designer).\n---\n\n\n### **Methods:**\n - **open(): __** - Abre a lista e agenda a medição das opções quando necessário.\n- **close(): __** - Fecha a lista de opções.\n- **setOptions(options: _SelectOptionData[]_): __** - Substitui todas as opções renderizadas pela lista.\n- **setOption(option: _SelectOptionData_): __** - Adiciona ou atualiza uma única opção na coleção atual.\n- **setSearchTerm(term: _string_): _Promise<void>_** - Atualiza o termo de busca e reinicia a janela virtual no topo.\n- **setMultiple(isMultiple: _boolean_): __** - Alterna a lista entre modo simples e múltiplo.\n- **getOptions(): __** - Retorna uma cópia das opções atualmente controladas pela lista.\n- **scrollOptionToTop(index: _number_): __** - Posiciona uma opção no topo da viewport virtual, respeitando o limite final da lista.\n- **scrollFirstSelectedOptionToTop(): __** - Posiciona no topo a primeira opção selecionada na ordem visual da lista.\nA opção auxiliar de selecionar tudo não participa dessa escolha.\n- **focusOption(index: _number_): __** - Garante visibilidade e foco para uma opção específica.\n- **setOptionSelected(index: _number_, selected: _boolean_): __** - Aciona a seleção programática de uma opção específica.\n\n### **Slots:**\n - **loading** - Indicador exibido enquanto resultados remotos são carregados.\n\n### **CSS Parts:**\n - **list** - Contêiner visual da lista virtualizada.\n- **loading** - Área do indicador de carregamento.",
      "attributes": [
        {
          "name": "options",
          "description": "Coleção de opções exibidas pela lista.",
          "values": [{ "name": "SelectOptionData[]" }]
        },
        {
          "name": "search-term",
          "description": "Termo usado para filtrar opções por rótulo ou valor.",
          "values": []
        },
        {
          "name": "loading",
          "description": "Indica que os resultados remotos estão sendo carregados.",
          "values": []
        },
        {
          "name": "visible-items",
          "description": "Define quantas opções permanecem visíveis na viewport da lista.",
          "values": []
        },
        {
          "name": "item-height",
          "description": "Informa a altura base usada no cálculo de posicionamento das opções.",
          "values": []
        },
        {
          "name": "overscan",
          "description": "Define quantas opções extras são renderizadas fora da viewport quando o virtual scroll está ativo.",
          "values": []
        },
        {
          "name": "select-all-label",
          "description": "Rótulo apresentado para a ação de selecionar todos no modo múltiplo.",
          "values": []
        },
        {
          "name": "unselect-all-label",
          "description": "Rótulo apresentado quando todas as opções já estão selecionadas no modo múltiplo.",
          "values": []
        },
        {
          "name": "active-option-index",
          "description": "Índice da opção atualmente ativa para navegação por teclado.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-select-option",
      "description": "## Design System\n\nPara 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/select?tab=designer).\n---\n\n\n### **Events:**\n - **brSelectOptionStateChange** - Evento emitido quando o estado da opção muda.\n- **brSelectOptionPropsChange** - Evento legado emitido quando as propriedades da opção são alteradas.\n\n### **Methods:**\n - **getItemHeight(): __** - Retorna a altura efetiva da opção para cálculo de virtual scroll.\n- **setFocus(): __** - Encaminha o foco para o elemento interativo interno da opção.\n- **setSelectedState(selected: _boolean_): _Promise<void>_** - Atualiza programaticamente o estado selecionado da opção.\n\n### **Slots:**\n - **default** - Conteúdo ou rótulo visual da opção.\n\n### **CSS Parts:**\n - **option** - Item visual da opção.\n- **checkbox** - Checkbox exibido no modo múltiplo.",
      "attributes": [
        {
          "name": "disabled",
          "description": "Desativa a interação da opção.",
          "values": []
        },
        {
          "name": "active",
          "description": "Marca a opção como ativa para navegação por teclado.",
          "values": []
        },
        {
          "name": "label",
          "description": "Rótulo textual exibido para a opção.",
          "values": []
        },
        {
          "name": "indeterminate",
          "description": "Indica o estado intermediário da opção.",
          "values": []
        },
        {
          "name": "selected",
          "description": "Indica se a opção está selecionada.",
          "values": []
        },
        {
          "name": "value",
          "description": "Valor semântico associado à opção.",
          "values": []
        },
        {
          "name": "show-checkbox",
          "description": "Exibe o checkbox de seleção ao lado do conteúdo.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-sign-in",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/sign-in?tab=designer).\n---\n\n\n### **Events:**\n - **brNavigate** - Evento cancelável emitido em `navigation-mode=\"event\"` para cliques primários sem modificadores em links `_self`.\nChame `event.preventDefault()` no listener para impedir a navegação nativa e entregar `event.detail.href` ao roteador da SPA.\n\n### **Slots:**\n - **default** - Slot para o texto do sign-in.\n- **icon** - Slot para ícone personalizado, com padrão fa6-solid:user para shape=\"circle\".\n- **image** - Slot para imagem ou ícone ao lado do texto.\n\n### **CSS Parts:**\n - **content** - Parte para a área de conteúdo/texto do sign-in, usada para estilização via ::part().\n- **image** - Parte para a área da imagem/ícone, usada para controle de tamanho via CSS e ::part().",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "color-mode",
          "description": "Define se o sign-in usará um esquema de cores escuro.",
          "values": [{ "name": "dark" }]
        },
        {
          "name": "density",
          "description": "Define a densidade visual do componente.\n\n- `small`: Alta densidade (componente menor, mais compacto e com menos espaçamento).\n- `medium`: Densidade intermediária, padrão recomendado para a maioria dos casos.\n- `large`: Baixa densidade (componente maior, mais espaçamento e altura).",
          "values": [{ "name": "BrDensity" }]
        },
        {
          "name": "disabled",
          "description": "Desabilita a interação com o componente.",
          "values": []
        },
        {
          "name": "emphasis",
          "description": "Define a ênfase do sign-in, alterando sua aparência para criar hierarquia visual.",
          "values": [{ "name": "SignInEmphasis" }]
        },
        {
          "name": "shape",
          "description": "Define o formato do sign-in.",
          "values": [{ "name": "SignInShape" }]
        },
        {
          "name": "href",
          "description": "URL para onde o usuário será redirecionado ao clicar. Use para login com provedores externos ou em sites tradicionais.",
          "values": []
        },
        {
          "name": "target",
          "description": "Define onde abrir o link quando href é fornecido.",
          "values": [{ "name": "BrLinkTarget" }]
        },
        {
          "name": "navigation-mode",
          "description": "Controla como o componente integra a navegação mantendo `href` real no elemento navegável.\n- `native` (padrão): preserva o comportamento do navegador, conforme HTML/W3C.\n- `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir.\nCliques com modificadores, botão do meio ou `target` diferente de `_self` permanecem nativos.",
          "values": [{ "name": "BrNavigationMode" }]
        },
        {
          "name": "aria-label",
          "description": "Define o rótulo acessível usado por tecnologias assistivas.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-skip-link",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/skip-link?tab=designer).\n---\n\n\n### **Events:**\n - **brSkiplinkNavigation** - Evento emitido quando um item do skiplink é ativado.\nO evento contém informações sobre o item acionado e o elemento target.\n- **brSkipLinkNavigate** - Evento canônico emitido quando um destino é ativado.\n- **brDidShow** - Evento emitido quando o skiplink se torna visível.\n- **brSkipLinkShow** - Evento canônico emitido ao exibir o componente.\n- **brDidHide** - Evento emitido quando o skiplink se torna oculto.\n- **brSkipLinkHide** - Evento canônico emitido ao ocultar o componente.\n\n### **Methods:**\n - **watchModeChanges()** - Observa mudanças nos estados que afetam o modo efetivo (simple/compound)\ne atualiza as contagens dos itens quando necessário.\n- **handleItemNavigation(event: _CustomEvent<{ itemId: string; target: string }>_)** - Listener para eventos de navegação dos itens filhos.\n- **handleFocusIn()** - Listener para evento de foco no componente.\n- **handleFocusOut(event: _FocusEvent_)** - Listener para evento de perda de foco no componente.\n- **handleKeyDown(event: _KeyboardEvent_)** - Listener para a tecla Escape.\n- **hide(): _Promise<void>_** - Oculta o componente programaticamente.\n- **show(): _Promise<void>_** - Exibe o componente programaticamente.\n\n### **Slots:**\n - **default** - Slot para inserir os itens de navegação rápida (br-skiplink-item).\n\n### **CSS Parts:**\n - **container** - Parte para o contêiner principal do componente skip-link, usada para estilização via ::part().",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "open",
          "description": "Controla se o skip link está aberto.",
          "values": []
        },
        {
          "name": "variant",
          "description": "Define se o skip link apresenta um ou múltiplos itens visíveis.\n- 'simple': Exibe apenas um item por vez.\n- 'compound': Exibe uma lista com múltiplos itens.",
          "values": [{ "name": "SkipLinkVariant" }]
        },
        {
          "name": "position",
          "description": "Define a posição do skip link na tela.\n- 'top-left': Posicionado no canto superior esquerdo.\n- 'top-center': Posicionado no centro superior.\n- 'top-right': Posicionado no canto superior direito.",
          "values": [{ "name": "SkipLinkPosition" }]
        },
        {
          "name": "z-index",
          "description": "Define o z-index do componente.\nControla a ordem de empilhamento do componente na página.",
          "values": []
        },
        {
          "name": "show-item-count",
          "description": "Exibe a contagem de itens no formato (1/4), (2/4), etc.\nQuando `true`, cada item mostrará sua posição relativa ao total de itens.\nPor padrão, é `true` para o modo simple e `false` para o modo compound.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-skip-link-item",
      "description": "Nome canônico de `br-skiplink-item`.\n---\n\n\n### **Slots:**\n - **default** - Texto do link de navegação rápida.\n- **tag** - Conteúdo da indicação do atalho.",
      "attributes": [
        {
          "name": "target",
          "description": "ID ou seletor CSS de destino.",
          "values": []
        },
        {
          "name": "key-number",
          "description": "Número do atalho de teclado.",
          "values": []
        },
        {
          "name": "custom-id",
          "description": "Identificador encaminhado ao item legado.",
          "values": []
        },
        {
          "name": "hide-tag",
          "description": "Oculta a indicação visual do atalho.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-skiplink-item",
      "description": "@deprecated Use `br-skip-link-item`.\n\nPara a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/skip-link?tab=designer).\n---\n\n\n### **Events:**\n - **brSkiplinkItemClick** - Evento emitido quando o item é clicado/ativado.\nO evento contém informações sobre o item e o target.\n- **brSkipLinkItemActivate** - Evento canônico emitido quando o item é ativado.\n- **brSkiplinkItemFocus** - Evento emitido quando o item recebe foco.\n- **brSkipLinkItemFocus** - Evento canônico emitido quando o item recebe foco.\n\n### **Methods:**\n - **handleClick(_event: _MouseEvent_)** - Listener para cliques no item.\n- **handleKeyDown(event: _KeyboardEvent_)** - Listener para teclas Enter, Space e atalho Alt+[keyNumber].\n- **handleFocus()** - Listener para foco no item.\n- **itemFocus(): _Promise<void>_** - Move o foco para este item.\n- **navigateToTarget(): _Promise<void>_** - Navega para o target definido.\nMove o foco para o elemento alvo e ajusta a rolagem da página se necessário.\n\n### **Slots:**\n - **default** - Slot para o texto do link de navegação rápida.\n- **tag** - Slot para personalizar a tag numérica do atalho de teclado, exibindo o valor de key-number por padrão.",
      "attributes": [
        {
          "name": "target",
          "description": "ID do elemento de destino ou seletor CSS.\nEste é o elemento para o qual o usuário será levado ao ativar este item.",
          "values": []
        },
        {
          "name": "key-number",
          "description": "Número da tecla para acesso rápido.\nPermite que o usuário ative este item pressionando Alt+[keyNumber].\nAceita valores de 1 a 9.\nEsta propriedade implementa uma alternativa ao accessKey nativa,\nfornecendo um atalho de teclado consistente e acessível.",
          "values": []
        },
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "hide-tag",
          "description": "Controla a visibilidade da tag numérica.\nQuando `true`, a tag numérica não será exibida, mesmo que `keyNumber` esteja definido.\nO atalho de teclado continua funcionando, apenas a indicação visual é ocultada.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-slider",
      "description": "## Design System\n\nPara 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/slider?tab=designer).\n---\n\n\n### **Events:**\n - **brDidChangeValue** - Disparado após alteração do valor da alça inicial.\n- **brDidChangeValueEnd** - Disparado após alteração do valor da alça final (modo composto).\n- **brSliderValidationChange** - Emitido ao iniciar e concluir a validação customizada.\n\n### **Methods:**\n - **checkValidity(): _Promise<boolean>_** - Retorna se o slider atende às constraints configuradas.\n- **reportValidity(): _Promise<boolean>_** - Valida e solicita ao navegador a apresentação do erro atual.\n- **setCustomValidity(message: _string_): _Promise<void>_** - Define ou limpa uma mensagem de validade customizada.\n- **validate(): _Promise<boolean>_** - Executa o validator do slider e retorna se o valor atual é válido.\n- **getValidationState(): _Promise<FormValidationState>_** - Retorna um snapshot serializável da Constraint Validation API.\n\n### **Slots:**\n - **ref-start** - Conteúdo exibido como referência inicial abaixo da trilha.\n- **ref-end** - Conteúdo exibido como referência final abaixo da trilha.\n- **feedback** - Mensagem de validação, normalmente um `br-message`.\n\n### **CSS Parts:**\n - **base** - Contêiner principal do slider.\n- **layout** - Contêiner de layout do slider.\n- **body** - Área que agrupa trilha e referências.\n- **track** - Área interativa da trilha.\n- **track-visual** - Trilha visual do slider.\n- **tick-labels** - Contêiner das etiquetas das marcações.\n- **tick-label** - Etiqueta de uma marcação intermediária.\n- **filled-track** - Trecho preenchido da trilha.\n- **value-label** - Etiqueta com o valor da alça.\n- **value-label-arrow** - Seta da etiqueta de valor.\n- **thumb** - Alça de controle do slider.\n- **thumb-start** - Alça inicial do slider.\n- **thumb-end** - Alça final do slider em modo composto.\n- **references** - Contêiner das referências inicial e final.\n- **reference-start** - Referência inicial.\n- **reference-end** - Referência final.\n- **reference-bound** - Valor fixo de limite renderizado por `show-bounds`.\n- **input-wrapper** - Contêiner do campo numérico.\n- **input** - Campo numérico sincronizado com o slider.\n- **feedback** - Contêiner da mensagem de validação.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único.\nCaso não seja fornecido, um ID gerado automaticamente será usado.",
          "values": []
        },
        {
          "name": "name",
          "description": "Nome do campo, utilizado em formulários nativos (`<form>`).",
          "values": []
        },
        {
          "name": "label",
          "description": "Texto descritivo associado ao slider para acessibilidade.",
          "values": []
        },
        {
          "name": "min",
          "description": "Valor mínimo aceito pelo slider.",
          "values": []
        },
        {
          "name": "max",
          "description": "Valor máximo aceito pelo slider.",
          "values": []
        },
        {
          "name": "step",
          "description": "Incremento aplicado a cada passo.",
          "values": []
        },
        {
          "name": "validator",
          "description": "Regra síncrona ou assíncrona aplicada ao número ou intervalo selecionado.",
          "values": [{ "name": "SliderValidator" }]
        },
        {
          "name": "value",
          "description": "Valor atual do slider (alça inicial no modo composto).",
          "values": []
        },
        {
          "name": "value-end",
          "description": "Valor da alça final no modo composto (`range`).\nQuando não fornecido em modo composto, assume o valor de `max`.",
          "values": []
        },
        {
          "name": "range-value",
          "description": "Valor estruturado das duas alças no modo `range`.",
          "values": [{ "name": "SliderRangeValue" }]
        },
        {
          "name": "disabled",
          "description": "Desativa o slider, tornando-o não interativo.",
          "values": []
        },
        {
          "name": "density",
          "description": "Densidade da alça de controle.\n`small` = 16px (desktop compacto), `medium` = 20px (desktop padrão), `large` = 24px (mobile).",
          "values": [{ "name": "SliderDensity" }]
        },
        {
          "name": "vertical",
          "description": "Exibe o slider na orientação vertical.",
          "values": []
        },
        {
          "name": "orientation",
          "description": "Orientação canônica. Quando informada, tem precedência sobre `vertical`.",
          "values": [{ "name": "horizontal" }, { "name": "vertical" }]
        },
        {
          "name": "range",
          "description": "Ativa o modo composto com duas alças para seleção de faixa.",
          "values": []
        },
        {
          "name": "show-label",
          "description": "Exibe etiqueta com o valor atual acima da alça (horizontal) ou à esquerda (vertical).\nIgnorado quando `show-input` está ativo.",
          "values": []
        },
        {
          "name": "show-input",
          "description": "Exibe campo de entrada numérico sincronizado com a alça.\nQuando ativo, a etiqueta de valor não é exibida.",
          "values": []
        },
        {
          "name": "show-ticks",
          "description": "Exibe gradações na trilha como pequenos espaços que indicam os steps disponíveis,\nforçando a alça de controle a saltar entre os valores predefinidos e\nimpossibilitando a seleção de valores aleatórios.",
          "values": []
        },
        {
          "name": "show-tick-labels",
          "description": "Exibe os valores das marcações derivadas de `min`, `max` e `step`.",
          "values": []
        },
        {
          "name": "show-bounds",
          "description": "Exibe os limites nas referências inicial e final: `min` no início e `max` no fim\n(limites fixos), tanto em modo simples quanto em modo composto (`range`). O valor\nselecionado por cada alça é exibido na etiqueta (`show-label`), não nas referências.\nQuando ativo, sobrescreve o conteúdo dos slots `ref-start` e `ref-end`.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-step",
      "description": "## Design System\n\nPara 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/step?tab=designer).\n---\n\n\n### **Events:**\n - **brStepChange** - Emite um evento quando o step ativo muda.\nO evento carrega o índice do novo step ativo (0-based).\n\n### **Methods:**\n - **activeStepChanged(newValue: _number_, oldValue: _number_)** - Observa mudanças na etapa ativa e sincroniza os itens filhos.\n- **initialStepChanged(newValue: _string | number_, oldValue: _string | number_)** - Observa mudanças no passo inicial e atualiza a etapa ativa.\n- **labelPositionChanged()** - Observa mudanças na posição do label e propaga aos itens.\n- **contentTypeChanged()** - Observa mudanças no tipo de conteúdo e propaga aos itens.\n- **modeChanged(newValue: _StepMode_)** - Observa mudanças no modo e propaga aos itens.\n- **layoutChanged()** - Observa mudanças no layout e atualiza a linha do tempo dos itens.\n- **progressionTypeChanged()** - Observa mudanças no tipo de progressão e atualiza itens desabilitados.\n- **verticalContentPlacementChanged()** - Observa mudanças na posição do conteúdo vertical e propaga aos itens.\n- **handleClick(event: _MouseEvent_)** - listener para ouvir o evento de click no componente step\nAtravés desse listener o componente define qual será o proximo passo do step que terá o estado ativo\n- **ProceedToNextStep()** - @deprecated Use `next`. - Método disponibilizado via API do elemento que controla o componente Step, responsável por avançar para o próximo passo e atualizar o valor do estado activeStep\n- **next(): _Promise<void>_** - Avança para o próximo passo.\n- **BackToPreviousStep()** - @deprecated Use `previous`. - Método disponibilizado via API do elemento que controla o componente Step, responsável por retornar ao passo anterior e atualizar o valor do estado activeStep\n- **previous(): _Promise<void>_** - Retorna ao passo anterior.\n- **StepValidation(validationStatus: _StepValidationStatus_)** - @deprecated Use `setCurrentValidation`. - Método disponibilizado via API do elemento que integra um componente externo ao componente Step, permitindo sinalizar validações ou destacar a etapa com estado ativo.\n- **setCurrentValidation(validationStatus: _StepValidationStatus_): _Promise<void>_** - Define o estado de validação do passo ativo.\n- **GetActiveStep()** - \nMétodo disponibilizado via API do elemento que permite a um componente externo obter a etapa com o estado ativo do componente Step.\n\n### **Slots:**\n - **default** - Slot para os itens do step (br-step-item), aceitando apenas esse componente.\n\n### **CSS Parts:**\n - **container** - Parte para o contêiner principal envolvendo todos os step-items, usada para estilizar layout geral via ::part().",
      "attributes": [
        {
          "name": "layout",
          "description": "propriedade responsável por definir a orientação do componente Step",
          "values": [{ "name": "BrOrientation" }]
        },
        {
          "name": "orientation",
          "description": "Orientação do componente. Quando informada, tem precedência sobre `layout`.",
          "values": [{ "name": "BrOrientation" }]
        },
        {
          "name": "initial-step",
          "description": "\ndefine o passo que começará destacado",
          "values": []
        },
        {
          "name": "initial-index",
          "description": "Índice inicial zero-based. Quando informado, tem precedência sobre `initialStep`.",
          "values": []
        },
        {
          "name": "label-position",
          "description": "\nPropriedade que  define a posição onde o texto de destaque,label, ficará localizado no stepItem",
          "values": [{ "name": "StepLabelPosition" }]
        },
        {
          "name": "content-type",
          "description": "\nPropriedade que define o tipo de conteúdo a ser exibido dentro do componente step  e stepItem",
          "values": [{ "name": "StepContentType" }]
        },
        {
          "name": "mode",
          "description": "\nPropriedade que define o tipo de comportamento que o componente Step deverá seguir",
          "values": [{ "name": "StepMode" }]
        },
        {
          "name": "progression-type",
          "description": "\nPropriedade que define o tipo de progressão de etapas que o step vai executar",
          "values": [{ "name": "BrProgressionType" }]
        },
        {
          "name": "vertical-content-placement",
          "description": "Define a posição do conteúdo de cada etapa no layout vertical.\n- `between`: conteúdo abaixo do indicador/rótulo, entre as etapas.\n- `side`: conteúdo em coluna lateral à linha de indicadores.",
          "values": [{ "name": "StepVerticalContentPlacement" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-step-item",
      "description": "## Design System\n\nPara 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/step?tab=designer).\n---\n\n\n### **Methods:**\n - **setStepItemPositionStatus(value: _StepItemPositionStatus_)** - \nMétodo disponibilizado via api do elemento que indica a posição do step item, ele serve para setar o state stepItemPositionStatus do componente\n- **handleShowTimeLine(value: _boolean_, layout: _StepItemLayout_)** - Método que define a orientação do stepItem e controla a exibição da linha do tempo após o componente.\n- **setLabelPosition(value: _StepItemLabelPosition_)** - \nMétodo disponibilizado via api do elemento que atribui o valor ao estado que define onde o label, o texto de destaque, irá ficar localizado\n- **setContentType(value: _StepItemContentType_)** - \nMétodo disponibilizado via api do elemento que atribui o valor que irá definir o tipo de conteúdo apresentado dentro do componente stepItem\n- **setMode(value: _StepItemMode_)** - \nMétodo disponibilizado via api do elemento que atribui o valor que irá definir o modo como o componente irá se comportar e exibir seu estilo.\n- **setItemRole(value: _StepItemRole_)** - Define o role ARIA do botão interno.\nChamado pelo componente pai quando o contexto semântico exige um role\ndiferente do padrão `option` (ex.: `tab` em contexto de tablist).\n- **setContent(value: _string_)** - \nMétodo disponibilizado via api do elemento que atribui o valor que irá ser exibido dentro do componente stepItem\n- **setVerticalContentPlacement(value: _StepItemVerticalContentPlacement_)** - Método que define a posição do conteúdo no layout vertical.\n\n### **Slots:**\n - **content-area** - Slot para conteúdo customizado dentro do botão do item do step.\n- **step-content** - Slot para conteúdo da etapa exibido no layout vertical (texto, formulário, etc.).\n\n### **CSS Parts:**\n - **label** - Parte para o contêiner do texto da etapa, usada para estilizar tipografia e cor via ::part().",
      "attributes": [
        {
          "name": "label",
          "description": "Propriedade que define o conteúdo do texto auxiliar de realce do item de Step.",
          "values": []
        },
        {
          "name": "highlight",
          "description": "Propriedade que define o tipo de ícone de destaque exibido pelo item Step, com quatro opções disponíveis: \"success\", \"info\", \"danger\" e \"warning\".",
          "values": [{ "name": "StepItemHighlight" }]
        },
        {
          "name": "active",
          "description": "Propriedade que define se o item Step está com estado ativo.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Propriedade que define se o item Step está com estado desativado.",
          "values": []
        },
        {
          "name": "aria-label",
          "description": "Rótulo acessível explicitamente definido para o botão interno do item.\nQuando preenchido, substitui o texto gerado automaticamente pelo componente\n(\"passo X ...\") em qualquer modo, seguindo o comportamento padrão do\natributo HTML `aria-label`.",
          "values": []
        },
        {
          "name": "controls-id",
          "description": "ID do elemento controlado por este item, atribuído como `aria-controls`\nno botão interno. Vincula semanticamente o controle ao painel ou região\nque ele gerencia — podendo ser usado em qualquer contexto que exija essa ligação",
          "values": []
        },
        {
          "name": "br-icon-name",
          "description": "Nome Iconify do ícone exibido como conteúdo do step item quando `contentType` é `br-icon`.",
          "values": []
        },
        {
          "name": "br-icon-aria",
          "description": "Propriedade Define o nome do ícone o texto de acessibilidade apresentando quando o tipo de conteúdo for o br-icon",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-switch",
      "description": "## Design System\n\nPara 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/switch?tab=designer).\n---\n\n\n### **Events:**\n - **checkedChange** - Disparado depois que o valor do `checked` foi alterado.\n- **brSwitchValidationChange** - Emitido ao iniciar e concluir a validação customizada.\n\n### **Methods:**\n - **checkValidity(): _Promise<boolean>_** - Retorna `true` se o valor do switch for válido, caso contrário `false`.\nSe o switch for inválido, dispara um evento 'invalid'.\n- **reportValidity(): _Promise<boolean>_** - Retorna `true` se o valor do componente for válido, caso contrário `false`.\nSe for inválido, exibe a mensagem de erro padrão do navegador.\n- **setCustomValidity(message: _string_): _Promise<void>_** - Define uma mensagem de validação customizada para o switch.\nSe a mensagem for uma string vazia, o erro customizado é limpo.\n- **validate(): _Promise<boolean>_** - Executa o validator do switch e retorna se o valor atual é válido.\n- **getValidationState(): _Promise<FormValidationState>_** - Retorna um snapshot serializável da Constraint Validation API.\n- **toggleChecked()** - @deprecated Atualize a propriedade `checked` diretamente. - Inverte o valor da prop `checked`\n\n### **Slots:**\n - **default** - Slot para o rótulo do switch, com prioridade sobre a propriedade label.\n- **feedback** - Mensagem de validação, normalmente um `br-message`.\n\n### **CSS Parts:**\n - **container** - Contêiner visual do switch.\n- **input** - Elemento input nativo com role switch.\n- **label** - Rótulo do switch.\n- **data** - Elemento com textos de estado ligado/desligado.\n- **feedback** - Contêiner da mensagem de validação.",
      "attributes": [
        {
          "name": "disabled",
          "description": "Desativa o switch, tornando-o não interativo.",
          "values": []
        },
        {
          "name": "required",
          "description": "Se verdadeiro, o switch é obrigatório e deve ser ativado antes que o formulário possa ser enviado.",
          "values": []
        },
        {
          "name": "validator",
          "description": "Regra síncrona ou assíncrona aplicada ao estado booleano do switch.",
          "values": [{ "name": "SwitchValidator" }]
        },
        {
          "name": "checked",
          "description": "Define o estado de seleção do checkbox.\nSe definido como verdadeiro, o checkbox estará marcado. Caso contrário, estará desmarcado.",
          "values": []
        },
        {
          "name": "custom-id",
          "description": "Identificador único; gerado automaticamente quando omitido.",
          "values": []
        },
        {
          "name": "label",
          "description": "Texto descritivo.\nCaso um slot seja utilizado para fornecer um texto alternativo, o valor desta propriedade será ignorado.",
          "values": []
        },
        {
          "name": "label-position",
          "description": "Posição do rótulo em relação ao switch.",
          "values": [{ "name": "right" }, { "name": "left" }, { "name": "top" }]
        },
        {
          "name": "label-on",
          "description": "Texto exibido quando o switch está ativado.",
          "values": []
        },
        {
          "name": "label-off",
          "description": "Texto exibido quando o switch está desativado.",
          "values": []
        },
        {
          "name": "has-icon",
          "description": "Adiciona um ícone ao switch para indicar a mudança de estado.",
          "values": []
        },
        {
          "name": "show-icon",
          "description": "Exibe o ícone de estado. Quando informada, tem precedência sobre `hasIcon`.",
          "values": []
        },
        {
          "name": "name",
          "description": "Define o nome do switch, que é utilizado para agrupar switches em formulários e identificar o campo.\nO valor é obrigatório e deve ser fornecido para garantir o correto funcionamento em formulários.",
          "values": []
        },
        {
          "name": "value",
          "description": "Define o valor associado ao switch quando ele faz parte de um formulário nativo (`<form>`).\nEsse valor é enviado com o formulário quando o switch está selecionado.\n**Nota:** Esta propriedade não deve ser utilizada para determinar se o switch está selecionado; para verificar o estado de seleção, use a propriedade `checked`.",
          "values": []
        },
        {
          "name": "density",
          "description": "Ajusta a área de interação: `small` é compacto, `medium` é o padrão e `large` é mais espaçado.",
          "values": [
            { "name": "large" },
            { "name": "medium" },
            { "name": "small" }
          ]
        }
      ],
      "references": []
    },
    {
      "name": "br-tab",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/tab?tab=designer).\n---\n\n\n### **Events:**\n - **brTabChange** - Evento disparado quando um tab é ativado.\n\n### **Methods:**\n - **activeTabChanged(newId: _string_)** - Observa mudanças no tab ativo para atualizar os estados\n- **colorModeChanged(newValue: _string_)** - Observa mudanças no color mode para propagar aos filhos\n- **handleTabItemPropsChange()** - Escuta evento de mudança de propriedades dos tab-items filhos.\nEste listener garante que o componente pai seja re-renderizado quando\npropriedades mudam dinamicamente, sincronizando o painel ativo.\n- **setActiveTab(tabId: _string_): _Promise<void>_** - Ativa programaticamente uma aba a partir do seu identificador.\n- **getActiveTab(): _Promise<string | undefined>_** - Retorna o identificador da aba ativa atual.\n- **render(): __** - Renderiza o componente.\n\n### **Slots:**\n - **default** - Slot para inserir os itens das abas (br-tab-item)\n\n### **CSS Parts:**\n - **container** - Contêiner principal que envolve toda a estrutura do componente (navegação e conteúdo). Expõe o elemento para customizações de fundo, bordas e espaçamentos globais.\n- **nav** - Área de navegação (`tablist`) onde os botões das abas estão localizados. Permite customizar o alinhamento, espaçamento e plano de fundo da barra de abas.\n- **button** - Botão individual de cada aba.\n- **indicator** - Indicador visual da aba ativa.\n- **content** - Área de conteúdo das abas.",
      "attributes": [
        {
          "name": "active-tab-id",
          "description": "ID do tab atualmente ativo",
          "values": []
        },
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "density",
          "description": "Define a densidade visual do componente.\n\n- `small`: Alta densidade (componente menor, mais compacto e com menos espaçamento).\n- `medium`: Densidade intermediária, padrão recomendado para a maioria dos casos.\n- `large`: Baixa densidade (componente maior, mais espaçamento e altura).",
          "values": [{ "name": "TabDensity" }]
        },
        {
          "name": "color-mode",
          "description": "Define se o Tab usará um esquema de cores escuro.",
          "values": [{ "name": "TabColorMode" }]
        },
        {
          "name": "label",
          "description": "Label de acessibilidade para a navegação das tabs",
          "values": []
        },
        {
          "name": "align-items-tab",
          "description": "Define o alinhamento horizontal dos itens da tab na barra de navegação.",
          "values": [{ "name": "TabAlignItems" }]
        },
        {
          "name": "alignment",
          "description": "Alinhamento horizontal canônico. Quando informado, tem precedência sobre `alignItemsTab`.",
          "values": [{ "name": "TabAlignItems" }]
        },
        {
          "name": "scroll-disabled",
          "description": "Desabilita o scroll automático da área de conteúdo.\nPor padrão, o scroll vertical fica apenas na região de conteúdo.",
          "values": []
        },
        {
          "name": "scrollable",
          "description": "Controla o scroll interno. Quando informado, tem precedência sobre `scrollDisabled`.",
          "values": []
        },
        {
          "name": "height",
          "description": "Define a altura máxima da área de conteúdo, ativando o scroll interno quando o conteúdo ultrapassa essa altura.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-tab-item",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/tab?tab=designer).\n---\n\n\n### **Events:**\n - **brTabItemPropsChange** - Evento disparado quando as propriedades do tab-item mudam.\nO componente pai (br-tab) escuta este evento para atualizar a navegação.\n\n### **Methods:**\n - **tabItemTitleChanged()** - Observa mudanças no título e notifica o pai\n- **iconChanged()** - Observa mudanças no ícone e notifica o pai\n- **counterChanged()** - Observa mudanças no contador e notifica o pai\n- **onlyIconChanged()** - Observa mudanças em onlyIcon e notifica o pai\n- **isActiveChanged()** - Observa mudanças no estado ativo (alterações via JS/DOM direto) e notifica o pai\n\n### **Slots:**\n - **default** - Slot para o conteúdo do item da aba.",
      "attributes": [
        {
          "name": "tab-item-id",
          "description": "Identificador único do item da tab.\nCaso não seja fornecido, um ID gerado automaticamente será usado.",
          "values": []
        },
        {
          "name": "tab-item-title",
          "description": "Define o título do item de tab que aparece no botão de navegação",
          "values": []
        },
        {
          "name": "label",
          "description": "Texto canônico do item. Quando informado, tem precedência sobre `tabItemTitle`.",
          "values": []
        },
        {
          "name": "icon",
          "description": "Define o ícone do item de tab. Aceita o nome Iconify legado ou classes CSS\nde uma biblioteca carregada pela aplicação, como `fas fa-bell`.",
          "values": []
        },
        {
          "name": "only-icon",
          "description": "Define se exibe apenas o ícone, sem texto",
          "values": []
        },
        {
          "name": "icon-only",
          "description": "Exibe apenas o ícone. Quando informado, tem precedência sobre `onlyIcon`.",
          "values": []
        },
        {
          "name": "is-active",
          "description": "Define se o item de tab está ativo/visível",
          "values": []
        },
        {
          "name": "active",
          "description": "Estado ativo canônico. Quando informado, tem precedência sobre `isActive`.",
          "values": []
        },
        {
          "name": "counter",
          "description": "Define contador do item de tab (exibido abaixo do botão)",
          "values": []
        },
        {
          "name": "color-mode",
          "description": "Define se o Tab usará um esquema de cores escuro",
          "values": [{ "name": "dark" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-table",
      "description": "## Design System\n\nTabela baseada em CSS Grid com controle via tokens.\n\nA tabela é composta de vários subcomponentes, incluindo:\n- br-table-header: Define o cabeçalho da tabela, agrupando as linhas de cabeçalho.\n- br-table-row: Representa uma linha da tabela, podendo conter células de conteúdo ou células de cabeçalho.\n- br-table-header-cell: Representa uma célula de cabeçalho, permitindo a definição de propriedades como largura e alinhamento que podem ser herdadas pelas células de conteúdo associadas.\n- br-table-cell: Representa uma célula de conteúdo da tabela, onde os dados são inseridos.\n- br-table-body: Agrupa as linhas de conteúdo da tabela, representadas pelo subcomponente br-table-row.\n---\n\n\n### **Methods:**\n \n\n\n\n\n- **startLoading(): _Promise<void>_** - Inicia o estado de carregamento da tabela.\n- **stopLoading(): _Promise<void>_** - Interrompe o estado de carregamento da tabela.\n- **render(): __** - Renderiza o host do componente.\n\n### **Slots:**\n - **loading** - Indicador exibido enquanto as linhas são atualizadas.\n\n### **CSS Parts:**\n - **container** - Wrapper principal da tabela.\n- **content** - Área de conteúdo que contém header e body.\n- **loading** - Área do indicador de carregamento.",
      "attributes": [
        {
          "name": "column-width",
          "description": "Largura global aplicada a todas as colunas.",
          "values": [{ "name": "ColumnWidth" }]
        },
        {
          "name": "density",
          "description": "Define a densidade visual do componente.\n\n- `small`: Alta densidade (componente menor, mais compacto e com menos espaçamento).\n- `medium`: Densidade intermediária, padrão recomendado para a maioria dos casos.\n- `large`: Baixa densidade (componente maior, mais espaçamento e altura).",
          "values": [{ "name": "TableDensity" }]
        },
        {
          "name": "divider-style",
          "description": "Define o estilo visual dos divisores.",
          "values": [{ "name": "TableDividerStyle" }]
        },
        {
          "name": "has-column-divider",
          "description": "Ativa divisores verticais entre colunas.",
          "values": []
        },
        {
          "name": "column-divider",
          "description": "Ativa divisores verticais. Quando informada, tem precedência sobre `hasColumnDivider`.",
          "values": []
        },
        {
          "name": "has-row-divider",
          "description": "Ativa divisores horizontais entre linhas.",
          "values": []
        },
        {
          "name": "row-divider",
          "description": "Ativa divisores horizontais. Quando informada, tem precedência sobre `hasRowDivider`.",
          "values": []
        },
        {
          "name": "horizontal-alignment",
          "description": "Define o alinhamento horizontal do conteúdo das células.",
          "values": [{ "name": "TableAlignment" }]
        },
        {
          "name": "vertical-alignment",
          "description": "Define o alinhamento vertical do conteúdo das células.",
          "values": [{ "name": "TableAlignment" }]
        },
        {
          "name": "overflow",
          "description": "Define o comportamento de overflow para as células.",
          "values": [{ "name": "TableOverflow" }]
        },
        {
          "name": "tooltip-state",
          "description": "Define o estado semântico do tooltip nas células da tabela.",
          "values": [{ "name": "TableTooltipState" }]
        },
        {
          "name": "tooltip-mode",
          "description": "Define o modo de resolução do tooltip nas células da tabela.",
          "values": [{ "name": "TableTooltipMode" }]
        },
        {
          "name": "loading",
          "description": "Indica que as linhas estão sendo atualizadas pelo consumidor.\nO componente mantém o conteúdo anterior, aplica `aria-busy=\"true\"` e\nexibe o slot `loading` sobre os dados; transporte, erro e substituição das\nlinhas ficam sob responsabilidade da aplicação.\nA prop pode ser alterada diretamente ou pelos métodos `startLoading()` e\n`stopLoading()`.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-table-body",
      "description": "## Design System\n\nO br-table-body é um subcomponente da tabela que tem a função de agrupar as linhas de conteúdo da tabela, representadas pelo subcomponente br-table-row.\nEle é utilizado para organizar e estruturar o conteúdo do corpo da tabela, permitindo a definição de múltiplas linhas de conteúdo, cada uma contendo células de conteúdo representadas pelo subcomponente br-table-cell.\n---\n\n\n### **Methods:**\n - **render(): __** - Renderiza o host do componente.\n\n### **CSS Parts:**\n - **body** - Wrapper do corpo da tabela.",
      "attributes": [],
      "references": []
    },
    {
      "name": "br-table-cell",
      "description": "## Design System\n\nO br-table-cell é um subcomponente da tabela que representa uma célula de conteúdo dentro da tabela, sendo utilizado para definir o conteúdo e as propriedades de formatação das células de dados da tabela.\nEle é projetado para ser utilizado dentro do subcomponente br-table-row, que representa uma linha da tabela, permitindo a organização e estruturação do conteúdo das células de dados da tabela.\n---\n\n\n### **Events:**\n - **brAlignmentChange** - Evento customizado emitido quando o alinhamento é alterado, permitindo que a célula reaja dinamicamente a mudanças nos tokens de alinhamento.\n- **brOverflowChange** - Evento customizado emitido quando a configuração de overflow é alterada, permitindo que a célula reaja dinamicamente a mudanças no token de overflow.\n\n### **Methods:**\n \n\n- **render(): __** - Renderiza o host do componente.\n\n### **CSS Parts:**\n - **cell** - Wrapper da célula.\n- **content** - Área de conteúdo da célula.",
      "attributes": [
        {
          "name": "horizontal-alignment",
          "description": "Define o alinhamento horizontal do conteúdo dentro da célula.",
          "values": [{ "name": "TableAlignment" }]
        },
        {
          "name": "vertical-alignment",
          "description": "Define o alinhamento vertical do conteúdo dentro da célula.",
          "values": [{ "name": "TableAlignment" }]
        },
        {
          "name": "overflow",
          "description": "Define se o conteúdo dentro da célula deve ser truncado, permitindo a herança dessa configuração para as células filhas com base no valor definido.",
          "values": [{ "name": "TableOverflow" }]
        },
        {
          "name": "tooltip-state",
          "description": "Define o estado semântico do tooltip nesta célula.",
          "values": [{ "name": "TableTooltipState" }]
        },
        {
          "name": "tooltip-mode",
          "description": "Define o modo de resolução do tooltip nesta célula.",
          "values": [{ "name": "TableTooltipMode" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-table-header",
      "description": "## Design System\n\nO br-table-header é um subcomponente estrutural da tabela, responsável por agrupar as linhas de cabeçalho da tabela, representadas pelo subcomponente br-table-row.\nEle é utilizado para organizar e estruturar o conteúdo do cabeçalho da tabela, permitindo a definição de múltiplas linhas de cabeçalho, cada uma contendo células de cabeçalho representadas pelo subcomponente br-table-header-cell.\n---\n\n\n### **Methods:**\n - **render(): __** - Renderiza o host do componente.\n\n### **CSS Parts:**\n - **header** - Wrapper do cabeçalho da tabela.",
      "attributes": [],
      "references": []
    },
    {
      "name": "br-table-header-cell",
      "description": "## Design System\n\nO br-table-header-cell é um subcomponente da table que representa uma célula de cabeçalho dentro da tabela, sendo utilizado para definir o conteúdo e as propriedades de formatação do cabeçalho da tabela.\nEle é projetado para ser utilizado dentro do subcomponente br-table-row, que representa uma linha da tabela, permitindo a organização e estruturação do conteúdo do cabeçalho da tabela.\n---\n\n\n### **Events:**\n - **brColumnWidthChange** - Evento customizado emitido quando a largura da coluna é alterada, permitindo que as células reajam dinamicamente a mudanças no layout.\n- **brAlignmentChange** - Evento customizado emitido quando o alinhamento é alterado, permitindo que a célula de cabeçalho reaja dinamicamente a mudanças nos tokens de alinhamento.\n- **brOverflowChange** - Evento customizado emitido quando a configuração de overflow é alterada, permitindo que a célula de cabeçalho reaja dinamicamente a mudanças no token de overflow.\n\n### **Methods:**\n \n\n\n- **render(): __** - Renderiza o host do componente.\n\n### **CSS Parts:**\n - **cell** - Wrapper da célula de cabeçalho.\n- **content** - Área de conteúdo da célula de cabeçalho.",
      "attributes": [
        {
          "name": "column-width",
          "description": "Define a largura da coluna.",
          "values": [{ "name": "ColumnWidth" }]
        },
        {
          "name": "horizontal-alignment",
          "description": "Define o alinhamento horizontal do conteúdo dentro da célula de cabeçalho, permitindo a herança de alinhamento para as células filhas com base no valor definido.",
          "values": [{ "name": "TableAlignment" }]
        },
        {
          "name": "vertical-alignment",
          "description": "Define o alinhamento vertical do conteúdo dentro da célula de cabeçalho, permitindo a herança de alinhamento para as células filhas com base no valor definido.",
          "values": [{ "name": "TableAlignment" }]
        },
        {
          "name": "overflow",
          "description": "Define se o conteúdo dentro da célula de cabeçalho deve ser truncado, permitindo a herança dessa configuração para as células filhas com base no valor definido.",
          "values": [{ "name": "TableOverflow" }]
        },
        {
          "name": "tooltip-state",
          "description": "Define o estado semântico do tooltip nesta coluna/célula de cabeçalho.",
          "values": [{ "name": "TableTooltipState" }]
        },
        {
          "name": "tooltip-mode",
          "description": "Define o modo de resolução do tooltip nesta coluna/célula de cabeçalho.",
          "values": [{ "name": "TableTooltipMode" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-table-row",
      "description": "## Design System\n\nO br-table-row é um subcomponente da tabela que representa uma linha da tabela, podendo conter células de conteúdo (br-table-cell) ou células de cabeçalho (br-table-header-cell).\nEle é utilizado para organizar e estruturar o conteúdo da tabela, permitindo a definição de propriedades como alinhamento e overflow que podem ser herdadas pelas células associadas.\n---\n\n\n### **Events:**\n - **brAlignmentChange** - Evento customizado emitido quando o alinhamento é alterado, permitindo que as células reajam dinamicamente a mudanças nos tokens de alinhamento.\n- **brOverflowChange** - Evento customizado emitido quando a configuração de overflow é alterada, permitindo que as células reajam dinamicamente a mudanças no token de overflow.\n\n### **Methods:**\n \n\n- **render(): __** - Renderiza o host do componente.\n\n### **CSS Parts:**\n - **row** - Wrapper da linha da tabela.",
      "attributes": [
        {
          "name": "horizontal-alignment",
          "description": "Define o alinhamento horizontal das células dentro da linha, permitindo a herança de alinhamento para as células filhas com base no valor definido.",
          "values": [{ "name": "TableAlignment" }]
        },
        {
          "name": "vertical-alignment",
          "description": "Define o alinhamento vertical das células dentro da linha, permitindo a herança de alinhamento para as células filhas com base no valor definido.",
          "values": [{ "name": "TableAlignment" }]
        },
        {
          "name": "overflow",
          "description": "Define se o conteúdo dentro das células da linha deve ser truncado, permitindo a herança dessa configuração para as células filhas com base no valor definido.",
          "values": [{ "name": "TableOverflow" }]
        },
        {
          "name": "tooltip-state",
          "description": "Define o estado semântico do tooltip nas células desta linha.",
          "values": [{ "name": "TableTooltipState" }]
        },
        {
          "name": "tooltip-mode",
          "description": "Define o modo de resolução do tooltip nas células desta linha.",
          "values": [{ "name": "TableTooltipMode" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-tag",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/textarea?tag=designer).\n---\n\n\n### **Events:**\n - **radioSelected** - Evento emitido quando a tag é selecionada.\n- **brTagValidationChange** - Emitido ao iniciar e concluir a validação customizada.\n\n### **Methods:**\n - **checkValidity(): _Promise<boolean>_** - Retorna se a tag selecionável atende às constraints configuradas.\n- **reportValidity(): _Promise<boolean>_** - Valida e solicita ao navegador a apresentação do erro atual.\n- **setCustomValidity(message: _string_): _Promise<void>_** - Define ou limpa uma mensagem de validade customizada.\n- **validate(): _Promise<boolean>_** - Executa o validator da tag e retorna se o valor atual é válido.\n- **getValidationState(): _Promise<FormValidationState>_** - Retorna um snapshot serializável da Constraint Validation API.\n\n### **Slots:**\n - **default** - Slot para inserir o conteúdo da tag, como rótulo ou ícone.\n- **label** - Rótulo customizado da tag. Quando utilizado, a prop `label` é ignorada.\n- **icon** - Ícone customizado da tag. Quando utilizado, a prop `icon` é ignorada.\n- **close-button** - Botão de fechar customizado. Quando utilizado, o botão padrão é substituído.\n- **feedback** - Mensagem de validação, normalmente um `br-message`.\n\n### **CSS Parts:**\n - **tag** - Elemento principal da tag.\n- **input** - Elemento input da tag de seleção.\n- **label** - Rótulo da tag de seleção.\n- **feedback** - Contêiner da mensagem de validação.",
      "attributes": [
        {
          "name": "label",
          "description": "A propriedade 'label' é uma string que representa o texto a ser exibido no componente.\nEla é refletida no DOM, permitindo que alterações no valor sejam refletidas no elemento HTML correspondente.",
          "values": []
        },
        {
          "name": "icon-name",
          "description": "A propriedade 'iconName' define um nome Iconify para o ícone exibido ao lado do texto.",
          "values": []
        },
        {
          "name": "name",
          "description": "A propriedade 'name' é uma string que representa o nome do grupo da tag para seleção.\nEla é refletida no DOM, permitindo que alterações no valor sejam refletidas no elemento HTML correspondente.",
          "values": []
        },
        {
          "name": "value",
          "description": "Valor submetido quando a tag selecionável está ativa.",
          "values": []
        },
        {
          "name": "validator",
          "description": "Regra síncrona ou assíncrona aplicada ao estado e valor da tag.",
          "values": [{ "name": "TagValidator" }]
        },
        {
          "name": "multiple",
          "description": "A tag permite seleção múltipla.",
          "values": []
        },
        {
          "name": "selected",
          "description": "A tag está selecionada.",
          "values": []
        },
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "bg-color",
          "description": "A propriedade 'color' permite definir a cor do componente.\nAceita valores como 'red', 'blue', entre outros, e é refletida no DOM.",
          "values": []
        },
        {
          "name": "density",
          "description": "Define a densidade visual do componente.\n\n- `small`: Alta densidade (componente menor, mais compacto e com menos espaçamento).\n- `medium`: Densidade intermediária, padrão recomendado para a maioria dos casos.\n- `large`: Baixa densidade (componente maior, mais espaçamento e altura).",
          "values": [{ "name": "BrDensity" }]
        },
        {
          "name": "shape",
          "description": "A propriedade 'shape' define o formato do componente.",
          "values": [{ "name": "TagShape" }]
        },
        {
          "name": "size",
          "description": "Define o tamanho personalizado do componente quando o formato for circular (`circle`), arredondado (`rounded`) ou status.\nAceita qualquer valor de tamanho CSS válido (ex: `16px`, `1.5rem`).",
          "values": []
        },
        {
          "name": "variant",
          "description": "Variante funcional canônica. Quando informada, tem precedência sobre os modos booleanos legados.",
          "values": [{ "name": "TagVariant" }]
        },
        {
          "name": "status",
          "description": "Transforma a tag em um indicador de status, com aparência circular.\nÉ flexível podendo ser utilizado com label ou apenas a superfície circular (informação é transmitida por meio de cores).",
          "values": []
        },
        {
          "name": "interaction",
          "description": "Interação deve ser habilitada.",
          "values": []
        },
        {
          "name": "interaction-select",
          "description": "Interação de seleção deve ser habilitada.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Desabilita a interação com o componente.",
          "values": []
        },
        {
          "name": "required",
          "description": "Exige uma seleção no grupo quando `interaction-select` está ativo.",
          "values": []
        },
        {
          "name": "min-selections",
          "description": "Quantidade mínima de tags selecionadas no mesmo grupo.",
          "values": []
        },
        {
          "name": "max-selections",
          "description": "Quantidade máxima de tags selecionadas no mesmo grupo. Zero significa sem limite.",
          "values": []
        },
        {
          "name": "aria-label",
          "description": "Define o rótulo acessível usado por tecnologias assistivas.",
          "values": []
        },
        {
          "name": "aria-describedby",
          "description": "ID do elemento que fornece descrição adicional da tag.\nReferencia um elemento na página que contém informações complementares sobre a tag.\nA descrição é lida após o conteúdo principal, fornecendo contexto extra aos usuários de leitores de tela.\nExemplo: aria-describedby=\"help-status\" onde existe <div id=\"help-status\">Aguardando aprovação</div>",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-textarea",
      "description": "## Design System\n\nPara 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/textarea?tab=designer).\n---\n\n\n### **Events:**\n - **valueChange** - Valor atualizado do textarea\n- **brTextareaValidationChange** - Informa o início e o resultado do validator; o `detail` contém\n`validating`, `valid` e `message`.\n\n### **Methods:**\n - **checkValidity(): _Promise<boolean>_** - Retorna `true` se o valor do textarea for válido, caso contrário `false`.\nSe o textarea for inválido, dispara um evento 'invalid'.\n- **reportValidity(): _Promise<boolean>_** - Retorna `true` se o valor do textarea for válido, caso contrário `false`.\nSe for inválido, exibe a mensagem de erro padrão do navegador.\n- **setCustomValidity(message: _string_): _Promise<void>_** - Define uma mensagem de validação customizada para o textarea.\nSe a mensagem for uma string vazia, o erro customizado é limpo.\n- **validate(): _Promise<boolean>_** - Executa o validator customizado e retorna se o textarea está válido.\n- **getValidationState(): _Promise<FormValidationState>_** - Retorna um snapshot serializável da Constraint Validation API.\n- **select(): _Promise<void>_** - Seleciona todo o texto do controle nativo, conforme HTMLTextAreaElement.select().\n- **setRangeText(replacement: _string_, start: _number_, end: _number_, selectionMode: _SelectionMode_): _Promise<void>_** - Substitui um intervalo de texto usando a API nativa do textarea.\n- **setSelectionRange(start: _number_, end: _number_, direction: _'forward' | 'backward' | 'none'_): _Promise<void>_** - Define o intervalo selecionado no controle nativo.\n- **setValue(newValue: _string_)** - Define um novo valor para o textarea.\n\n### **Slots:**\n - **default** - Slot para texto adicional ou instruções a serem exibidos junto ao textarea.\n- **feedback** - Mensagem de validação, normalmente um `br-message`.\n- **validation-loading** - Indicador exibido durante validação assíncrona.\n\n### **CSS Parts:**\n - **container** - Contêiner visual principal.\n- **label** - Rótulo do textarea.\n- **textarea** - Elemento textarea nativo.\n- **counter** - Contêiner do contador.\n- **counter-text** - Texto do contador.\n- **helper** - Contêiner do conteúdo auxiliar do slot default.\n- **feedback** - Contêiner da mensagem de validação.",
      "attributes": [
        {
          "name": "value",
          "description": "Valor exibido no textarea.\nPode ser alterado pelo usuário se a propriedade `readonly` não estiver ativa.",
          "values": []
        },
        {
          "name": "label",
          "description": "Texto exibido como rótulo do input.",
          "values": []
        },
        {
          "name": "placeholder",
          "description": "Texto exibido dentro do input quando está vazio, fornecendo uma dica ou sugestão ao usuário.",
          "values": []
        },
        {
          "name": "aria-label",
          "description": "Texto alternativo para acessibilidade quando não há label visível.\nFornece um rótulo para tecnologias assistivas sem exibir visualmente.",
          "values": []
        },
        {
          "name": "custom-id",
          "description": "Identificador único.\nCaso não seja fornecido, um ID gerado automaticamente será usado.",
          "values": []
        },
        {
          "name": "name",
          "description": "Nome do campo para identificação no formulário.\nNecessário para participação correta no envio de formulários e integração com frameworks.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Indica se o textarea está desabilitado. Quando verdadeiro, o usuário não pode interagir com o campo.",
          "values": []
        },
        {
          "name": "required",
          "description": "Se verdadeiro, o input é obrigatório e deve ser preenchido antes que o formulário possa ser enviado.",
          "values": []
        },
        {
          "name": "readonly",
          "description": "Impede edição sem remover o campo do envio do formulário.",
          "values": []
        },
        {
          "name": "minlength",
          "description": "Número mínimo de caracteres necessário para o valor ser válido.",
          "values": []
        },
        {
          "name": "maxlength",
          "description": "Número máximo de caracteres permitidos no textarea. Se definido como 0, não há limite.",
          "values": []
        },
        {
          "name": "show-counter",
          "description": "Mostra o contador com a quantidade máxima de caracteres.",
          "values": []
        },
        {
          "name": "state",
          "description": "Define o estado visual do componente, podendo ser 'danger', 'success' ou 'warning'.",
          "values": [
            { "name": "danger" },
            { "name": "success" },
            { "name": "warning" }
          ]
        },
        {
          "name": "feedback-state",
          "description": "Estado de feedback canônico. Quando informado, tem precedência sobre `state`.",
          "values": [
            { "name": "danger" },
            { "name": "success" },
            { "name": "warning" }
          ]
        },
        {
          "name": "validator",
          "description": "Regra síncrona ou assíncrona executada no `change` ou por `validate()`.\nPode consultar um serviço remoto; o componente controla apenas loading,\nvalidade e a precedência do resultado mais recente.",
          "values": [{ "name": "InputValidator" }]
        },
        {
          "name": "density",
          "description": "Ajusta a densidade do componente, podendo ser 'small', 'medium' ou 'large'.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "is-inline",
          "description": "Se verdadeiro, o rótulo e o input estarão na mesma linha (layout inline).",
          "values": []
        },
        {
          "name": "inline",
          "description": "Exibe rótulo e controle em linha. Quando informada, tem precedência sobre `isInline`.",
          "values": []
        },
        {
          "name": "rows",
          "description": "Número de linhas visíveis no textarea.\nDefine a altura do componente em relação ao número de linhas de texto exibidas.",
          "values": []
        },
        {
          "name": "cols",
          "description": "Número de colunas (caracteres) visíveis no textarea.\nDefine a largura do componente em relação ao número de caracteres por linha.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-tooltip",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/tooltip?tab=designer).\n---\n\n\n### **Events:**\n - **brDidOpen** - Emitido quando o tooltip abre.\n- **brDidClose** - Emitido quando o tooltip fecha.\n\n### **Methods:**\n - **handleVisibilityChange(visible: _boolean_): __** - Watcher para monitorar alterações na propriedade `isVisible`.\n- **handleFocusIn()** - Exibe o tooltip quando o acionador recebe foco.\n- **handleFocusOut()** - Oculta o tooltip quando o acionador perde foco.\n- **handleKeyDown(event: _KeyboardEvent_)** - Fecha com Escape enquanto o tooltip estiver visível.\n- **setTriggerElement(element: _HTMLElement | null_)** - Define um trigger externo para o tooltip.\n- **showTooltip()** - Exibe o tooltip programaticamente.\n- **hideTooltip()** - Oculta o tooltip programaticamente.\n- **show()** - Exibe o tooltip programaticamente (alias para `showTooltip`).\n- **hide()** - Oculta o tooltip programaticamente (alias para `hideTooltip`).\n- **render(): __** - Renderiza o componente.\nEste método é responsável por gerar o conteúdo HTML do componente.\nEle utiliza a função `h` do Stencil para criar elementos JSX.\n\n### **Slots:**\n - **trigger** - Slot para o elemento que aciona a exibição do tooltip.\n- **content** - Slot para o conteúdo exibido no tooltip.\n\n### **CSS Parts:**\n - **container** - Wrapper principal do tooltip.\n- **trigger** - Área do acionador do tooltip.\n- **content** - Área de conteúdo do tooltip.\n- **arrow** - Seta indicativa do tooltip.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "aria-label",
          "description": "Nome acessível do popover. Quando omitido, usa o rótulo derivado do estado visual.",
          "values": []
        },
        {
          "name": "position",
          "description": "Posição do tooltip em relação ao acionador.",
          "values": [{ "name": "TooltipPosition" }]
        },
        {
          "name": "type",
          "description": "Tipo do tooltip: 'standard' (simples) ou 'popover' (mais rico, com fechamento por interação).",
          "values": [{ "name": "TooltipType" }]
        },
        {
          "name": "interaction",
          "description": "Modo de interação para exibição do tooltip: 'hover' ou 'click'.",
          "values": [{ "name": "hover" }, { "name": "click" }]
        },
        {
          "name": "density",
          "description": "Define a densidade visual do componente.\n\n- `small`: Alta densidade (componente menor, mais compacto e com menos espaçamento).\n- `medium`: Densidade intermediária, padrão recomendado para a maioria dos casos.\n- `large`: Baixa densidade (componente maior, mais espaçamento e altura).",
          "values": [{ "name": "TooltipDensity" }]
        },
        {
          "name": "state",
          "description": "Estado visual do tooltip: 'info', 'warning', 'error', 'danger' ou 'success'.",
          "values": [{ "name": "TooltipState" }]
        },
        {
          "name": "is-auto-visible",
          "description": "Exibe automaticamente sem interação quando true; caso contrário, depende do acionador.",
          "values": []
        },
        {
          "name": "show-delay",
          "description": "Atraso em milissegundos antes de exibir.",
          "values": []
        },
        {
          "name": "hide-delay",
          "description": "Atraso em milissegundos antes de ocultar.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-upload",
      "description": "## Design System\n---\n\n\n### **Events:**\n - **selectedFilesChange** - Emitido quando a lista de arquivos selecionados muda.\n- **brRemove** - Evento emitido quando um arquivo da lista `uploadFiles` (externos) é removido pelo usuário.\nO objeto emitido contém os dados do arquivo removido.\n- **brUploadRemove** - Evento canônico emitido quando um arquivo existente é removido.\n- **brUploadCancel** - Emitido quando o usuário fecha a caixa de seleção de arquivos sem escolher nada.\n- **brUploadValidationChange** - Emitido ao iniciar e concluir a validação customizada.\nO `detail` contém `validating`, `valid` e `message`.\n- **brUploadStart** - Emitido antes de o `uploadHandler` processar um arquivo.\n- **brUploadProgress** - Emitido quando o `uploadHandler` informa o progresso de um arquivo.\n- **brUploadSuccess** - Emitido quando o `uploadHandler` conclui um arquivo.\n- **brUploadError** - Emitido quando o `uploadHandler` falha ao enviar um arquivo.\n\n### **Methods:**\n - **checkValidity(): _Promise<boolean>_** - Retorna `true` se o valor do componente for válido, caso contrário `false`.\nSe o componente for inválido, dispara um evento 'invalid'.\n- **reportValidity(): _Promise<boolean>_** - Retorna `true` se o valor do componente for válido, caso contrário `false`.\nSe for inválido, exibe a mensagem de erro padrão do navegador.\n- **setCustomValidity(message: _string_): _Promise<void>_** - Define uma mensagem de validação customizada para o upload.\nSe a mensagem for uma string vazia, o erro customizado é limpo.\n- **validate(): _Promise<boolean>_** - Executa o validator do upload e retorna se a lista atual é válida.\n- **getValidationState(): _Promise<FormValidationState>_** - Retorna um snapshot serializável da Constraint Validation API.\n- **cancelUpload(): _Promise<void>_** - Cancela o envio atual iniciado pelo `uploadHandler`.\n\n### **Slots:**\n - **default** - Texto personalizado para o botão de upload. Se não fornecido, será exibido \"Selecione o arquivo\" como texto padrão. Use este slot para personalizar o texto do botão de acordo com o contexto do upload, por exemplo: \"Anexar documentos\", \"Enviar imagens\", etc.\n- **upload-list** - Permite customizar a área de listagem de arquivos. Se utilizado, substitui a lista padrão gerada pelo componente.\n- **label** - Rótulo customizado do upload. Quando utilizado, a prop `label` é ignorada.\n- **helper** - Texto auxiliar exibido abaixo da superfície de seleção.\n- **feedback** - Mensagem de validação, normalmente um `br-message`.\n- **loading** - Conteúdo exibido enquanto o handler fornecido pela aplicação envia um arquivo.\n\n### **CSS Parts:**\n - **container** - Wrapper principal do upload.\n- **label** - Rótulo do campo de upload.\n- **input** - Elemento input de arquivo.\n- **button** - Botão de seleção de arquivo.\n- **helper** - Texto auxiliar do upload.\n- **remove-button** - Botão de remoção de arquivo.\n- **file-list** - Lista de arquivos selecionados.\n- **feedback** - Contêiner da mensagem de validação.\n- **loading** - Estado e progresso do envio assíncrono.",
      "attributes": [
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        },
        {
          "name": "name",
          "description": "Nome do campo enviado no formulário.",
          "values": []
        },
        {
          "name": "accept",
          "description": "Tipos de arquivo permitidos (ex.: 'image/*').",
          "values": []
        },
        {
          "name": "capture",
          "description": "Sugere a câmera usada na captura de imagem ou vídeo.\nO navegador pode ignorar a preferência conforme dispositivo e permissões.",
          "values": [
            { "name": "''" },
            { "name": "user" },
            { "name": "environment" }
          ]
        },
        {
          "name": "label",
          "description": "Rótulo exibido acima do botão de upload.",
          "values": []
        },
        {
          "name": "upload-files",
          "description": "Lista de arquivos já enviados (para edição ou pré-visualização).\nPode ser uma string JSON ou um array de objetos IUploadFile.",
          "values": [{ "name": "IUploadFile[]" }]
        },
        {
          "name": "existing-files",
          "description": "Arquivos já existentes. Quando informada, tem precedência sobre `uploadFiles`.",
          "values": [{ "name": "IUploadFile[]" }]
        },
        {
          "name": "disabled",
          "description": "Desabilita a interação com o componente.",
          "values": []
        },
        {
          "name": "required",
          "description": "Se verdadeiro, o input de upload é obrigatório antes que o formulário possa ser enviado.",
          "values": []
        },
        {
          "name": "state",
          "description": "Estado visual: 'info', 'warning', 'danger' ou 'success'.",
          "values": [{ "name": "BrFeedbackState" }]
        },
        {
          "name": "feedback-state",
          "description": "Estado de feedback canônico. Quando informado, tem precedência sobre `state`.",
          "values": [{ "name": "BrFeedbackState" }]
        },
        {
          "name": "multiple",
          "description": "Indica se o componente permite a seleção de múltiplos arquivos.\nQuando definido como `true`, o usuário pode selecionar mais de um arquivo para upload.",
          "values": []
        },
        {
          "name": "min-files",
          "description": "Quantidade mínima de arquivos, incluindo arquivos já enviados.",
          "values": []
        },
        {
          "name": "max-files",
          "description": "Quantidade máxima de arquivos. Zero significa sem limite.",
          "values": []
        },
        {
          "name": "max-file-size",
          "description": "Tamanho máximo permitido para cada arquivo, em bytes. Zero significa sem limite.",
          "values": []
        },
        {
          "name": "validator",
          "description": "Regra síncrona ou assíncrona aplicada à lista de arquivos selecionados.\nO componente valida `File[]`, mas não envia arquivos nem interpreta a\nresposta do servidor.",
          "values": [{ "name": "UploadValidator" }]
        },
        {
          "name": "upload-handler",
          "description": "Função assíncrona opcional fornecida pela aplicação para enviar cada arquivo.\n\nO componente fornece o arquivo, um `AbortSignal` e uma função de progresso,\nmas não conhece endpoint, autenticação nem formato de resposta.",
          "values": [{ "name": "UploadHandler" }]
        },
        {
          "name": "files",
          "description": "Lista de arquivos selecionados, equivalente a `HTMLInputElement.files`.",
          "values": [{ "name": "FileList" }]
        }
      ],
      "references": []
    },
    {
      "name": "br-wizard",
      "description": "Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/wizard?tab=designer).\n---\n\n\n### **Events:**\n - **brWizardStepChange** - Evento emitido APÓS mudar de etapa com sucesso.\n\nEste evento é disparado independente da origem da navegação:\n- Botões \"Avançar\" ou \"Voltar\"\n- Click direto em um step do indicador de progresso\n- Chamadas programáticas via métodos públicos (goToStep, nextStep, etc)\n- **brWizardBeforeStepChange** - Evento emitido ANTES de mudar de etapa (permite validação e cancelamento).\n\nComportamento:\n- Disparado apenas ao AVANÇAR (targetStep > currentStep)\n- Não é disparado ao VOLTAR (targetStep < currentStep)\n- Funciona tanto para cliques nos botões quanto para cliques diretos nos steps\n- Pode ser cancelado com `event.preventDefault()` para bloquear a navegação\n- **brWizardComplete** - Evento emitido ao concluir o wizard (última etapa).\n- **brWizardCancel** - Evento emitido ao cancelar o wizard.\n- **brWizardNavigationBlocked** - Evento emitido quando uma ação é bloqueada (validação falha, progressão linear impedida).\nEmite uma string indicando o motivo: 'linear-progression' ou 'validation-failed'.\nUse getCurrentStepIndex() para obter o contexto da etapa atual.\n\n### **Methods:**\n - **handleProgressionTypeChange()** - Observa mudanças no tipo de progressão.\nAtualiza a navegação dos painéis quando muda entre linear/nonlinear.\n- **handleInitialStepChange()** - Observa mudanças na etapa inicial.\nReinicializa o wizard quando a prop initialStep é alterada externamente.\n- **handleCurrentStepChange(newStep: _number_, oldStep: _number_)** - Observa mudanças na etapa atual (fonte única de verdade).\nSincroniza com br-step, atualiza painéis, anuncia mudança e move foco.\n- **handleSlotChange(event: _Event_)** - Detecta quando o slot muda (painéis adicionados/removidos dinamicamente).\nRedescobre os painéis e ressincroniza o estado.\n- **handleStepChange(event: _CustomEvent<{ activeStep: number }>_)** - Detecta quando o br-step muda de etapa ativa.\nValida e sincroniza a navegação com o componente interno br-step.\n- **nextStep(): __** - Avança para a próxima etapa.\nExecuta validação via evento `brWizardBeforeStepChange` antes de navegar.\n- **next(): _Promise<boolean>_** - Avança para a próxima etapa.\n- **previousStep(): __** - Volta para a etapa anterior.\nNão executa validação ao retornar.\n- **previous(): _Promise<boolean>_** - Retorna para a etapa anterior.\n- **goToStep(stepNumber: _number_): __** - Navega para uma etapa específica.\nExecuta validação se estiver avançando (etapa alvo > etapa atual).\n- **reset(): __** - Retorna à primeira etapa do wizard.\nNão executa validação (útil para reiniciar o fluxo).\n- **getCurrentStep(): __** - Retorna o elemento HTML do painel ativo no momento.\n- **getAllSteps(): __** - Retorna todos os painéis do wizard.\n- **getStepByIndex(stepNumber: _number_): __** - Retorna um painel específico pelo índice.\n- **getCurrentStepIndex(): __** - Retorna o índice (número) da etapa atual.\nA numeração começa em 1 (primeira etapa = 1, segunda = 2, etc).\n- **getTotalSteps(): __** - Retorna o número total de etapas do wizard.\n- **render(): __** - Método de renderização principal do componente.\nMonta a estrutura completa do wizard com acessibilidade integrada.\n\n### **Slots:**\n - **default** - Slot para os painéis de etapa (br-wizard-panel) do wizard.\n- **cancel-button** - Conteúdo customizado do botão de cancelar. Quando utilizado, o texto padrão \"Cancelar\" é substituído.\n- **next-button** - Conteúdo customizado do botão de avançar/concluir. Quando utilizado, os textos padrão \"Avançar\" e \"Concluir\" são substituídos.\n- **previous-button** - Conteúdo customizado do botão de voltar. Quando utilizado, o texto padrão \"Voltar\" é substituído.\n\n### **CSS Parts:**\n - **form** - Área do formulário do wizard.\n- **panel** - Painel ativo do wizard.\n- **progress** - Área de progresso do wizard.\n- **content** - Conteúdo do painel ativo.\n- **buttons** - Área de botões de navegação.",
      "attributes": [
        {
          "name": "step",
          "description": "Etapa atual (numeração 1-indexada). Reflete para atributo step.",
          "values": []
        },
        {
          "name": "initial-step",
          "description": "Índice da etapa inicial do wizard.\nDefine qual etapa será exibida ao carregar o componente.\nA numeração começa em 1 (primeira etapa = 1, segunda = 2, etc).",
          "values": []
        },
        {
          "name": "initial-index",
          "description": "Índice inicial zero-based. Quando informado, tem precedência sobre `initialStep`.",
          "values": []
        },
        {
          "name": "current-index",
          "description": "Índice atual zero-based para controle externo opcional.",
          "values": []
        },
        {
          "name": "orientation",
          "description": "Orientação visual do wizard.\nDefine se os indicadores de progresso serão exibidos horizontalmente ou verticalmente.",
          "values": [{ "name": "BrOrientation" }]
        },
        {
          "name": "progression-type",
          "description": "Tipo de progressão entre etapas.\n- `linear`: O usuário deve completar cada etapa sequencialmente. Não é possível pular etapas futuras.\n- `nonlinear`: O usuário pode navegar livremente entre qualquer etapa.",
          "values": [{ "name": "BrProgressionType" }]
        },
        {
          "name": "custom-id",
          "description": "Identificador único do componente.\nQuando omitido, um valor é gerado automaticamente.\n\n> **Padrão:** valor único gerado por generateUniqueId().",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "br-wizard-panel",
      "description": "Wizard Panel (Painel de etapa do Wizard)\nRepresenta uma etapa individual dentro do br-wizard.\n---\n\n\n### **Slots:**\n - **default** - Slot para o conteúdo da etapa (formulários, campos ou informações da fase atual).\n\n### **CSS Parts:**\n - **panel** - Wrapper do painel.\n- **content** - Área de conteúdo do painel.",
      "attributes": [
        {
          "name": "label",
          "description": "Label do painel (aparece no indicador de progresso)",
          "values": []
        }
      ],
      "references": []
    }
  ]
}
