Files
xk-admin/packages/@core/ui-kit/layout-ui/src/header-scroll-state.ts

29 lines
536 B
TypeScript

interface HeaderScrollStateOptions {
arrivedTop: boolean;
currentHidden: boolean;
directionDown: boolean;
directionUp: boolean;
headerHeight: number;
scrollTop: number;
}
export function resolveHeaderHiddenOnScroll({
arrivedTop,
currentHidden,
directionDown,
directionUp,
headerHeight,
scrollTop,
}: HeaderScrollStateOptions) {
if (arrivedTop || scrollTop < headerHeight) {
return false;
}
if (directionUp) {
return false;
}
if (directionDown) {
return true;
}
return currentHidden;
}