import type { LitElement } from 'lit'; import type { GenericConstructor } from '../types/GenericConstructor'; /** * Interface for FormControl behavior. */ export interface FormControlInterface { _internals: ElementInternals; get form(): HTMLFormElement | null; } /** * Mixin to add form control behaviors to a LitElement. * This mixin adds properties and methods to handle form-associated custom elements. * * @param superClass - The LitElement class to extend with form control functionality. * @returns A class extending both the provided LitElement and _FormControlInterface. * * @example * ```typescript * import { LitElement, html } from 'lit'; * import { FormControlMixin } from './path-to-FormControlMixin'; // Update the import path * * // Create a new component using the FormControlMixin * class MyFormElement extends FormControlMixin(LitElement) { * render() { * return html`