carbon-components-angular
Version:
Next generation components
21 lines • 2.28 kB
JavaScript
export function clone(obj) {
return JSON.parse(JSON.stringify(obj));
}
function matchesAttr(el, attr, val) {
const styles = window.getComputedStyle(el);
return val.includes(styles[attr]);
}
export function closestAttr(s, t, element) {
let el = element;
if (!element) {
return null;
}
do {
if (matchesAttr(el, s, t)) {
return el;
}
el = el.parentElement || el.parentNode;
} while (el !== null && el.nodeType === 1);
return null;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLEtBQUssQ0FBQyxHQUFHO0lBQ3hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRztJQUNqQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0MsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTztJQUN4QyxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFFakIsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNiLE9BQU8sSUFBSSxDQUFDO0tBQ1o7SUFFRCxHQUFHO1FBQ0YsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtZQUMxQixPQUFPLEVBQUUsQ0FBQztTQUNWO1FBQ0QsRUFBRSxHQUFHLEVBQUUsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztLQUN2QyxRQUFRLEVBQUUsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDLFFBQVEsS0FBSyxDQUFDLEVBQUU7SUFDM0MsT0FBTyxJQUFJLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGNsb25lKG9iaikge1xuXHRyZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvYmopKTtcbn1cblxuZnVuY3Rpb24gbWF0Y2hlc0F0dHIoZWwsIGF0dHIsIHZhbCkge1xuXHRjb25zdCBzdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCk7XG5cdHJldHVybiB2YWwuaW5jbHVkZXMoc3R5bGVzW2F0dHJdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsb3Nlc3RBdHRyKHMsIHQsIGVsZW1lbnQpIHtcblx0bGV0IGVsID0gZWxlbWVudDtcblxuXHRpZiAoIWVsZW1lbnQpIHtcblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXG5cdGRvIHtcblx0XHRpZiAobWF0Y2hlc0F0dHIoZWwsIHMsIHQpKSB7XG5cdFx0XHRyZXR1cm4gZWw7XG5cdFx0fVxuXHRcdGVsID0gZWwucGFyZW50RWxlbWVudCB8fCBlbC5wYXJlbnROb2RlO1xuXHR9IHdoaWxlIChlbCAhPT0gbnVsbCAmJiBlbC5ub2RlVHlwZSA9PT0gMSk7XG5cdHJldHVybiBudWxsO1xufVxuIl19