UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

31 lines (30 loc) 988 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getClosestParent = void 0; var _helpers = require("../helpers.js"); const getClosestParent = (selector, element) => { try { const tagName = /[A-Z]/.test(selector) ? selector : null; const className = tagName ? null : selector.replace(/^\./, ''); const contains = element => { if (!element) { return null; } if (tagName) { return (element === null || element === void 0 ? void 0 : element.tagName) === tagName; } return element === null || element === void 0 ? void 0 : element.classList.contains(className); }; while (element && !contains(element)) { var _element; element = (_element = element) === null || _element === void 0 ? void 0 : _element.parentElement; } } catch (e) { (0, _helpers.warn)(e); } return element; }; exports.getClosestParent = getClosestParent; //# sourceMappingURL=getClosest.js.map