/* eslint-disable */ /* tslint:disable */ /** * This is an autogenerated file created by the Stencil compiler. * It contains typing information for all components that exist in this project. */ import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime"; import { AvatarDensity, AvatarStatusPosition } from "./components/avatar/avatar.types"; import { BreadcrumbItem } from "./components/breadcrumb/breadcrumb.types"; import { BrButtonType, BrDensity, BrFeedbackState, BrLinkTarget, BrNavigateDetail, BrNavigationMode, BrOrientation, BrProgressionType } from "./components/global.types"; import { AriaHasPopup, ButtonColorMode, ButtonDensity, ButtonEmphasis, ButtonShape, ButtonType } from "./components/button/button.types"; import { CarouselColorMode, CarouselDirection, CarouselImageFit, CarouselIndicatorPosition, CarouselIndicatorType, CarouselNavPosition, CarouselPageChangeDetail } from "./components/carousel/carousel.types"; import { CheckboxValidator } from "./components/checkbox/checkbox.types"; import { FormValidationChangeDetail } from "./shared/utils/validator"; import { FormValidationState } from "./shared/utils/form"; import { CollapseChangeDetail, CollapseColorMode, CollapseExpansionDirection, CollapseIconPosition, CollapseTriggerVariant } from "./components/collapse/collapse.types"; import { CookiebarMode, CookiebarOutputData, CookiebarSelectionState } from "./components/cookiebar/cookiebar.types"; import { DatetimePickerChangeDetail, DatetimePickerDateRange, DatetimePickerDateState, DatetimePickerDisabledDate, DatetimePickerDisabledDates, DatetimePickerInitialMoment, DatetimePickerLocale, DatetimePickerMode, DatetimePickerSelectionMode, DatetimePickerValidator, DatetimePickerWeekDayIndex, WeekDayIndex } from "./components/datetime-picker/datetime-picker.types"; import { DividerAlign, DividerBorderStyle, DividerOrientation, DividerThickness } from "./components/divider/divider.types"; import { DropdownArrowPosition, DropdownOpenChangeDetail, DropdownPlacement } from "./components/dropdown/dropdown.types"; import { FooterLayoutWidth, FooterTheme } from "./components/footer/footer.types"; import { FooterLogoPosition } from "./components/footer/footer-logo/footer-logo.types"; import { HeaderCompactChangeDetail, HeaderDensity, HeaderLayoutWidth, HeaderShrinkFirst } from "./components/header/header.types"; import { IconFlip, IconRotate, IconSource } from "./components/icon/icon.types"; import { InputActionClickDetail, InputDensity, InputState, InputToggle, InputType, InputValidationChangeDetail, InputValidator } from "./components/input/input.types"; import { ItemSelectDetail } from "./components/item/item.types"; import { LoadingChangeDetail, LoadingCompleteDetail, LoadingCompletionBehavior, LoadingIndeterminateStateDetail, LoadingLabelPosition, LoadingMode, LoadingSize, LoadingSpeed, LoadingValueDetail } from "./components/loading/loading.types"; import { MenuDensity, MenuOpenChangeDetail } from "./components/menu/menu.types"; import { MenuItemDisplayMode } from "./components/menu/menu-item/menu-item.types"; import { ModalFooterAlign, ModalSize } from "./components/modal/modal.types"; import { NotificationCloseDetail, NotificationCloseReason, NotificationItemClickDetail, NotificationPlacement } from "./components/notification/notification.types"; import { NotificationItemDetail, NotificationItemState } from "./components/notification/notification-item/notification-item.types"; import { PaginationColorMode, PaginationDensity, PaginationPageChangeDetail, PaginationPerPageChangeDetail, PaginationVariant } from "./components/pagination/pagination.types"; import { RadioValidator } from "./components/radio/radio.types"; import { RadioGroupOrientation, RadioGroupValidator } from "./components/radio-group/radio-group.types"; import { ScrimContentLayout, ScrimDisplayMode, ScrimLegibilityAnchor, ScrimPositionContent, ScrimScrollStrategy, ScrimSpotlightShape, ScrimVariant } from "./components/scrim/scrim.types"; import { SelectComboboxState, SelectOptionData, SelectSearchDetail, SelectSearchMode, SelectStateChangeDetail, SelectValidator } from "./components/select/select.types"; import { SignInEmphasis, SignInShape } from "./components/sign-in/sign-in.types"; import { SkipLinkItemFocusDetail, SkipLinkNavigateDetail, SkipLinkPosition, SkipLinkVariant } from "./components/skip-link/skip-link.types"; import { SliderDensity, SliderRangeValue, SliderStep, SliderValidator } from "./components/slider/slider.types"; import { StepChangeDetail, StepContentType, StepLabelPosition, StepMode, StepValidationStatus, StepVerticalContentPlacement } from "./components/step/step.types"; import { StepItemContentType, StepItemHighlight, StepItemLabelPosition, StepItemLayout, StepItemMode, StepItemPositionStatus, StepItemRole, StepItemVerticalContentPlacement } from "./components/step/step-item/step-item.types"; import { SwitchValidator } from "./components/switch/switch.types"; import { TabAlignItems, TabColorMode, TabDensity } from "./components/tab/tab.types"; import { ColumnWidth, TableAlignment, TableDensity, TableDividerStyle, TableOverflow, TableTooltipMode, TableTooltipState } from "./components/table/table-types"; import { TagShape, TagValidator, TagVariant } from "./components/tag/tag.types"; import { TextareaResize, TextareaWrap } from "./components/textarea/textarea.types"; import { TooltipDensity, TooltipPosition, TooltipState, TooltipType } from "./components/tooltip/tooltip.types"; import { IUploadFile } from "./shared/utils/interfaces"; import { UploadErrorDetail, UploadFileDetail, UploadHandler, UploadProgressDetail, UploadValidator } from "./components/upload/upload.types"; export { AvatarDensity, AvatarStatusPosition } from "./components/avatar/avatar.types"; export { BreadcrumbItem } from "./components/breadcrumb/breadcrumb.types"; export { BrButtonType, BrDensity, BrFeedbackState, BrLinkTarget, BrNavigateDetail, BrNavigationMode, BrOrientation, BrProgressionType } from "./components/global.types"; export { AriaHasPopup, ButtonColorMode, ButtonDensity, ButtonEmphasis, ButtonShape, ButtonType } from "./components/button/button.types"; export { CarouselColorMode, CarouselDirection, CarouselImageFit, CarouselIndicatorPosition, CarouselIndicatorType, CarouselNavPosition, CarouselPageChangeDetail } from "./components/carousel/carousel.types"; export { CheckboxValidator } from "./components/checkbox/checkbox.types"; export { FormValidationChangeDetail } from "./shared/utils/validator"; export { FormValidationState } from "./shared/utils/form"; export { CollapseChangeDetail, CollapseColorMode, CollapseExpansionDirection, CollapseIconPosition, CollapseTriggerVariant } from "./components/collapse/collapse.types"; export { CookiebarMode, CookiebarOutputData, CookiebarSelectionState } from "./components/cookiebar/cookiebar.types"; export { DatetimePickerChangeDetail, DatetimePickerDateRange, DatetimePickerDateState, DatetimePickerDisabledDate, DatetimePickerDisabledDates, DatetimePickerInitialMoment, DatetimePickerLocale, DatetimePickerMode, DatetimePickerSelectionMode, DatetimePickerValidator, DatetimePickerWeekDayIndex, WeekDayIndex } from "./components/datetime-picker/datetime-picker.types"; export { DividerAlign, DividerBorderStyle, DividerOrientation, DividerThickness } from "./components/divider/divider.types"; export { DropdownArrowPosition, DropdownOpenChangeDetail, DropdownPlacement } from "./components/dropdown/dropdown.types"; export { FooterLayoutWidth, FooterTheme } from "./components/footer/footer.types"; export { FooterLogoPosition } from "./components/footer/footer-logo/footer-logo.types"; export { HeaderCompactChangeDetail, HeaderDensity, HeaderLayoutWidth, HeaderShrinkFirst } from "./components/header/header.types"; export { IconFlip, IconRotate, IconSource } from "./components/icon/icon.types"; export { InputActionClickDetail, InputDensity, InputState, InputToggle, InputType, InputValidationChangeDetail, InputValidator } from "./components/input/input.types"; export { ItemSelectDetail } from "./components/item/item.types"; export { LoadingChangeDetail, LoadingCompleteDetail, LoadingCompletionBehavior, LoadingIndeterminateStateDetail, LoadingLabelPosition, LoadingMode, LoadingSize, LoadingSpeed, LoadingValueDetail } from "./components/loading/loading.types"; export { MenuDensity, MenuOpenChangeDetail } from "./components/menu/menu.types"; export { MenuItemDisplayMode } from "./components/menu/menu-item/menu-item.types"; export { ModalFooterAlign, ModalSize } from "./components/modal/modal.types"; export { NotificationCloseDetail, NotificationCloseReason, NotificationItemClickDetail, NotificationPlacement } from "./components/notification/notification.types"; export { NotificationItemDetail, NotificationItemState } from "./components/notification/notification-item/notification-item.types"; export { PaginationColorMode, PaginationDensity, PaginationPageChangeDetail, PaginationPerPageChangeDetail, PaginationVariant } from "./components/pagination/pagination.types"; export { RadioValidator } from "./components/radio/radio.types"; export { RadioGroupOrientation, RadioGroupValidator } from "./components/radio-group/radio-group.types"; export { ScrimContentLayout, ScrimDisplayMode, ScrimLegibilityAnchor, ScrimPositionContent, ScrimScrollStrategy, ScrimSpotlightShape, ScrimVariant } from "./components/scrim/scrim.types"; export { SelectComboboxState, SelectOptionData, SelectSearchDetail, SelectSearchMode, SelectStateChangeDetail, SelectValidator } from "./components/select/select.types"; export { SignInEmphasis, SignInShape } from "./components/sign-in/sign-in.types"; export { SkipLinkItemFocusDetail, SkipLinkNavigateDetail, SkipLinkPosition, SkipLinkVariant } from "./components/skip-link/skip-link.types"; export { SliderDensity, SliderRangeValue, SliderStep, SliderValidator } from "./components/slider/slider.types"; export { StepChangeDetail, StepContentType, StepLabelPosition, StepMode, StepValidationStatus, StepVerticalContentPlacement } from "./components/step/step.types"; export { StepItemContentType, StepItemHighlight, StepItemLabelPosition, StepItemLayout, StepItemMode, StepItemPositionStatus, StepItemRole, StepItemVerticalContentPlacement } from "./components/step/step-item/step-item.types"; export { SwitchValidator } from "./components/switch/switch.types"; export { TabAlignItems, TabColorMode, TabDensity } from "./components/tab/tab.types"; export { ColumnWidth, TableAlignment, TableDensity, TableDividerStyle, TableOverflow, TableTooltipMode, TableTooltipState } from "./components/table/table-types"; export { TagShape, TagValidator, TagVariant } from "./components/tag/tag.types"; export { TextareaResize, TextareaWrap } from "./components/textarea/textarea.types"; export { TooltipDensity, TooltipPosition, TooltipState, TooltipType } from "./components/tooltip/tooltip.types"; export { IUploadFile } from "./shared/utils/interfaces"; export { UploadErrorDetail, UploadFileDetail, UploadHandler, UploadProgressDetail, UploadValidator } from "./components/upload/upload.types"; export namespace Components { /** * O `br-avatar` representa uma pessoa ou entidade de forma compacta: mostra uma foto, a primeira letra de um nome ou um ícone de usuário. * ### Como o conteúdo é escolhido * 1. Com `iconic`, mostra sempre o ícone de usuário. * 2. Com `text`, mostra a primeira letra do texto em maiúscula. * 3. Com `src`, mostra a imagem. Se ela não carregar, mostra o ícone. * 4. Sem nenhum deles, mostra o ícone. * ```html * * * * ``` * Para indicar disponibilidade, ative `status`. A cor fica em `status-bg-color` e o texto lido pelo leitor de tela, em `status-label`. Para outro indicador, use o slot `status`. * ### Quando usar * - Identificar a pessoa autenticada no cabeçalho ou no menu. * - Mostrar autores, contatos ou participantes em listas. * ### Quando evitar * - Imagens grandes ou ilustrativas: use ``. * Consulte as [diretrizes de design do GovBR](https://www.gov.br/ds/components/avatar?tab=designer). * @category Identidade, Conteúdo * @status stable */ interface BrAvatar { /** * Texto alternativo (alt) associado à imagem do avatar. Essencial para acessibilidade. Deve descrever de forma clara e concisa o conteúdo da imagem, por exemplo: "Foto de perfil de João Silva". * @default 'Foto de perfil do usuário' */ "alt": string; /** * Permite definir a cor de fundo do componente. Aceita os seguintes formatos de cor: - Cores nomeadas do CSS: 'red', 'blue', 'green', 'yellow', etc. - Códigos hexadecimais: '#ff0000', '#00ff00', '#0000ff', etc. - Valores RGB: 'rgb(255, 0, 0)', 'rgb(0, 255, 0)', etc. - Valores RGBA: 'rgba(255, 0, 0, 0.5)', 'rgba(0, 255, 0, 0.8)', etc. - Valores HSL: 'hsl(0, 100%, 50%)', 'hsl(120, 100%, 50%)', etc. - Valores HSLA: 'hsla(0, 100%, 50%, 0.5)', 'hsla(240, 100%, 50%, 0.7)', etc. Se não especificada, usa a cor padrão do tema. * @default '#DBE8FB' */ "bgColor": string; /** * Identificador único do componente. Quando omitido, um valor é gerado automaticamente. > **Padrão:** valor único gerado por generateUniqueId(). * @default generateUniqueId() */ "customId": string; /** * Define a densidade visual do componente. - `small`: Alta densidade (componente menor, mais compacto e com menos espaçamento). - `medium`: Densidade intermediária, padrão recomendado para a maioria dos casos. - `large`: Baixa densidade (componente maior, mais espaçamento e altura). Valores inválidos usam `medium`. * @default 'medium' */ "density": AvatarDensity; /** * Desabilita a interação com o componente. * @default false */ "disabled": boolean; /** * Exibe a variação icônica. Quando informada, tem precedência sobre `isIconic`. */ "iconic"?: boolean; /** * Força a exibição do ícone padrão, sobrescreve outras opções (texto ou imagem). Útil para manter consistência visual ou quando se deseja um avatar neutro independente do conteúdo disponível. * @deprecated Use `iconic`. * @default false */ "isIconic": boolean; /** * Move o foco programaticamente para o avatar. */ "setFocus": () => Promise; /** * URL da imagem a ser exibida no avatar do tipo 'fotográfico'. Deve ser uma URL válida que aponta para a imagem desejada. * @default '' */ "src": string; /** * Exibe um indicador de status no avatar. * @default false */ "status": boolean; /** * Cor de fundo do indicador de status padrão. * @default 'rgb(22, 136, 33)' */ "statusBgColor": string; /** * Rótulo acessível do indicador de status padrão. * @default 'Status do usuário' */ "statusLabel": string; /** * Posição do indicador de status sobre o avatar. Aceita `top-right`, `bottom-right`, `top-left` ou `bottom-left`. Valores inválidos usam `top-right`. * @default 'top-right' */ "statusPosition": AvatarStatusPosition; /** * Tamanho do indicador de status padrão. * @default '12px' */ "statusSize": string; /** * Conteúdo textual do avatar. Apenas o primeiro caractere será exibido em maiúscula. * @default '' */ "text": string; } /** * O `br-breadcrumb` mostra o caminho até a página atual e permite voltar aos níveis anteriores. * ### Como montar * 1. Declare um `br-breadcrumb-item` para cada nível, do início até a página atual. * 2. Use `home` no primeiro item para exibir o ícone de página inicial. * 3. Marque a página atual com `active`: ela aparece sem link e com `aria-current="page"`. * ```html * * * * * * ``` * Os mesmos itens podem ser passados em `crumbs`, como array ou texto JSON. Quando falta espaço, os níveis intermediários são agrupados; `truncate-after` define a partir de quantos itens isso acontece. * ### Navegação em SPA * Com `navigation-mode="event"`, o clique em um item emite `brNavigate`. Cancele o evento e passe o endereço para o roteador: * ```js * breadcrumb.addEventListener('brNavigate', (event) => { * event.preventDefault(); * router.push(event.detail.href); * }); * ``` * ### Quando usar * - Páginas com dois ou mais níveis de hierarquia. * ### Quando evitar * - Navegação sem hierarquia. * - Etapas de um processo: use `br-wizard` ou `br-step`. * Consulte as [diretrizes de design do GovBR](https://www.gov.br/ds/components/breadcrumb?tab=designer). * @category Navegação * @status stable */ interface BrBreadcrumb { /** * Fornece os nomes e links do breadcrumb. Use uma string JSON no atributo HTML ou um array de `BreadcrumbItem` por property binding. Cada item deve ter `label` string e pode ter `href`, `target`, `home` e `active`. Itens inválidos são ignorados; se nenhum item válido restar, usa `defaultCrumbs` e avisa no console. * @example ```html ``` * @example ```js const breadcrumb = document.querySelector('br-breadcrumb'); breadcrumb.crumbs = [ { label: 'Início', href: '/' }, { label: 'Serviço', active: true }, ]; ``` */ "crumbs": string | BreadcrumbItem[]; /** * Identificador único do componente. Quando omitido, um valor é gerado automaticamente. > **Padrão:** valor único gerado por generateUniqueId(). * @default generateUniqueId() */ "customId": string; /** * URL padrão da página inicial. Quando informada, tem precedência sobre `homeUrl`. */ "homeHref"?: string; /** * Caso não seja fornecido, o valor padrão será /. * @deprecated Use `homeHref`. * @default '/' */ "homeUrl": string; /** * Controla como os links do breadcrumb integram a navegação mantendo `href` real nos itens navegáveis. - `native` (padrão): preserva o comportamento do navegador, conforme HTML/W3C. - `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir. Cliques com modificadores, botão do meio ou `target` diferente de `_self` permanecem nativos. Valores inválidos usam `native`. * @default 'native' */ "navigationMode": BrNavigationMode; /** * Quantidade máxima de crumbs exibidos antes de ativar o modo truncado. Quando omitida, o truncamento continua sendo decidido apenas pelo espaço disponível. Valores inválidos são ignorados. */ "truncateAfter"?: number; } /** * Representa um nível do `br-breadcrumb`. Use somente dentro dele. * Informe `label` e `href`. Use `home` no primeiro item e `active` na página atual. O conteúdo do item, quando houver, substitui o texto de `label`. * Veja como montar a trilha na documentação do `br-breadcrumb`. */ interface BrBreadcrumbItem { /** * Identifica a página atual. * @default false */ "active": boolean; /** * Identifica o item inicial. * @default false */ "home": boolean; /** * URL do item. */ "href"?: string; /** * Rótulo do item. * @default '' */ "label": string; /** * Contexto de navegação. */ "target"?: string; } /** * O `br-button` executa uma ação: salvar, enviar um formulário, abrir um modal, aplicar um filtro. * O texto e o ícone vão dentro do botão. A aparência é definida por `emphasis` (`primary`, `secondary` ou `tertiary`) e `shape` (`circle`, `block` ou `pill`). * ```html * Enviar * * * * ``` * O tipo padrão é `button`. Use `type="submit"` ou `type="reset"` para agir sobre o formulário em que o botão está. Durante uma operação demorada, ative `loading`. * ### Quando usar * - Executar uma ação na página atual. * - Abrir modal, menu ou painel. * ### Quando evitar * - Para ir a outra página: use `br-link` ou ``. * - Para escolher entre opções: use `br-radio` ou `br-checkbox`. * Consulte as [diretrizes de design do GovBR](https://www.gov.br/ds/components/button?tab=designer). * @category Ações, Formulários * @status stable */ interface BrButton { /** * Estado ativo atual. Quando informado, tem precedência sobre `isActive`. */ "active"?: boolean; /** * Referência ao ID do elemento que o botão controla. Use em conjunto com `ariaExpanded` para relacionar o botão ao painel que ele expande/recolhe. * @default null */ "ariaControls": string | null; /** * Indica se um elemento controlado pelo botão está expandido ou recolhido. Use em botões que abrem menus, acordeões ou outros painéis expansíveis. O valor deve ser 'true' ou 'false'. * @default null */ "ariaExpanded": string | null; /** * Indica que o botão abre um menu, listbox, tree, grid ou dialog. Os valores permitidos são: 'true', 'menu', 'listbox', 'tree', 'grid' ou 'dialog'. Valores inválidos são removidos do elemento interno. * @default null */ "ariaHaspopup": AriaHasPopup | null; /** * Define o rótulo acessível usado por tecnologias assistivas. * @default null */ "ariaLabel": string | null; /** * Define o estado de pressionado do botão. Este atributo é usado para indicar se o botão está atualmente pressionado ou não. É especialmente útil para botões que podem ser alternados entre os estados pressionado e não pressionado. O valor deve ser 'true' ou 'false'. * @default null */ "ariaPressed": string | null; /** * Define se o botão usará um esquema de cores escuro. Valores inválidos são ignorados. */ "colorMode"?: ButtonColorMode; /** * Identificador único do componente. Quando omitido, um valor é gerado automaticamente. > **Padrão:** valor único gerado por generateUniqueId(). * @default generateUniqueId() */ "customId": string; /** * Define o índice de tabulação do botão. Ú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. Aceita inteiros maiores ou iguais a -1; valores inválidos são ignorados. * @deprecated Use o atributo/propriedade nativo `tabIndex` do host. */ "customTabIndex"?: number; /** * Define a densidade visual do componente. - `small`: Alta densidade (componente menor, mais compacto e com menos espaçamento). - `medium`: Densidade intermediária, padrão recomendado para a maioria dos casos. - `large`: Baixa densidade (componente maior, mais espaçamento e altura). Valores inválidos usam `medium`. * @default 'medium' */ "density": ButtonDensity; /** * Desabilita a interação com o componente. * @default false */ "disabled": boolean; /** * Define a ênfase do botão, alterando sua aparência para criar hierarquia visual e destacar ações importantes. Valores inválidos são ignorados. */ "emphasis"?: ButtonEmphasis; /** * Indica se o botão está no estado ativo. Se definido como verdadeiro, o botão será exibido como ativo. * @deprecated Use `active`. * @default false */ "isActive": boolean; /** * Aplica o estado de "progresso" ao botão. O botão exibirá um indicador de carregamento ou progresso. * @deprecated Use `loading`. * @default false */ "isLoading": boolean; /** * Estado de carregamento atual. Quando informado, tem precedência sobre `isLoading`. */ "loading"?: boolean; /** * Define o formato do botão. Valores inválidos são ignorados. */ "shape"?: ButtonShape; /** * Define o tipo de botão, especificando seu comportamento padrão. Quando omitido, usa `button`; valores inválidos também usam `button` e geram aviso no console. */ "type"?: ButtonType; /** * Define o valor inicial do botão em um formulário. */ "value"?: string; } /** * O `br-card` agrupa conteúdos sobre um mesmo assunto em um bloco destacado, como um serviço, uma notícia ou um resultado de busca. * Organize o conteúdo nos slots `media`, `header`, `content` e `footer`, ou coloque tudo no slot padrão. * ```html * * *

