import { LitElement } from 'lit'; import { Constructable } from './types'; type InteractiveControl = { disabled?: boolean; readOnly?: boolean; control?: HTMLElement; }; export interface DelegateInteractionMixinInterface { focus(): void; blur(): void; click(): void; } /** * Mixin that delegates focus(), blur(), and click() to an inner `control` * element, gated on the `disabled` (and optionally `readOnly`) state of * the host component. * * Requires the host class to expose: * - `control` — the inner focusable element (e.g. an ,