@kelvininc/ui-components
Version:
Kelvin UI Components
33 lines (28 loc) • 1.13 kB
JavaScript
;
var isNil = require('./isNil-B-fGcnNC.js');
const getSlotElements = (element) => { var _a, _b; return (_b = (_a = element.querySelector('slot')) === null || _a === void 0 ? void 0 : _a.assignedNodes()) !== null && _b !== void 0 ? _b : []; };
const didClickOnElement = (element, event) => {
if (isNil.isNil(element)) {
return false;
}
if (isTargetOnElement(element, event)) {
return true;
}
const slotElements = getSlotElements(element);
for (let index = 0; index < slotElements.length; index++) {
const slotElement = slotElements[index];
if (isTargetOnElement(slotElement, event)) {
return true;
}
}
return false;
};
const isTargetOnElement = (selectElement, event) => event.composedPath().some(element => element === selectElement);
var mouseEvent_helper = /*#__PURE__*/Object.freeze({
__proto__: null,
didClickOnElement: didClickOnElement,
getSlotElements: getSlotElements,
isTargetOnElement: isTargetOnElement
});
exports.didClickOnElement = didClickOnElement;
exports.mouseEvent_helper = mouseEvent_helper;