/* 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 { 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 { 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 { 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, 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 { 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 { 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 { 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 { 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, 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 { 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 { /** * 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). * @category Identidade * @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). * @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; /** * @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. * @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; } /** * 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). * @category Navegação * @status stable */ interface BrBreadcrumb { /** * Define o array de objetos que receberá os nomes e links do breadcrumb. Define valor padrão do breadcrumb 'defaultCrumbs'. */ "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 canônica 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. * @default 'native' */ "navigationMode": BrNavigationMode; } /** * Item declarativo canônico de `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; } /** * 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). * @category Ações * @status stable */ interface BrButton { /** * Estado ativo canônico. 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'. * @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. */ "colorMode"?: ButtonColorMode; /** * Identificador único do componente. Quando omitido, um valor é gerado automaticamente. > **Padrão:** valor único gerado por generateUniqueId(). * @default generateUniqueId() */ "customId": string; /** * @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). * @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. */ "emphasis"?: ButtonEmphasis; /** * @deprecated Use `active`. * @default false */ "isActive": boolean; /** * @deprecated Use `loading`. * @default false */ "isLoading": boolean; /** * Estado de carregamento canônico. Quando informado, tem precedência sobre `isLoading`. */ "loading"?: boolean; /** * Define o formato do botão. */ "shape"?: ButtonShape; /** * Define o tipo de botão, especificando seu comportamento padrão. */ "type"?: ButtonType; /** * Define o valor inicial do botão em um formulário. */ "value"?: string; } /** * 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). * @category Layout * @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; /** * @deprecated Use `interactive`. * @default false */ "hover": boolean; /** * Habilita indicação visual de interatividade. Quando informada, tem precedência sobre `hover`. */ "interactive"?: boolean; } /** * ## Design System * Para a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/carousel?tab=designer). * @category Conteúdo * @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. 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; } /** * ## Design System * Subcomponente do `br-carousel`. Representa um slide individual dentro do carrossel. * Deve ser usado exclusivamente como filho direto de `br-carousel`. * Para a documentação completa de design, consulte o [Design System do GovBR](https://www.gov.br/ds/components/carousel?tab=designer). */ 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; } /** * ## Design System * Para a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/checkbox?tab=designer). * @category Formulários * @status stable */ 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 `br-checkbox-${checkboxId++}` */ "customId": string; /** * Desativa o checkbox, tornando-o não interativo. * @default false */ "disabled": boolean; /** * Estado de feedback canônico. 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. */ "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; } /** * ## Design System * Para a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/checkgroup?tab=designer). * @category Formulários * @status stable */ interface BrCheckboxGroup { /** * Identificador único do controlador. * @default `br-checkbox-group-${checkboxGroupId++}` */ "customId": string; /** * Define o estado indeterminado inicial do grupo. * @default false */ "indeterminate": boolean; /** * Texto descritivo do grupo. */ "label"?: string; /** * Orientação visual das opções. * @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; } /** * @category Formulários * @status deprecated * @deprecated Use `br-checkbox-group`. */ interface BrCheckgroup { /** * Identificador legado do controlador. */ "customId"?: string; /** * Estado indeterminado inicial. * @default false */ "indeterminate": boolean; /** * Texto descritivo do grupo. */ "label"?: string; /** * @deprecated Use `selectAllLabel`. */ "labelDesselecionado"?: string; /** * @deprecated Use `unselectAllLabel`. */ "labelSelecionado"?: string; /** * Rótulo para marcar todos. */ "selectAllLabel"?: string; /** * Rótulo para desmarcar todos. */ "unselectAllLabel"?: string; } /** * 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). * @category Conteúdo * @status stable */ 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; /** * Classe CSS do ícone exibido quando o conteúdo está visível. * @default 'fa6-solid:chevron-up' */ "iconToHide": string; /** * Classe CSS do ícone exibido quando o conteúdo está oculto. * @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; } /** * Componente de gestão de consentimento de cookies (LGPD), obrigatório em sites e aplicativos do * Governo Federal que coletam dados de usuários. * Apresenta duas etapas visuais: * - **default** – barra inferior com texto informativo e botões de ação; * - **open** – painel de tela cheia com lista de classes de cookies configuráveis. * A persistência do consentimento é responsabilidade do consumidor: ouça o evento * `brCookiebarAccept` e armazene o payload onde desejar (localStorage, cookie HTTP, API etc.). * Para a documentação completa, consulte o [Design System do GovBR](https://www.gov.br/ds/components/cookiebar?tab=designer). * @category Feedback * @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 `