20 lines
569 B
JavaScript
20 lines
569 B
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.getTarget = getTarget;
|
|
/**
|
|
* Returns the target element of an event, accounting for shadow DOM.
|
|
* @param event The event object.
|
|
* @returns The target element of the event.
|
|
*/
|
|
function getTarget(event) {
|
|
if ('composedPath' in event) {
|
|
return event.composedPath()[0] ?? event.target;
|
|
}
|
|
|
|
// Fallback for environments where `composedPath` is not available.
|
|
// TS narrows `event` to `never` here because it assumes `composedPath` always exists.
|
|
return event.target;
|
|
} |