Custom overlay-scrollbars with native scrolling mechanism
cdkVirtualScrollViewport
got dependency of @angular/material/select, closes in #573.cdkVirtualScrollViewport
horizontal scrollbar not showing when orientation is vertical, closes in #571
ScrollToElement
function wrong scroll position, closes in #574
ngx-scrollbar/utils
package and split its directives into 2 sub-packages ngx-scrollbar/cdk
and ngx-scrollbar/mat
to avoid wrong dependency.scrollToElement
function, closes #268.provideSmoothScrollOptions
function to ease overriding the default smooth scroll options.offsetWidth
and offsetHeight
again instead of getBoundingClientRect
due to incorrect value when scrollbar is used in an overlay such as matSelect
.(reachedEnd)
does not work without subscribing to (reachedBottom)
.NgScrollbarReachModule
.MatSelectViewport
to NgScrollbarMatSelectViewport
.buttons
options, closes #465.swithcMap
instead of expand
for track long ongoing pointer down event.getRtlScrollAxisType
once on initialization in SmoothScrollManager
.matSelectViewport
use instant scroll function to scroll to the selected item in the list.getBoundingClientRect
in all directives instead of clientWidth
and clientHeight
for high precision calculation.Full Changelog: https://github.com/MurhafSousli/ngx-scrollbar/compare/v14.0.0-beta.5...v14.0.0-beta.6
externalSpacer
selector was set but was not found.asyncDecetion="true"
reset viewport adapter properties if viewport / content wrapper elements are removed.asyncDetection="auto"
.SAFARI
flag instead of IOS
).MutationObserver
instead of ngAfterViewChecked
to detect content in asyncDetection
directive.<ng-scrollbar externalViewport>
component.visibility="hover"
:
--scrollbar-hover-opacity-transition-enter-duration
.--scrollbar-hover-opacity-transition-leave-duration
.--scrollbar-hover-opacity-transition-leave-delay
.--scrollbar-hover-transition-duration
.--scrollbar-hover-transition-delay
.clickScrollDuration
to trackScrollDuration
.provideScrollbarOptions
to override of the default options.provideScrollbarPolyfill
to override the default scroll timeline polyfill link.asyncDetection
directive to help integration with 3rd-party libraries.ScrollbarAppearance
default value from standard
to native
.ScrollbarVisibility
value from always
to visible
.cdkVirtualScrollViewport
directive to the util package.matSelectViewport
directive to the util package, closes #537.scrollTimelinePolyfill
option to change the path of scroll timeline polyfill.throttleTime
instead of debounceTime
in case resize sensor needed to be throttled.IntersectionObserver
instead of the scroll event to detect when scroll is reached.reachedTopOffset
reachedBottomOffset
reachedStartOffset
and reachedEndOffset
in addition to reachedOffset
input.--reached-offset
, --reached-offset-top
, --reached-offset-bottom
, --reached-offset-start
and --reached-offset-end
.Options renamed:
sensorDisabled
has been renamed to disableSensor
sensorDebounce
has been renamed to sensorThrottleTime
pointerEventsDisabled
has been renamed to disableInteraction
trackClickScrollDuration
has been renamed to clickScrollDuration
(updated)
has been renamed to (afterUpdate)
Options removed:
disabled
option has been removed.viewClass
option has been removed.minThumbSize
option has been removed, use the css variable instead --scrollbar-thumb-min-size
.autoWidthDisabled
has been removed.autoHeightDisabled
option has been removed.autoWidthDisabled
option has been removed.scrollAuditTime
option has been removed since the scroll event is no longer used.windowResizeDebounce
has been removed from the global options.NgScrollbar.scrolled
has been removed, Use NgScrollbar.viewport.nativeElement
to listen to the scroll event.Usage changes:
When viewport directive is used, it requires externalViewport
attribute on the component like the following example:
<ng-scrollbar externalViewport>
<div scrollViewport>
...
</div>
</ng-scrollbar>
Note that an additional content wrapper element is required in order for the scrollbar to work properly.
Additionally, you can select the viewport by providing a selector .my-viewport
instead of using scrollViewport
directive.
<ng-scrollbar externalViewport=".my-viewport">
<div class="my-viewport">
...
</div>
</ng-scrollbar>
Full Changelog: https://github.com/MurhafSousli/ngx-scrollbar/compare/v13.0.1...v13.0.2