UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

35 lines (34 loc) 1.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getPreviousSibling = void 0; require("core-js/modules/es.string.replace.js"); var _helpers = require("../helpers"); const getPreviousSibling = (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); }; if (contains(element)) { return element; } while ((element = (_element = element) === null || _element === void 0 ? void 0 : _element.parentElement) && !contains(element)) { var _element; ; } } catch (e) { (0, _helpers.warn)(e); } return element; }; exports.getPreviousSibling = getPreviousSibling; //# sourceMappingURL=getPreviousSibling.js.map