A javascript scrollbar plugin that hides the native scrollbars, provides custom styleable overlay scrollbars, and preserves the native functionality and feel.
MIT License
Bot releases are visible (Hide)
Published by KingSora 3 months ago
scrollbars.clickScroll
now supports the value 'instant'
. The ClickScrollPlugin
is not required for it to work. #645
clickScroll
animation for better performance and to support in and out easing for a smoother animation.You can read further details in the corresponding changelogs.
Published by KingSora 4 months ago
clickScroll
will not cancel on fast clicks / taps. #650
clickScroll
animation.viewport
element if it has a scrollable overflow. (Otherwise take the initial scroll coordinates from the target element) #652
You can read further details in the corresponding changelogs.
Published by KingSora 5 months ago
rtlScrollBehavior
field from the Environment
object. The reason for it is a switch of how the library now detects scroll coordinates for non default flow directions. The replacement for this field is the scrollCoordinates
field of the State
object for each instance.direction: rtl
. #625
scrollCoordinates
in the State
object. It indicates the min. and max. scroll coordinates for the viewport. (useful for non default flow direction scrolling)scrollCoordinatesChanged
in the updateHints
object. It indicates whether the scroll coordinates changed in an update.zoom
detection: instead of the window.resize
event, the window.matchMedia
event is used.scroll-snapped
viewports.You can read further details in the corresponding changelogs.
Published by KingSora 7 months ago
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.
Published by KingSora 7 months ago
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.
Published by KingSora 9 months ago
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.
Published by KingSora about 1 year ago
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.
Published by KingSora about 1 year ago
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.
Published by KingSora over 1 year ago
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.
Published by KingSora over 1 year ago
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.
Published by KingSora almost 2 years ago
Read the details about this release in the corresponding changelogs:
Published by KingSora over 2 years ago
Improvements:
z-index
to cursor
.Published by KingSora over 2 years ago
Improvements:
onInitializationWithdrawn
callbackReact:
Vue:
Published by KingSora almost 4 years ago
Improvements:
z-index
of .os-padding
.Angular:
peerDependency
to >=7.0.0
to remove warnings for angular versions higher than 7OverlayScrollbarsComponent
properties from private
to public
to make it work with angularCompilerOptions.strictInputAccessModifiers
Published by KingSora about 4 years ago
Improvements:
click
event won't be propagated to the body to be closer to the native behavior..os-padding
element has now default z-index
.scrollbar-handle
size to be more accurate.RTL
(right to left) style won't be applied to the body element anymore to be closer to the native behavior.Published by KingSora over 4 years ago
Improvements:
max-content
is now used to detect the possible size if width
is not fixed. (only if supported by the browser else the old algo. is used)touchevents
from the host
element (#195)Features:
updateOnLoad
with which you can control on which elements / selectors OverlayScrollbars
shall update automatically after the emit of a load
event. Per default the value is set to ["img"]
so the plugin will updated after any img
emits a load
event. You can set it to null
to disable this auto updating entierly or add your own selectors to update only on special img
elements or on for example loaded iframes
. (#183)Bugfixes:
browser
property inside of all package.json
files (revert #166)Deprecated:
cssCalc
property inside the object which gets returned from the globals() is now deprecated and will be removed in future versions.Published by KingSora over 4 years ago
Improvements:
tabindex
attribute of the viewport element #153restrictedMeasuring
workaround (works via CSS now). Fixes #191Bugfixes:
ResizeObserver
is supported, it now detects changes in padding
in Chrome again.Published by KingSora over 4 years ago
Improvements:
scroll
method is now updated immediately after you use the scroll
method to change the position.Published by KingSora almost 5 years ago
Improvements:
MutationObserver
in connection with zone.js
freezed the browser. #168Published by KingSora about 5 years ago
Improvements:
host
element of a textarea
element now applies the focus
class if the textarea
get focused.passive
& preventDefault
e.g. non-passive
events)v-for
as direct children.