import { useEvent } from "jb-core/react"; import { type EventTypeWithTarget } from "jb-core"; import { RefObject } from "react"; import { type JBInputWebComponent } from "jb-input"; export type JBInputEvents = { onEnter?: (e: EventTypeWithTarget) => void, onInput?: (e: EventTypeWithTarget) => void, onBeforeinput?: (e: EventTypeWithTarget) => void, onFocus?: (e: EventTypeWithTarget) => void, onBlur?: (e: EventTypeWithTarget) => void, onKeyup?: (e: EventTypeWithTarget) => void, onKeydown?: (e: EventTypeWithTarget) => void, onChange?: (e: EventTypeWithTarget) => void, } export function useJBInputEvents(element:RefObject,props:JBInputEvents){ useEvent(element, 'enter', props.onEnter); useEvent(element, 'input', props.onInput); useEvent(element, 'beforeinput', props.onBeforeinput); useEvent(element, 'change', props.onChange); useEvent(element, 'keydown', props.onKeydown); useEvent(element, 'keyup', props.onKeyup); useEvent(element, 'focus', props.onFocus); useEvent(element, 'blur', props.onBlur); }