UNPKG

mostly-dom

Version:
13 lines (12 loc) 623 B
import { ElementVNode } from './VirtualNode'; export declare type VNodeEvent<T, Ev extends Event> = Ev & { currentTarget: T; }; export declare type EventHandler<T extends Element, Ev extends Event> = (event: VNodeEvent<T, Ev>, vNode: ElementVNode<T>) => any; export declare type VNodeEvents<T extends Element, EventMap extends { [K in keyof EventMap]: Event; }> = { [K in keyof EventMap]?: EventHandler<T, EventMap[K]>; }; export declare type ElementEvents<T extends Element> = VNodeEvents<T, ElementEventMap>; export declare type HtmlElementEvents<T extends HTMLElement> = VNodeEvents<T, HTMLElementEventMap>;