UNPKG

vuetify

Version:

Vue Material Component Framework

1 lines 2.05 kB
{"version":3,"file":"getScrollParent.mjs","names":["getScrollParent","el","hasScrollbar","parentElement","document","scrollingElement","getScrollParents","stopAt","elements","contains","push","nodeType","Node","ELEMENT_NODE","style","window","getComputedStyle","overflowY","scrollHeight","clientHeight"],"sources":["../../src/util/getScrollParent.ts"],"sourcesContent":["export function getScrollParent (el?: HTMLElement) {\n while (el) {\n if (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"],"mappings":"AAAA,OAAO,SAASA,eAAe,CAAEC,EAAgB,EAAE;EACjD,OAAOA,EAAE,EAAE;IACT,IAAIC,YAAY,CAACD,EAAE,CAAC,EAAE,OAAOA,EAAE;IAC/BA,EAAE,GAAGA,EAAE,CAACE,aAAc;EACxB;EAEA,OAAOC,QAAQ,CAACC,gBAAgB;AAClC;AAEA,OAAO,SAASC,gBAAgB,CAAEL,EAAmB,EAAEM,MAAuB,EAAE;EAC9E,MAAMC,QAAuB,GAAG,EAAE;EAElC,IAAID,MAAM,IAAIN,EAAE,IAAI,CAACM,MAAM,CAACE,QAAQ,CAACR,EAAE,CAAC,EAAE,OAAOO,QAAQ;EAEzD,OAAOP,EAAE,EAAE;IACT,IAAIC,YAAY,CAACD,EAAE,CAAC,EAAEO,QAAQ,CAACE,IAAI,CAACT,EAAE,CAAgB;IACtD,IAAIA,EAAE,KAAKM,MAAM,EAAE;IACnBN,EAAE,GAAGA,EAAE,CAACE,aAAc;EACxB;EAEA,OAAOK,QAAQ;AACjB;AAEA,OAAO,SAASN,YAAY,CAAED,EAAmB,EAAE;EACjD,IAAI,CAACA,EAAE,IAAIA,EAAE,CAACU,QAAQ,KAAKC,IAAI,CAACC,YAAY,EAAE,OAAO,KAAK;EAE1D,MAAMC,KAAK,GAAGC,MAAM,CAACC,gBAAgB,CAACf,EAAE,CAAC;EACzC,OAAOa,KAAK,CAACG,SAAS,KAAK,QAAQ,IAAKH,KAAK,CAACG,SAAS,KAAK,MAAM,IAAIhB,EAAE,CAACiB,YAAY,GAAGjB,EAAE,CAACkB,YAAa;AAC1G"}