@kelvininc/ui-components
Version:
Kelvin UI Components
30 lines (26 loc) • 1.12 kB
JavaScript
import { i as isNil } from './p-CRcRM80a.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(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
});
export { didClickOnElement as d, getSlotElements as g, isTargetOnElement as i, mouseEvent_helper as m };