UNPKG

click-away-listener

Version:

A React component and hook library for detecting clicks outside an element, compatible with React 18 and Next.js

44 lines 1.3 kB
export var isMouseEvent = function (event) { return event.type.includes('mouse'); }; export var isTouchEvent = function (event) { return event.type.includes('touch'); }; export var isFocusEvent = function (event) { return event.type.includes('focus'); }; export var isKeyboardEvent = function (event) { return event.type === 'keydown'; }; export var getEventGroup = function (event) { if (isMouseEvent(event)) return 'mouse'; if (isTouchEvent(event)) return 'touch'; if (isFocusEvent(event)) return 'focus'; if (isKeyboardEvent(event)) return 'keyboard'; return null; }; export var mergeRefs = function () { var refs = []; for (var _i = 0; _i < arguments.length; _i++) { refs[_i] = arguments[_i]; } return function (value) { refs.forEach(function (ref) { if (typeof ref === 'function') { ref(value); } else if (ref != null) { ref.current = value; } }); }; }; export var isInExcluded = function (target, excludeRefs) { if (excludeRefs === void 0) { excludeRefs = []; } return excludeRefs.some(function (ref) { return ref.current && ref.current.contains(target); }); }; //# sourceMappingURL=utils.js.map