Carteira de Trabalho Digital

*

Consulte seus vínculos de emprego.

* Acessar *
* ``` * Use `interactive` quando o card inteiro for clicável, para dar o retorno visual ao passar o mouse. * ### Quando usar * - Blocos independentes exibidos em grade ou lista. * - Conteúdo que combina imagem, título, texto e ações. * ### Quando evitar * - Dados para comparar em linhas e colunas: use `br-table`. * - Uma lista simples de textos ou links: use `br-list`. * Consulte as [diretrizes de design do GovBR](https://www.gov.br/ds/components/card?tab=designer). * @category Layout, Conteúdo * @status stable */ interface BrCard { /** * Identificador único do componente. Quando omitido, um valor é gerado automaticamente. > **Padrão:** valor único gerado por generateUniqueId(). * @default generateUniqueId() */ "customId": string; /** * Desabilita a interação com o componente. * @default false */ "disabled": boolean; /** * Define se o card tem hover interativo. Quando true, o card terá efeitos visuais ao passar o mouse. * @deprecated Use `interactive`. * @default false */ "hover": boolean; /** * Habilita indicação visual de interatividade. Quando informada, tem precedência sobre `hover`. */ "interactive"?: boolean; } /** * O `br-carousel` mostra uma sequência de slides, um por vez, com botões de anterior e próximo e indicadores de posição. * Coloque cada slide em um `br-carousel-page` e dê um nome ao carrossel com `aria-label`. * ```html * * * Campanha de vacinação * * *

