| |
| /** |
| * Common event handlers for JSX element event binding. |
| */ |
| |
| const eventHandlersByType = { |
| clipboard: [ |
| 'onCopy', |
| 'onCut', |
| 'onPaste', |
| ], |
| composition: [ |
| 'onCompositionEnd', |
| 'onCompositionStart', |
| 'onCompositionUpdate', |
| ], |
| keyboard: [ |
| 'onKeyDown', |
| 'onKeyPress', |
| 'onKeyUp', |
| ], |
| focus: [ |
| 'onFocus', |
| 'onBlur', |
| ], |
| form: [ |
| 'onChange', |
| 'onInput', |
| 'onSubmit', |
| ], |
| mouse: [ |
| 'onClick', |
| 'onContextMenu', |
| 'onDblClick', |
| 'onDoubleClick', |
| 'onDrag', |
| 'onDragEnd', |
| 'onDragEnter', |
| 'onDragExit', |
| 'onDragLeave', |
| 'onDragOver', |
| 'onDragStart', |
| 'onDrop', |
| 'onMouseDown', |
| 'onMouseEnter', |
| 'onMouseLeave', |
| 'onMouseMove', |
| 'onMouseOut', |
| 'onMouseOver', |
| 'onMouseUp', |
| ], |
| selection: [ |
| 'onSelect', |
| ], |
| touch: [ |
| 'onTouchCancel', |
| 'onTouchEnd', |
| 'onTouchMove', |
| 'onTouchStart', |
| ], |
| ui: [ |
| 'onScroll', |
| ], |
| wheel: [ |
| 'onWheel', |
| ], |
| media: [ |
| 'onAbort', |
| 'onCanPlay', |
| 'onCanPlayThrough', |
| 'onDurationChange', |
| 'onEmptied', |
| 'onEncrypted', |
| 'onEnded', |
| 'onError', |
| 'onLoadedData', |
| 'onLoadedMetadata', |
| 'onLoadStart', |
| 'onPause', |
| 'onPlay', |
| 'onPlaying', |
| 'onProgress', |
| 'onRateChange', |
| 'onSeeked', |
| 'onSeeking', |
| 'onStalled', |
| 'onSuspend', |
| 'onTimeUpdate', |
| 'onVolumeChange', |
| 'onWaiting', |
| ], |
| image: [ |
| 'onLoad', |
| 'onError', |
| ], |
| animation: [ |
| 'onAnimationStart', |
| 'onAnimationEnd', |
| 'onAnimationIteration', |
| ], |
| transition: [ |
| 'onTransitionEnd', |
| ], |
| }; |
| |
| const eventHandlers = Object.keys(eventHandlersByType).reduce( |
| (accumulator, type) => accumulator.concat(eventHandlersByType[type]), |
| [], |
| ); |
| |
| export default eventHandlers; |
| |
| export { eventHandlersByType }; |