* initial changes * redesign the sidebar + nav drawer * changes to sidebar items * finish up sidebar redesign * support new sidebar in resources * general fixes * integrate in ui * support api reference * refactor * integrate in user guide * docs: fix build errors * fix user guide build * more refactoring * added banner * added bottom logo + icon * fix up sidebar * fix up paddings * fix shadow bottom * docs: add table of content (#8445) * add toc types * implement toc functionality * finished toc redesign * redesigned table of content * mobile fixes * truncate text in toc * mobile fixes * merge fixes * implement redesign * add hide sidebar * add menu action item * finish up hide sidebar design * implement redesign in resources * integrate in api reference * integrate changes in ui * fixes to api reference scrolling * fix build error * fix build errors * fixes * fixes to sidebar * general fixes * fix active category not closing * fix long titles
17 lines
484 B
TypeScript
17 lines
484 B
TypeScript
export default function checkElementInViewport(
|
|
element: Element,
|
|
percentage = 100,
|
|
height?: number
|
|
) {
|
|
const rect = element.getBoundingClientRect()
|
|
const windowHeight: number | undefined =
|
|
height || window.innerHeight || document.documentElement.clientHeight
|
|
|
|
return !(
|
|
Math.floor(100 - ((rect.top >= 0 ? 0 : rect.top) / +-rect.height) * 100) <
|
|
percentage ||
|
|
Math.floor(100 - ((rect.bottom - windowHeight) / rect.height) * 100) <
|
|
percentage
|
|
)
|
|
}
|