{"version":3,"file":"getScrollParent.mjs","names":["getScrollParent","el","includeHidden","arguments","length","undefined","isPotentiallyScrollable","hasScrollbar","parentElement","document","scrollingElement","getScrollParents","stopAt","elements","contains","push","nodeType","Node","ELEMENT_NODE","style","window","getComputedStyle","overflowY","scrollHeight","clientHeight","includes"],"sources":["../../src/util/getScrollParent.ts"],"sourcesContent":["export function getScrollParent (el?: HTMLElement, includeHidden = false) {\n while (el) {\n if (includeHidden ? isPotentiallyScrollable(el) : hasScrollbar(el)) return el\n el = el.parentElement!\n }\n\n return document.scrollingElement as HTMLElement\n}\n\nexport function getScrollParents (el?: Element | null, stopAt?: Element | null) {\n const elements: HTMLElement[] = []\n\n if (stopAt && el && !stopAt.contains(el)) return elements\n\n while (el) {\n if (hasScrollbar(el)) elements.push(el as HTMLElement)\n if (el === stopAt) break\n el = el.parentElement!\n }\n\n return elements\n}\n\nexport function hasScrollbar (el?: Element | null) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return style.overflowY === 'scroll' || (style.overflowY === 'auto' && el.scrollHeight > el.clientHeight)\n}\n\nfunction isPotentiallyScrollable (el?: Element | null) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ['scroll', 'auto'].includes(style.overflowY)\n}\n"],"mappings":"AAAA,OAAO,SAASA,eAAeA,CAAEC,EAAgB,EAAyB;EAAA,IAAvBC,aAAa,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EACtE,OAAOF,EAAE,EAAE;IACT,IAAIC,aAAa,GAAGI,uBAAuB,CAACL,EAAE,CAAC,GAAGM,YAAY,CAACN,EAAE,CAAC,EAAE,OAAOA,EAAE;IAC7EA,EAAE,GAAGA,EAAE,CAACO,aAAc;EACxB;EAEA,OAAOC,QAAQ,CAACC,gBAAgB;AAClC;AAEA,OAAO,SAASC,gBAAgBA,CAAEV,EAAmB,EAAEW,MAAuB,EAAE;EAC9E,MAAMC,QAAuB,GAAG,EAAE;EAElC,IAAID,MAAM,IAAIX,EAAE,IAAI,CAACW,MAAM,CAACE,QAAQ,CAACb,EAAE,CAAC,EAAE,OAAOY,QAAQ;EAEzD,OAAOZ,EAAE,EAAE;IACT,IAAIM,YAAY,CAACN,EAAE,CAAC,EAAEY,QAAQ,CAACE,IAAI,CAACd,EAAiB,CAAC;IACtD,IAAIA,EAAE,KAAKW,MAAM,EAAE;IACnBX,EAAE,GAAGA,EAAE,CAACO,aAAc;EACxB;EAEA,OAAOK,QAAQ;AACjB;AAEA,OAAO,SAASN,YAAYA,CAAEN,EAAmB,EAAE;EACjD,IAAI,CAACA,EAAE,IAAIA,EAAE,CAACe,QAAQ,KAAKC,IAAI,CAACC,YAAY,EAAE,OAAO,KAAK;EAE1D,MAAMC,KAAK,GAAGC,MAAM,CAACC,gBAAgB,CAACpB,EAAE,CAAC;EACzC,OAAOkB,KAAK,CAACG,SAAS,KAAK,QAAQ,IAAKH,KAAK,CAACG,SAAS,KAAK,MAAM,IAAIrB,EAAE,CAACsB,YAAY,GAAGtB,EAAE,CAACuB,YAAa;AAC1G;AAEA,SAASlB,uBAAuBA,CAAEL,EAAmB,EAAE;EACrD,IAAI,CAACA,EAAE,IAAIA,EAAE,CAACe,QAAQ,KAAKC,IAAI,CAACC,YAAY,EAAE,OAAO,KAAK;EAE1D,MAAMC,KAAK,GAAGC,MAAM,CAACC,gBAAgB,CAACpB,EAAE,CAAC;EACzC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAACwB,QAAQ,CAACN,KAAK,CAACG,SAAS,CAAC;AACrD","ignoreList":[]}