| import type { ClickEvent } from './click-event.js' |
| import type { FocusEvent } from './focus-event.js' |
| import type { KeyboardEvent } from './keyboard-event.js' |
| import type { PasteEvent } from './paste-event.js' |
| import type { ResizeEvent } from './resize-event.js' |
|
|
| type KeyboardEventHandler = (event: KeyboardEvent) => void |
| type FocusEventHandler = (event: FocusEvent) => void |
| type PasteEventHandler = (event: PasteEvent) => void |
| type ResizeEventHandler = (event: ResizeEvent) => void |
| type ClickEventHandler = (event: ClickEvent) => void |
| type HoverEventHandler = () => void |
|
|
| |
| |
| |
| |
| |
| |
| |
| export type EventHandlerProps = { |
| onKeyDown?: KeyboardEventHandler |
| onKeyDownCapture?: KeyboardEventHandler |
|
|
| onFocus?: FocusEventHandler |
| onFocusCapture?: FocusEventHandler |
| onBlur?: FocusEventHandler |
| onBlurCapture?: FocusEventHandler |
|
|
| onPaste?: PasteEventHandler |
| onPasteCapture?: PasteEventHandler |
|
|
| onResize?: ResizeEventHandler |
|
|
| onClick?: ClickEventHandler |
| onMouseEnter?: HoverEventHandler |
| onMouseLeave?: HoverEventHandler |
| } |
|
|
| |
| |
| |
| |
| export const HANDLER_FOR_EVENT: Record< |
| string, |
| { bubble?: keyof EventHandlerProps; capture?: keyof EventHandlerProps } |
| > = { |
| keydown: { bubble: 'onKeyDown', capture: 'onKeyDownCapture' }, |
| focus: { bubble: 'onFocus', capture: 'onFocusCapture' }, |
| blur: { bubble: 'onBlur', capture: 'onBlurCapture' }, |
| paste: { bubble: 'onPaste', capture: 'onPasteCapture' }, |
| resize: { bubble: 'onResize' }, |
| click: { bubble: 'onClick' }, |
| } |
|
|
| |
| |
| |
| |
| export const EVENT_HANDLER_PROPS = new Set<string>([ |
| 'onKeyDown', |
| 'onKeyDownCapture', |
| 'onFocus', |
| 'onFocusCapture', |
| 'onBlur', |
| 'onBlurCapture', |
| 'onPaste', |
| 'onPasteCapture', |
| 'onResize', |
| 'onClick', |
| 'onMouseEnter', |
| 'onMouseLeave', |
| ]) |
|
|