Atualize seu cadastro até 30 de junho.

*
*
* ``` * Para ouvir a troca de slide, use `brCarouselPageChange`; `detail.activePage` começa em 1. * ### Quando usar * - Imagens ou avisos com a mesma importância, em espaço limitado. * ### Quando evitar * - Informação essencial para a tarefa: mostre tudo de uma vez, por exemplo em uma grade de `br-card`. * - Etapas de um formulário: use `br-wizard` ou `br-step`. * Consulte as [diretrizes de design do GovBR](https://www.gov.br/ds/components/carousel?tab=designer). * @category Conteúdo, Navegação * @status stable */ interface BrCarousel { /** * Rótulo acessível do carrossel. Não deve conter a palavra "carrossel" (W3C APG). Atribuído ao `aria-label` do container raiz. */ "ariaLabel": string; /** * Habilita reprodução automática. Pausa em hover e foco (W3C). Ativa o loop circular automaticamente. Não recomendado em dispositivos móveis. * @deprecated Use `autoplay`. * @default false */ "autoPlay": boolean; /** * Habilita reprodução automática. Quando informada, tem precedência sobre `autoPlay`. */ "autoplay"?: boolean; /** * Habilita navegação circular. Quando informada, tem precedência sobre `isCircular`. */ "circular"?: boolean; /** * Aplica esquema de cores escuro ao componente. */ "colorMode": CarouselColorMode; /** * Identificador único do componente. Quando omitido, um valor é gerado automaticamente. > **Padrão:** valor único gerado por generateUniqueId(). * @default generateUniqueId() */ "customId": string; /** * Direção de navegação automática do carrossel. - `left`: retrocede (vai para o slide anterior). - `right`: avança (vai para o próximo slide). Só tem efeito quando `autoPlay=true`. * @default 'right' */ "direction": CarouselDirection; /** * Retorna o número do slide atualmente ativo (1 = primeiro slide, 2 = segundo, …). */ "getActivePage": () => Promise; /** * Retorna `true` se a reprodução automática está ativa no momento. */ "getIsPlaying": () => Promise; /** * Navega para o slide de número `index` (1 = primeiro slide, 2 = segundo, …). Valores fora do intervalo válido são ignorados. */ "goToPage": (index: number) => Promise; /** * Altura do carrossel. Aceita qualquer valor CSS válido para `height` (ex.: `400px`, `50vh`). */ "height": string; /** * Ajuste aplicado a imagens filhas diretas de `br-carousel-page`. * @default 'cover' */ "imageFit": CarouselImageFit; /** * Posição do indicador de páginas em relação ao palco. Ignorada quando `indicatorType="none"`. - `outside`: indicador fica abaixo do palco. - `inside`: indicador fica sobreposto ao conteúdo. * @default 'outside' */ "indicatorPosition": CarouselIndicatorPosition; /** * Define o tipo de indicador de páginas renderizado. - `simple`: dots usando `br-step` em modo controller. - `textual`: texto "X/N" com `aria-live`. - `none`: sem indicador. * @default 'simple' */ "indicatorType": CarouselIndicatorType; /** * Intervalo em milissegundos entre cada avanço automático. Deve ser um inteiro maior que 0; valores inválidos usam `5000`. Só tem efeito quando `autoPlay=true`. * @default 5000 */ "interval": number; /** * Habilita a navegação circular entre os slides. Quando 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. Se autoPlay estiver ativado, o comportamento circular será aplicado automaticamente, independentemente deste valor. * @deprecated Use `circular`. * @default false */ "isCircular": boolean; /** * Largura máxima do carrossel. Quando definido, o componente é centralizado horizontalmente. Aceita qualquer valor CSS válido para `max-width` (ex.: `800px`, `64rem`). */ "maxWidth": string; /** * Altura mínima do palco do carrossel. Aceita qualquer valor CSS válido para `min-height` (ex.: `400px`, `50vh`). */ "minHeight": string; /** * Exibe botões de navegação em dispositivos móveis. Por padrão os botões são ocultados no breakpoint `sm`. * @default false */ "mobileNav": boolean; /** * Posição dos botões de navegação (prev/next) em relação ao palco. - `outside`: botões ficam nas laterais externas ao palco. - `inside`: botões ficam sobrepostos dentro do palco, ocupando toda a altura. * @default 'outside' */ "navPosition": CarouselNavPosition; /** * Avança para o próximo slide. Respeita a prop `isCircular` (ou ativo automaticamente com `autoPlay`). */ "nextPage": () => Promise; /** * Pausa a reprodução automática programaticamente. */ "pause": () => Promise; /** * Inicia ou retoma a reprodução automática programaticamente. */ "play": () => Promise; /** * Retorna ao slide anterior. Respeita a prop `isCircular` (ou ativo automaticamente com `autoPlay`). */ "previousPage": () => Promise; } /** * Representa um slide do `br-carousel`. Use somente dentro dele. * Coloque no slide a imagem, o texto e as ações. Para começar em um slide que não seja o primeiro, marque-o com `active`; depois disso, o `br-carousel` controla o slide ativo. */ interface BrCarouselPage { /** * Marca este slide como visível e acessível. Pode ser usado declarativamente no HTML para definir o slide inicial: Em runtime, o `br-carousel` pai gerencia o estado via `setActive()`. * @default false */ "active": boolean; /** * Identificador único customizável do slide. Quando definido, é aplicado diretamente ao atributo `id` do elemento host, garantindo que referências ARIA externas, testes automatizados e âncoras funcionem corretamente. O `br-carousel` pai detecta este valor e usa-o também no `controls-id` do indicador de tabs, mantendo o vínculo ARIA entre tab e tabpanel automaticamente. */ "customId"?: string; /** * Ativa ou desativa o slide. */ "setActive": (active: boolean) => Promise; /** * Define o label acessível (`aria-label`) do slide. Chamado pelo `br-carousel` pai para aplicar o label gerado automaticamente com base na posição do slide (ex: `"Slide 1 de 3"`). O `aria-label` declarado diretamente no elemento tem prioridade: se o consumidor definir `aria-label` no HTML ou via `setAttribute`, esse valor será mantido e o parâmetro `defaultLabel` será ignorado. * @param defaultLabel - Label de fallback gerado pelo `br-carousel` (ex: `"Slide 2 de 4"`). */ "setLabel": (defaultLabel: string) => Promise; } /** * O `br-checkbox` marca ou desmarca uma opção independente. Funciona em formulários como um ``: é enviado com `name` e `value` quando está marcado. * ```html * * ``` * Use `indeterminate` para indicar seleção parcial, por exemplo em um "selecionar todos" quando só parte dos itens está marcada. * ### Quando usar * - Opções em que escolher uma não impede escolher outra. * - Confirmar uma condição, como aceitar termos. * ### Quando evitar * - Só uma opção pode ser escolhida: use `br-radio-group`. * - A mudança vale na hora, sem enviar formulário: use `br-switch`. * - Muitas opções em pouco espaço: use `br-select` com `multiple`. * Para várias opções da mesma pergunta, agrupe-as em um `br-checkbox-group`. * Consulte as [diretrizes de design do GovBR](https://www.gov.br/ds/components/checkbox?tab=designer). * @category Formulários, Seleção * @status stable * @see br-checkbox-group * */ interface BrCheckbox { /** * Retorna `true` se o valor do checkbox for válido, caso contrário `false`. Se o checkbox for inválido, dispara um evento 'invalid'. */ "checkValidity": () => Promise; /** * Define o estado de seleção do checkbox. Se definido como verdadeiro, o checkbox estará marcado. Caso contrário, estará desmarcado. * @default false */ "checked": boolean; /** * Identificador único. Caso não seja fornecido, um ID gerado automaticamente será usado. * @default generateUniqueId('br-checkbox') */ "customId": string; /** * Desativa o checkbox, tornando-o não interativo. * @default false */ "disabled": boolean; /** * Estado de feedback. Quando informado, tem precedência sobre `state`. */ "feedbackState"?: 'valid' | 'invalid'; /** * Retorna um snapshot serializável da Constraint Validation API. */ "getValidationState": () => Promise; /** * Define se o label associado ao checkbox deve ser oculto. Se definido como verdadeiro, o texto do label será oculto, mas o checkbox ainda estará visível e funcional. * @deprecated Use `labelHidden`. * @default false */ "hasHiddenLabel": boolean; /** * Define o estado intermediário do checkbox. Quando verdadeiro, exibe uma marcação parcial visual que indica seleção parcial. Útil para representar grupos onde alguns itens estão selecionados, mas não todos. Ao clicar no checkbox neste estado, ele será automaticamente alterado para marcado. * @default false */ "indeterminate": boolean; /** * Indica se o checkbox é pai de um grupo de checkboxes. * @deprecated Configure seleção coletiva em `br-checkbox-group`/`br-checkgroup`. * @default false */ "isFather": boolean; /** * Texto descritivo exibido à direita do checkbox. Caso um slot seja utilizado para fornecer um texto alternativo, o valor desta propriedade será ignorado. */ "label": string; /** * Oculta visualmente o rótulo. Quando informada, tem precedência sobre `hasHiddenLabel`. */ "labelHidden"?: boolean; /** * Define o nome do checkbox, que é utilizado para agrupar checkboxes em formulários e identificar o campo. O valor é obrigatório e deve ser fornecido para garantir o correto funcionamento em formulários. */ "name": string; /** * Retorna `true` se o valor do checkbox for válido, caso contrário `false`. Se for inválido, exibe a mensagem de erro padrão do navegador. */ "reportValidity": () => Promise; /** * Se verdadeiro, o checkbox é obrigatório e deve ser marcado antes que o formulário possa ser enviado. * @default false */ "required": boolean; /** * Define uma mensagem de validação customizada para o checkbox. Se a mensagem for uma string vazia, o erro customizado é limpo. */ "setCustomValidity": (message: string) => Promise; /** * Define o estado indeterminado do checkbox. * @param value Novo valor para o estado indeterminado. */ "setIndeterminate": (value: boolean) => Promise; /** * Define o número de checkboxes filhos em um grupo de checkboxes. * @param value Número de checkboxes filhos. */ "setNumberOfChildren": (value: number) => Promise; /** * Indica a validade do checkbox. Se não for especificado, o valor padrão é `null`, indicando que a validade não foi definida. */ "state": 'valid' | 'invalid'; /** * Inverte o valor da prop `checked` * @deprecated Atualize a propriedade `checked` diretamente. */ "toggleChecked": () => Promise; /** * Executa o validator do checkbox e retorna se o valor atual é válido. */ "validate": () => Promise; /** * Regra síncrona ou assíncrona aplicada ao estado booleano do checkbox. Retorne uma mensagem para invalidar ou `null` para aceitar o valor. * @example ```js const checkbox = document.querySelector('br-checkbox'); checkbox.validator = (checked) => checked ? null : 'Confirme para continuar'; ``` */ "validator"?: CheckboxValidator; /** * Define o valor associado ao checkbox quando ele faz parte de um formulário nativo (`
`). Esse valor é enviado com o formulário quando o checkbox está selecionado. **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`. */ "value": string; } /** * O `br-checkbox-group` reúne checkboxes da mesma pergunta e adiciona um checkbox "Selecionar tudo" no topo. * O "Selecionar tudo" marca ou desmarca todas as opções e fica em estado parcial quando só algumas estão marcadas. O `label` vira a legenda do grupo para leitores de tela. * ```html * * * * * * ``` * Use `orientation="horizontal"` para as opções lado a lado, e `select-all-label` e `unselect-all-label` para trocar os textos do "Selecionar tudo". * ### Quando usar * - Várias opções independentes que respondem à mesma pergunta. * ### Quando evitar * - Um único checkbox, como aceite de termos: use só o `br-checkbox`. * - Apenas uma opção pode ser escolhida: use `br-radio-group`. * Consulte as [diretrizes de design do GovBR](https://www.gov.br/ds/components/checkgroup?tab=designer). * @category Formulários, Seleção * @status stable * @see br-checkbox * * @see br-checkgroup * */ interface BrCheckboxGroup { /** * Identificador único do controlador. * @default generateUniqueId('br-checkbox-group') */ "customId": string; /** * Desabilita o controlador e os checkboxes contidos no grupo. * @default false */ "disabled": boolean; /** * Define o estado indeterminado inicial do grupo. * @default false */ "indeterminate": boolean; /** * Texto descritivo do grupo. */ "label"?: string; /** * Orientação visual das opções. Valores inválidos usam `vertical`. * @default 'vertical' */ "orientation": 'horizontal' | 'vertical'; /** * Rótulo para marcar todos os checkboxes. * @default 'Selecionar tudo' */ "selectAllLabel": string; /** * Rótulo para desmarcar todos os checkboxes. * @default 'Desselecionar tudo' */ "unselectAllLabel": string; } /** * Nome antigo do `br-checkbox-group`, mantido para compatibilidade. Em código novo, use `br-checkbox-group`. * @category Formulários, Seleção * @status deprecated * @see br-checkbox-group * * @deprecated Use `br-checkbox-group`. */ interface BrCheckgroup { /** * Identificador legado do controlador. */ "customId"?: string; /** * Desabilita o controlador e os checkboxes contidos no grupo. * @default false */ "disabled": boolean; /** * Estado indeterminado inicial. * @default false */ "indeterminate": boolean; /** * Texto descritivo do grupo. */ "label"?: string; /** * Rótulo legado para marcar todos. * @deprecated Use `selectAllLabel`. */ "labelDesselecionado"?: string; /** * Rótulo legado para desmarcar todos. * @deprecated Use `unselectAllLabel`. */ "labelSelecionado"?: string; /** * Rótulo para marcar todos. */ "selectAllLabel"?: string; /** * Rótulo para desmarcar todos. */ "unselectAllLabel"?: string; } /** * O `br-collapse` mostra e esconde um bloco de conteúdo ao clicar no título. Funciona como um `
`. * ```html * * Quem pode solicitar? *

Qualquer pessoa com CPF regular.

*
* ``` * Use `open` para começar aberto. Para que só um item fique aberto por vez (sanfona), dê o mesmo `accordion-group` a todos: * ```html * … * … * ``` * Os ícones de abrir e fechar podem ser trocados por `icon-to-show` e `icon-to-hide`, como propriedade ou como slot. * ### Quando usar * - Perguntas frequentes e conteúdos longos divididos em tópicos. * - Seções opcionais de um formulário longo. * ### Quando evitar * - Informação essencial, que precisa ficar sempre visível. * - Alternar entre visões diferentes da mesma tela: use `br-tab`. * Consulte as [diretrizes de design do GovBR](https://www.gov.br/ds/components/collapse?tab=designer). * @category Conteúdo, Ações * @status stable * @see br-list * */ interface BrCollapse { /** * Identifica o grupo de accordion; quando informado, mantém apenas um item aberto por vez entre os irmãos do mesmo pai imediato. * @default null */ "accordionGroup"?: string; /** * Fecha o collapse programaticamente. * @deprecated Atualize a propriedade `open`. */ "closeCollapse": () => Promise; /** * Tema visual do Collapse/Accordion. * @default 'light' */ "colorMode": CollapseColorMode; /** * Identificador único do componente. Quando omitido, um valor é gerado automaticamente. > **Padrão:** valor único gerado por generateUniqueId(). * @default generateUniqueId() */ "customId": string; /** * Indica se o componente possui um divisor (divider) inferior. * @default false */ "divider": boolean; /** * Direção em que o conteúdo é expandido e para a qual o ícone aponta. * @default 'down' */ "expansionDirection": CollapseExpansionDirection; /** * Define a posição do ícone no acionador: 'left' ou 'right'. * @default 'right' */ "iconPosition": CollapseIconPosition; /** * Identificador Iconify do ícone exibido quando o conteúdo está visível. O valor padrão usa o registro SVG local. Para ícones por classe CSS, use o slot `icon-to-hide`. * @default 'fa6-solid:chevron-up' */ "iconToHide": string; /** * Identificador Iconify do ícone exibido quando o conteúdo está oculto. O valor padrão usa o registro SVG local. Para ícones por classe CSS, use o slot `icon-to-show`. * @default 'fa6-solid:chevron-down' */ "iconToShow": string; /** * Controla se o collapse está aberto. * @default false */ "open": boolean; /** * Abre o collapse programaticamente. * @deprecated Atualize a propriedade `open`. */ "openCollapse": () => Promise; /** * Alterna o estado aberto. O elemento também redispara o evento nativo `toggle` no host; essa ocorrência é sintética (`isTrusted === false`). */ "toggle": () => Promise; /** * Forma visual do acionador sem alterar sua semântica nativa. * @default 'surface' */ "triggerVariant": CollapseTriggerVariant; /** * Controla se o identificador visual de expansão/retração será renderizado. * @default true */ "useIcons": boolean; } /** * O `br-cookiebar` avisa sobre o uso de cookies e registra o consentimento da pessoa, por categoria e por cookie. * Ele aparece como uma barra no rodapé (`mode="default"`) e abre um painel com as categorias quando a pessoa escolhe "Definir Cookies" (`mode="open"`). * ### Como usar * 1. Escreva o texto da barra em `info-text`. * 2. Coloque o título e a introdução do painel em um `br-cookiebar-header`. * 3. Crie um `br-cookiebar-group` por categoria e, dentro dele, um `br-cookiebar-cookie` por cookie. Use `group-opt-out="false"` nas categorias que não podem ser desativadas. * 4. Adicione os links de política em `br-cookiebar-link`, no slot `links`. * 5. Ouça `brCookiebarResponse` para salvar a escolha e ative `show` somente enquanto não houver escolha salva. * ```html * * * * * * * * ``` * ```js * const cookiebar = document.querySelector('br-cookiebar'); * cookiebar.show = !localStorage.getItem('consentimento'); * cookiebar.addEventListener('brCookiebarResponse', (event) => { * localStorage.setItem('consentimento', JSON.stringify(event.detail)); * }); * ``` * `event.detail` traz o estado de cada categoria (`cookieGroups`) e de cada cookie (`cookieList`). Para reabrir o painel depois, por exemplo num link "Preferências de cookies", chame `openPanel()`. * ### Quando evitar * - Avisos que não tratam de consentimento: use `br-message` ou `br-notification`. * Consulte as [diretrizes de design do GovBR](https://www.gov.br/ds/components/cookiebar?tab=designer). * @category Feedback, Sobreposições * @status stable */ interface BrCookiebar { /** * Texto do botão primário de aceite. Padrão: `Aceitar`. * @default 'Aceitar' */ "acceptButton": string; /** * Mensagem exibida abaixo do checkbox geral quando está desmarcado ou com seleção parcial. */ "allAlertMessage"?: string; /** * Define se o cookiebar opera no padrão opt-out (`true`, recomendado) ou opt-in (`false`). - **opt-out** (`true`): botão secundário "Definir Cookies"; usuário pode configurar cookies. - **opt-in** (`false`): botão secundário "Ver Política de Cookies"; painel é somente leitura. * @default true */ "allOptOut": boolean; /** * Oculta o cookiebar. */ "close": () => Promise; /** * `aria-label` do botão fechar exibido no canto do painel expandido (`mode="open"`). Permite traduzir o rótulo para outros idiomas. * @default 'Fechar' */ "closeLabel": string; /** * Rótulo do título da seção de grupos de cookies. * @default 'Classes de cookies' */ "cookieGroupsLabel": string; /** * Identificador único; gerado automaticamente quando omitido. * @default generateUniqueId() */ "customId": string; /** * `aria-label` da barra de aviso de cookies (`mode="default"`). Deve descrever o propósito da região de forma sucinta (ex: "Aviso de cookies"). * @default 'Aviso de cookies' */ "defaultPanelLabel": string; /** * Retorna o JSON com o estado atual de seleção de todos os grupos e cookies. */ "getSelectedCookies": () => Promise; /** * Texto informativo exibido na barra inferior (modo default), descrevendo a política de cookies. */ "infoText": string; /** * `aria-label` do elemento `