export interface WebEventResponderCallbacks { onMouseEnter ? : ( ) => void ; onMouseLeave ? : ( ) => void ; onFocus ? : ( ) => void ; onBlur ? : ( ) => void ; } export class WebEventResponderInstance { readonly eventHandlers : WebEventResponderCallbacks ; constructor ( props ) { this . eventHandlers = props ; } } class WebEventResponderStatic { static create ( config ) { return new WebEventResponderInstance ( { onMouseEnter : ( ) => { config . onMouseEnter && config . onMouseEnter ( ) ; } , onMouseLeave : ( ) => { config . onMouseLeave && config . onMouseLeave ( ) ; } , onFocus : ( ) => { config . onFocus && config . onFocus ( ) ; } , onBlur : ( ) => { config . onBlur && config . onBlur ( ) ; } , } ) ; } } export const WebEventResponder = WebEventResponderStatic ;