Releases: MurhafSousli/ngx-scrollbar
Releases · MurhafSousli/ngx-scrollbar
v14.0.0-beta.2
- feat: Add a provider function
provideScrollbarOptions
to override of the default options. - feat: Add a provider function
provideScrollbarPolyfill
to override the default scroll timeline polyfill link. - feat: Add
asyncDetection
directive to help integration with 3rd-party libraries.
Breaking changes
- Rename
ScrollbarAppearance
default value fromstandard
tonative
. - Rename
ScrollbarVisibility
value fromalways
tovisible
.
v14.0.0-beta.1
The core package has been written from scratch ✨
- feat: Significant performance improvement, the scrollbar does not rely on the scroll event anymore.
updating scroll thumb position is done via native CSS which means the calculation is done on the browser background worker. - feat: Auto-height feature is default now, the component behaves like a standard HTML element and will fit its content out of the box.
- feat: Mimic the scroll behavior when the track is clicked.
- feat: Add
cdkVirtualScrollViewport
directive to the util package. - feat: Add
matSelectViewport
directive to the util package, closes #537. - feat: Add
scrollTimelinePolyfill
option to change the path of scroll timeline polyfill. - enhance: Add payload to differentiate update cause, closes #517.
- enhance: Use
throttleTime
instead ofdebounceTime
in case resize sensor needed to be throttled. - fix: scrollbar disappearing on Firefox/Safari when reaching bottom/end, closes #529.
- fix: scroll position when the track is clicked
Reached events package has been written from scratch ✨
- feat: Use the
IntersectionObserver
instead of the scroll event to detect when scroll is reached. - feat: Add
reachedTopOffset
reachedBottomOffset
reachedStartOffset
andreachedEndOffset
in addition toreachedOffset
input. - feat: Alternatively, you can accomplish the same using the new CSS variables
--reached-offset
,--reached-offset-top
,--reached-offset-bottom
,--reached-offset-start
and--reached-offset-end
. - fix: Scrolled Event triggered after Reached Event, closes #521.
- fix: reachedBottom output broke scrollbar layout inside mat-select, closes #531.
Breaking changes
-
Options renamed:
track
has been renamed toorientation
sensorDisabled
has been renamed todisableSensor
sensorDebounce
has been renamed tosensorThrottleTime
pointerEventsDisabled
has been renamed todisableInteraction
trackClickScrollDuration
has been renamed toclickScrollDuration
(updated)
has been renamed to(afterUpdate)
-
Options removed:
pointerEventsMethod
options has been 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.- The stream
NgScrollbar.scrolled
has been removed, UseNgScrollbar.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>
v13.0.2
What's Changed
- fix: scrollViewport directive removes custom CSS classes applied on the viewport element, closes #505 in 8e1f663.
Full Changelog: v13.0.1...v13.0.2
v13.0.1
What's Changed
- feat: Add reached event unit tests.
- fix: Reached event is not fired, closes #495 in 5233793.
- enhance: Reached directives should subscribe to the scroll event outside angular zone.
- refactor: Replace the usage of the deprecated
pluck
RXJS operator withmap
Full Changelog: v13.0.0...v13.0.1
v13.0.0
What's Changed
- feat: Angular standalone mode by @MurhafSousli in #493
Breaking changes
SmoothScrollModule
has been removed, you can importSmoothScroll
directive directly instead!NgScrollModule.withConfig()
function has been removed, useNG_SCROLLBAR_OPTIONS
to set the global config instead!
Full Changelog: v12.0.1...v13.0.0
v12.0.1
What's Changed
- fix(deps): remove @types/bezier-easing by @greut in #489
- fix: when enable strictTemplates, incorrect types error on boolean value for input properties by @dylannnn in #492
New Contributors
Full Changelog: v12.0.0...v12.0.1
v12.0.0
What's Changed
- Update to Angular 16 by @MurhafSousli in #482
- Remove
bezier-easing
package from dependencies
Full Changelog: v11.0.0...v12.0.0
v11.0.0
v10.0.1
What's Changed
- Fix broken CDK virtual scroll integration by @MurhafSousli in #449
Full Changelog: v10.0.0...v10.0.1