You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
12 lines
2.1 KiB
JavaScript
12 lines
2.1 KiB
JavaScript
const regex = /(auto|scroll)/;
|
|
const style = (node, prop) => getComputedStyle(node, null).getPropertyValue(prop);
|
|
const scroll = (node) => regex.test(style(node, 'overflow') +
|
|
style(node, 'overflow-y') +
|
|
style(node, 'overflow-x'));
|
|
const scrollparent = (node) => !node || node === document.body
|
|
? document.body
|
|
: scroll(node)
|
|
? node
|
|
: scrollparent(node.parentNode);
|
|
export default scrollparent;
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xscGFyZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWZsb3djaGFydC8iLCJzb3VyY2VzIjpbImxpYi9zY3JvbGxwYXJlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDO0FBRTlCLE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBYSxFQUFFLElBQVksRUFBVSxFQUFFLENBQ3BELGdCQUFnQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUV0RCxNQUFNLE1BQU0sR0FBRyxDQUFDLElBQWEsRUFBRSxFQUFFLENBQy9CLEtBQUssQ0FBQyxJQUFJLENBQ1IsS0FBSyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUM7SUFDdkIsS0FBSyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUM7SUFDekIsS0FBSyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBRS9CLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBaUIsRUFBZSxFQUFFLENBQ3RELENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyxRQUFRLENBQUMsSUFBSTtJQUM3QixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUk7SUFDZixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxJQUFJO1FBQ04sQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBeUIsQ0FBQyxDQUFDO0FBRW5ELGVBQWUsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcmVnZXggPSAvKGF1dG98c2Nyb2xsKS87XG5cbmNvbnN0IHN0eWxlID0gKG5vZGU6IEVsZW1lbnQsIHByb3A6IHN0cmluZyk6IHN0cmluZyA9PlxuICBnZXRDb21wdXRlZFN0eWxlKG5vZGUsIG51bGwpLmdldFByb3BlcnR5VmFsdWUocHJvcCk7XG5cbmNvbnN0IHNjcm9sbCA9IChub2RlOiBFbGVtZW50KSA9PlxuICByZWdleC50ZXN0KFxuICAgIHN0eWxlKG5vZGUsICdvdmVyZmxvdycpICtcbiAgICBzdHlsZShub2RlLCAnb3ZlcmZsb3cteScpICtcbiAgICBzdHlsZShub2RlLCAnb3ZlcmZsb3cteCcpKTtcblxuY29uc3Qgc2Nyb2xscGFyZW50ID0gKG5vZGU6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQgPT5cbiAgIW5vZGUgfHwgbm9kZSA9PT0gZG9jdW1lbnQuYm9keVxuICAgID8gZG9jdW1lbnQuYm9keVxuICAgIDogc2Nyb2xsKG5vZGUpXG4gICAgPyBub2RlXG4gICAgOiBzY3JvbGxwYXJlbnQobm9kZS5wYXJlbnROb2RlIGFzIEhUTUxFbGVtZW50KTtcblxuZXhwb3J0IGRlZmF1bHQgc2Nyb2xscGFyZW50O1xuIl19
|