A javascript scrollbar plugin that hides native scrollbars, provides custom styleable overlay scrollbars and keeps the native functionality and feeling.
deno
and bun
.body
element is now detected as such when the tag name of the target element is "body"
. Previously this detection was done with target === target.ownerDocument.body
which would not work when creating a new body element in memory.elements.viewport
element is provided during initialization its scroll position will be taken as the initial scroll position instead of the scroll position of the target
element.scrollbars.autoHideDelay
will now apply when the scrollbars would be auto hidden when the interaction ends.You can read further details in the corresponding changelogs.
focusin
and focusout
to the focus and blur event management when wrapping and unwrapping elements. #605
scrollbars.visibility
option was unintuitive to use for adjusting visibility per axis. Its now only applied if the scrollbars scroll axis is able to have a scrollable overflow. #611
You can read further details in the corresponding changelogs.
IE11
support in this version. This change should be beneficial to the majority of users.
~6%
.~18%
.flexboxGlue
and cssCustomProperties
are removed from the Environment
. (returning object from OverlayScrollbars.env()
)You can read further details in the corresponding changelogs.
OverlayScrollbars.plugin
function returns a "static" plugins instance(s) for the registered plugins.instance.plugin
function which returns a "instance" plugins instance.resize
events will now update instances only if it is needed and only what is needed.You can read further details in the corresponding changelogs.
scrollbars.autoHideSuspend
to make it possible to suspend the autoHide functionality until the first scroll interaction was performed. The default value for this option is false
for backwards compatibility reasons but is recommended to be true
for better accessibility.0
sometimes after initialization when the target was the body
element.You can read further details in the corresponding changelogs.
scroll-behavior
css property to be auto
when the user interacts with a scrollbar to prevent smooth scrolling to apply where it shouldn't. #515
viewort
, padding
and content
elements don't use the class
attribute anymore for their styling. Instead each of them uses its own data-overlayscrollbars-*
attribute. This has been done so that 3rd party libraries aren't conflicting with classnames from overlayscrollbars or vice versa. Selectors like .os-viewport
, .os-padding
or .os-content
won't work anymore. #526 #530
You can read further details in the corresponding changelogs.
RTL
direction wasn't detected properly.CSS Custom Properties
to improve theming and styling of scrollbars. (#478)You can read further details in the corresponding changelogs.
Read the details about this release in the corresponding changelogs:
Improvements:
z-index
to cursor
.Improvements:
onInitializationWithdrawn
callbackReact:
Vue: