UNPKG

@govbr-ds/webcomponents

Version:

Biblioteca de Web Components baseado no GovBR-DS

125 lines (124 loc) 4.83 kB
import { EventEmitter } from '../../stencil-public-runtime'; /** * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/item?tab=designer). * * @slot 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.). * * @slot start - Área de recursos visuais, podendo conter elementos como ícones, avatares e mídias. * * @slot end - Área de recursos complementares, podendo conter componentes interativos, metadados e informações adicionais. */ export declare class Item { /** * Referência ao elemento host do componente. * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente. */ el: HTMLBrItemElement; elementInternals: ElementInternals; /** * Desativa o item, tornando-o não interativo. */ readonly disabled: boolean; /** * Identificador único. * Caso não seja fornecido, um ID gerado automaticamente será usado. */ readonly customId: string; /** * Indica se o item está no estado ativo. * Se definido como verdadeiro, o item será exibido como ativo. */ readonly isActive: boolean; /** * Indica se o item está no estado selecionado. * Se definido como verdadeiro, o item será exibido como selecionado. */ readonly isSelected: boolean; /** * Marca o item como interativo, permitindo que toda a superfície do item seja clicável. */ readonly isInteractive: boolean; /** * URL ou caminho para o qual o usuário será direcionado ao clicar no item. Quando definido, o item será renderizado como um link. */ readonly href?: string; /** * Define o alvo do link quando `href` está presente. Pode ser: * - `_blank` para abrir em uma nova aba, * - `_self` para abrir na mesma aba, * - `_parent` para abrir na aba pai, * - `_top` para abrir na aba superior. */ readonly target?: '_blank' | '_self' | '_parent' | '_top'; /** * Quando definido como `true`, o item será tratado como um botão. */ readonly isButton: boolean; /** * Tipo do botão, aplicável apenas se `isButton` for `true`. Pode ser: * - `'submit'` para enviar um formulário, * - `'reset'` para redefinir um formulário, * - `'button'` para um botão padrão. */ type: 'submit' | 'reset' | 'button'; /** * Define um valor associado ao br-item quando renderizado como um botão, utilizado em contextos de formulário. */ readonly value?: string; /** * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido. */ readonly density: 'large' | 'medium' | 'small'; hasSlotDefault: boolean; hasSlotStart: boolean; hasSlotEnd: boolean; selectedValue: boolean; private hasRadios; private focusableElement?; handleRadioChange(): void; handleCheckboxChange(event: Event): void; /** * Evento customizado emitido quando o item é clicado, aplicável apenas se o item for um botão (`<button>`). * Pode ser utilizado para ações personalizadas, exceto quando o item está desativado. */ brDidClick: EventEmitter; /** * 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. */ brDidSelect: EventEmitter<{ selected: boolean; }>; componentWillLoad(): void; private hasSlotContentDefault; private hasSlotContent; private getCssClassMap; private getTagType; private getAttributes; private updateCheckboxSelectionState; private updateRadioSelectionState; /** * Gerencia o evento mousedown aplicando preventDefault() apenas nos casos necessários: * - quando o item é um link (href definido) * - quando o item está desabilitado * Isso permite a seleção de texto normal em botões ou itens de leitura. */ private handleMouseDown; private isClickInsideInteractiveElement; private updateCheckboxes; private readonly handleClick; /** * Método usado para associar ao evento onKeyDown no JSX * Evita problemas de lint com arrow functions ou bind() no JSX */ private readonly handleKeydownEvent; /** * Manipula o evento keydown internamente */ private handleKeydown; /** * Define o foco no elemento interno do componente. * Este método pode ser chamado externamente para garantir que o foco seja aplicado ao elemento correto. */ setFocus(): Promise<void>; render(): any; }