import { type EventEmitter } from '../../stencil-public-runtime';
import type { CheckboxState } from './types';
import type { Theme } from '../../utils/styles';
/**
* @component diwa-checkbox
*
* A fully accessible checkbox control with label, validation state,
* and indeterminate support. Mirrors the PDS p-checkbox API.
*
* Semi-controlled: the `checked` prop is mutable — the component
* updates it internally AND emits an `update` event. The consumer can
* either listen to `update` to manage state externally, or use it
* standalone without any event wiring.
*
* Accessibility:
* - Native `` inside Shadow DOM with delegatesFocus
* - `aria-checked="mixed"` set automatically when `indeterminate` is true
* - `aria-describedby` wires the message element when state is error/success
* - `role` is implicit from native input — no extra ARIA needed
*
* Usage:
* setAccepted(e.detail.checked)} />
*
* Note (V1): The inner is inside Shadow DOM and is therefore
* not visible to ancestor