/** * Events emitted in the context of uwc-input * * @internal * @module */ import { createKeyNameProxy } from "@hesxenon/prelude/Dom.js"; import { ValueElement } from "./parts/value-element.js"; export type Events = { [k in keyof UwcInputElement & string as `${k}Changed`]: CustomEvent; } & { /** * dispatched when a user selects a suggestion */ suggestionSelected: CustomEvent; /** * as soon as the aria-selected attribute of a value element changes this event is dispatched. * * The difference to `suggestionSelected` is that this event is dispatched regardless of user * or programmatic change */ selectedSuggestionChanged: CustomEvent; selectedChanged: CustomEvent; formValuesChanged: CustomEvent; validityStateChanged: CustomEvent; clear: CustomEvent; formReset: CustomEvent; formAssociated: CustomEvent; init: CustomEvent; }; export const Events = createKeyNameProxy(); declare global { // merging... // eslint-disable-next-line @typescript-eslint/no-empty-object-type interface HTMLElementEventMap extends Events {} }