I guess it doesn't have to be a React component, you are right. But just by doing so you get a lot of things for free and makes it easier for people to start using it, like, you just install it, require it, and you are good to go... that was the motivation beyond using React for it
Can you elaborate why we should use IntersectionObserver/ResizeObserver?
Currently there is no logic in place to do the calculation and detect if there is more available content or not, so I'm 100% sure if understand the issue
I've got a plugin[1] I use for something similar when it's a horizontal scrollable area. Scroll the boxes in the demo[2] to see the shadows appear/disappear when there is overflowed text on the left or right edge!