import { FlatTemplatable } from "tempstream"; import { CheckboxWithValue } from "./checkbox.js"; import { CheckboxGroup, DefaultCheckboxOptions } from "./checkbox-group.js"; import { CollapsibleFieldGroup } from "./collapsible-field-group.js"; import { FormControlContext } from "./form-control.js"; export class CollapsibleCheckboxGroup extends CheckboxGroup< DefaultCheckboxOptions & { textWhenOpen?: string; textWhenClosed?: string; groupID?: string; } > { wrapGroup( fctx: FormControlContext, checkboxes: CheckboxWithValue[] ): Promise { return new CollapsibleFieldGroup(checkboxes, { label: this.options.label, textWhenOpen: this.options.textWhenOpen, textWhenClosed: this.options.textWhenClosed, groupID: this.options.groupID, }).render(fctx); } }