Skip to content

Releases: MurhafSousli/ngx-scrollbar

v14.0.0-beta.2

22 Feb 00:40
Compare
Choose a tag to compare
v14.0.0-beta.2 Pre-release
Pre-release
  • 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 from standard to native.
  • Rename ScrollbarVisibility value from always to visible.

v14.0.0-beta.1

18 Feb 02:10
Compare
Choose a tag to compare
v14.0.0-beta.1 Pre-release
Pre-release

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 of debounceTime 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 and reachedEndOffset in addition to reachedOffset 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 to orientation
    • 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:

    • 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, 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>

v13.0.2

19 Jul 01:56
Compare
Choose a tag to compare

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

25 Jun 01:55
Compare
Choose a tag to compare

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 with map

Full Changelog: v13.0.0...v13.0.1

v13.0.0

22 Jun 01:15
Compare
Choose a tag to compare

What's Changed

Breaking changes

  • SmoothScrollModule has been removed, you can import SmoothScroll directive directly instead!
  • NgScrollModule.withConfig() function has been removed, use NG_SCROLLBAR_OPTIONS to set the global config instead!

Full Changelog: v12.0.1...v13.0.0

v12.0.1

22 Jun 01:00
Compare
Choose a tag to compare

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

21 May 14:13
7d9a05f
Compare
Choose a tag to compare

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

15 Feb 02:46
aef945d
Compare
Choose a tag to compare

11.0.0

v10.0.1

07 Aug 01:44
c2bc760
Compare
Choose a tag to compare

What's Changed

Full Changelog: v10.0.0...v10.0.1

v10.0.0

07 Jun 10:48
9833f85
Compare
Choose a tag to compare