@enact/ui
Version:
A collection of simplified unstyled cross-platform UI components for Enact
33 lines (32 loc) • 1.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.utilEvent = exports["default"] = void 0;
// A `React.useEvent` hooks is introduced in https://github.com/facebook/react/pull/17651
// The `useEvent` below will be replaced with the `React.useEvent` later.
var utilEvent = exports.utilEvent = function utilEvent(eventName) {
return {
addEventListener: function addEventListener(ref, fn, param) {
if (!ref) return;
if (typeof window !== 'undefined' && (ref === window || ref === document)) {
ref.addEventListener(eventName, fn, param);
} else if (ref.current) {
ref.current.addEventListener(eventName, fn, param);
} else if (ref && ref.addEventListener) {
ref.addEventListener(eventName, fn, param);
}
},
removeEventListener: function removeEventListener(ref, fn, param) {
if (!ref) return;
if (typeof window !== 'undefined' && (ref === window || ref === document)) {
ref.removeEventListener(eventName, fn, param);
} else if (ref.current) {
ref.current.removeEventListener(eventName, fn, param);
} else if (ref && ref.removeEventListener) {
ref.removeEventListener(eventName, fn, param);
}
}
};
};
var _default = exports["default"] = utilEvent;