import { Component } from "../../component.js"; /** * Checkboxes component */ export class Checkboxes extends Component { /** * Name for the component used when initialising using data-module attributes. */ static moduleName: string; /** * Checkboxes can be associated with a 'conditionally revealed' content block * – for example, a checkbox for 'Phone' could reveal an additional form field * for the user to enter their phone number. * * These associations are made using a `data-aria-controls` attribute, which * is promoted to an aria-controls attribute during initialisation. * * We also need to restore the state of any conditional reveals on the page * (for example if the user has navigated back), and set up event handlers to * keep the reveal in sync with the checkbox state. * * @param {Element | null} $root - HTML element to use for checkboxes */ constructor($root: Element | null); }