import { type EventEmitter } from '../../stencil-public-runtime'; import { type FormValidationState } from '../../shared/utils/form'; import { type FormValidationChangeDetail } from '../../shared/utils/validator'; import type { CheckboxValidator } from './checkbox.types'; /** * ## 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 * @slot default - Slot para o rótulo do checkbox, como alternativa à propriedade label. * @slot feedback - Mensagem de validação, normalmente um `br-message`. * * @part container - Contêiner visual do checkbox. * @part input - Elemento input nativo do checkbox. * @part label - Rótulo do checkbox. * @part feedback - Contêiner da mensagem de validação. */ export declare class Checkbox { elementInternals: ElementInternals; formDisabledCallback(disabled: boolean): void; formResetCallback(): void; formStateRestoreCallback(state: string | File | FormData | null): void; /** * Referência ao elemento host do componente. * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente. */ el: HTMLBrCheckboxElement; /** * Controla o estado de disabled herdado do form/fieldset pai. */ formDisabled: boolean; /** * Define o número de checkboxes filhos em um grupo de checkboxes. */ numberOfChildren: number; /** * Indica se o slot default possui conteúdo. */ slotDefault: boolean; /** Indica se o slot de feedback possui conteúdo fornecido pelo consumidor. */ hasFeedbackSlot: boolean; /** Mensagem definida pela Constraint Validation API. */ manualValidationMessage: string; validatorMessage: string | null; isValidating: 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. */ indeterminate: boolean; /** * Define o estado de seleção do checkbox. * Se definido como verdadeiro, o checkbox estará marcado. Caso contrário, estará desmarcado. */ checked: boolean; /** * Identificador único. * Caso não seja fornecido, um ID gerado automaticamente será usado. */ readonly customId: string; /** * Desativa o checkbox, tornando-o não interativo. */ readonly disabled: boolean; /** * Se verdadeiro, o checkbox é obrigatório e deve ser marcado antes que o formulário possa ser enviado. */ readonly required: boolean; /** Regra síncrona ou assíncrona aplicada ao estado booleano do checkbox. */ readonly validator?: CheckboxValidator; /** * 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`. */ readonly hasHiddenLabel: boolean; /** Oculta visualmente o rótulo. Quando informada, tem precedência sobre `hasHiddenLabel`. */ readonly labelHidden?: boolean; /** * Texto descritivo exibido à direita do checkbox. * Caso um slot seja utilizado para fornecer um texto alternativo, o valor desta propriedade será ignorado. */ readonly label: string; /** * 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. */ readonly name: string; /** * Indica a validade do checkbox. * Se não for especificado, o valor padrão é `null`, indicando que a validade não foi definida. */ readonly state: 'valid' | 'invalid'; /** Estado de feedback canônico. Quando informado, tem precedência sobre `state`. */ readonly feedbackState?: 'valid' | 'invalid'; /** * Define o valor associado ao checkbox quando ele faz parte de um formulário nativo (`