UNPKG

@kelvininc/ui-components

Version:
20 lines (19 loc) 824 B
import { isNil } from "lodash-es"; export 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 : []; }; export 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; }; export const isTargetOnElement = (selectElement, event) => event.composedPath().some(element => element === selectElement);