use-scroll-into-view
Scroll given node into view
Import
Source
Docs
Package
Usage
use-scroll-into-view handles scroll behavior for any scrollable element. Basic usage works the same way as element.scrollIntoView()
.
Hook adjusts scrolling animation with respect to the reduced-motion
user preference.
Hello there
API
Hook is configured with settings object:
onScrollFinish
– function that will be called after scroll animationeasing
– custom math easing functionduration
- duration of scroll animation in millisecondsaxis
- axis of scrollcancelable
- indicator if animation may be interrupted by user scrollingoffset
- additional distance between nearest edge and elementisList
- indicator that prevents content jumping in scrolling lists with multiple targets eg. Select, Carousel
Hook returns an object with:
scrollIntoView
– function that starts scroll animationcancel
– function that stops scroll animationtargetRef
- ref of target HTML nodescrollableRef
- ref of scrollable parent HTML element, if not used document element will be used
Returned scrollIntoView
function accepts single optional argument alignment
- optional target element alignment relatively to parent based on current axis.
Easing
Hook accept custom easing
math function to control the flow of animation.
It takes t
argument which is a number between 0
and 1
.
Default easing is easeInOutQuad
- more info here.
You can find other popular examples on easings.net
Examples
Parent node
Scroll me into view
Scroll X axis
Scroll me into view
Definition
Feedback
Your feedback is most valuable contribution to the project, please share how you use Mantine, what features are missing and what is done good
Leave feedback