"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.focusEvents = exports.keyboardEvents = exports.touchEvents = exports.mouseEvents = void 0; // As defined on the list of supported mouse events: https://reactjs.org/docs/events.html#mouse-events var mouseEvents = ['onClick', 'onContextMenu', 'onDoubleClick', 'onDrag', 'onDragEnd', 'onDragEnter', 'onDragExit', 'onDragLeave', 'onDragOver', 'onDragStart', 'onDrop', 'onMouseDown', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp']; // As defined on the list of supported touch events: https://reactjs.org/docs/events.html#touch-events exports.mouseEvents = mouseEvents; var touchEvents = ['onTouchCancel', 'onTouchEnd', 'onTouchMove', 'onTouchStart']; // As defined on the list of supported keyboard events: https://reactjs.org/docs/events.html#keyboard-events exports.touchEvents = touchEvents; var keyboardEvents = ['onKeyDown', 'onKeyPress', 'onKeyUp']; // As defined on the list of supported keyboard events: https://reactjs.org/docs/events.html#focus-events exports.keyboardEvents = keyboardEvents; var focusEvents = ['onFocus', 'onBlur']; /** * Returns an object with on-event callback props curried with provided args. * @param {Object} props Props passed to a component. * @param {Function=} getArgs A function that returns argument(s) on-event callbacks * shall be curried with. */ exports.focusEvents = focusEvents; var makeEventProps = function makeEventProps(props, getArgs) { var eventProps = {}; [].concat(mouseEvents, touchEvents, keyboardEvents, focusEvents).forEach(function (eventName) { if (props[eventName]) { eventProps[eventName] = function (event) { return getArgs ? props[eventName](event, getArgs(eventName)) : props[eventName](event); }; } }); return eventProps; }; var _default = makeEventProps; exports.default = _default;