Skip to content

Releases: MurhafSousli/ngx-scrollbar

v16.1.1

30 Nov 00:50
Compare
Choose a tag to compare

What's Changed

  • fix: Bug with visibility="visible" closes #674.
  • refactor: In effects, move onCleanup function inside untracked function in the PointerEventsAdapter class.
  • refactor: Use from instead of fromPromise to convert a promise to observable.

Full Changelog: v16.1.0...v16.1.1

v16.1.0

13 Nov 02:02
Compare
Choose a tag to compare

What's Changed

  • feat: Disable / Suppress the scroll bar during runtime, in #658.
  • fix: Wrong track size when used in 3rd party dropdown components, in #669.
  • fix: Scrollbar buttons icons not showing in Safari, in #664.

Full Changelog: v16.0.0...v16.1.0

v16.0.0

26 Sep 05:20
Compare
Choose a tag to compare

What's Changed

  • feat: scrollViewport directive can be a descent child, not necessarily a direct child of <ng-scrollbar externalViewport>.
  • feat: Add start, end, right, bottom and center options to scrollToElement (supports RTL), closes #637.
  • feat: Add syncSpacer directive that is applied on <ng-scrollbar externalViewport> component to sync spacer element with content dimension changes.
  • fix: ResizeObserver loop completed with undelivered notifications, closes #650.
  • enhance: Improve scrollbar rendering speed that uses externalViewport such as integrating with 3rd party library.
  • enhance: Use the shared resize observer from the CDK to do the necessary calculation.
  • enhance: asyncDetection Use the content observer service from the CDK to detect viewport and content wrapper elements.
  • enhance: use --scrollbar-thumb-hover-color not only when hovered but also when active.
  • enhance: track and thumb controls uses more accurate measures using getBoundingClientRect instead of direct size properties.
  • refactor: Switch to InputSignal instead of standards inputs across components.
  • refactor: Use effects instead of ngOnInit to initialize the scrollbar component.
  • refactor: Remove scrollViewport directive from ng-scrollbar hostDirectives because it's redundant.
  • refactor: the TrackAdapter now uses viewport & content dimension signals to update the track size instead of ResizeObserver events.

Breaking changes

  • Minimum compatibility is Angular v17.3.0
  • The directive cdkVirtualScrollViewport no longer accepts auto value, instead use syncSpacer
    • Before <ng-scrollbar externalViewport cdkVirtualScrollViewport="auto">
    • After <ng-scrollbar externalViewport cdkVirtualScrollViewport syncSpacer>

Full Changelog: v15.1.3...v16.0.0

v16.0.0-beta.2

25 Sep 03:20
Compare
Choose a tag to compare
v16.0.0-beta.2 Pre-release
Pre-release

What's Changed

  • feat: scrollViewport directive can be a descent child, not necessarily a direct child of <ng-scrollbar externalViewport>.
  • feat: Add start, end, right, bottom and center options to scrollToElement (supports RTL), closes #637.
  • feat: Add syncSpacer directive that is applied on <ng-scrollbar externalViewport> component to sync spacer element with content dimension changes.
  • fix: ResizeObserver loop completed with undelivered notifications, closes #650.
  • enhance: Improve scrollbar rendering speed that uses externalViewport such as integrating with 3rd party library.
  • enhance: Use the shared resize observer from the CDK to do the necessary calculation.
  • enhance: asyncDetection Use the content observer service from the CDK to detect viewport and content wrapper elements.
  • enhance: use --scrollbar-thumb-hover-color not only when hovered but also when active.
  • enhance: track and thumb controls uses more accurate measures using getBoundingClientRect instead of direct size properties.
  • refactor: Switch to InputSignal instead of standards inputs across components.
  • refactor: Use effects instead of ngOnInit to initialize the scrollbar component.
  • refactor: Remove scrollViewport directive from ng-scrollbar hostDirectives because it's redundant.
  • refactor: the TrackAdapter now uses viewport & content dimension signals to update the track size instead of ResizeObserver events.

Breaking changes

  • Minimum compatibility is Angular v17.3.0

Full Changelog: v15.1.3...v16.0.0-beta.2

v15.1.3

25 Aug 06:30
Compare
Choose a tag to compare

What's Changed

  • enhance: Use injection factory for NG_SCROLLBAR_OPTIONS and NG_SCROLLBAR_POLYFILL to avoid merging custom options with the default options for every scrollbar component.
  • refactor: Use self option when injecting NgScrollbar component in all addon directives.
  • fix: Scrollbar with externalViewport attached scrollbar not destroyed properly causing memory leak, closes #611.

Full Changelog: v15.1.2...v15.1.3

v15.1.2

29 Jul 01:21
Compare
Choose a tag to compare

What's Changed

  • Set the latest fixed polyfill CDN as default.
  • Update Typescript to v5.5.4, closes #633.

Full Changelog: v15.1.1...v15.1.2

v15.1.1

25 Jul 01:17
Compare
Choose a tag to compare

What's Changed

Full Changelog: v15.1.0...v15.1.1

v15.1.0

11 Jul 03:11
Compare
Choose a tag to compare

What's Changed

  • feat: Add a new option hoverOffset to activate hover effect on the offset area around the scrollbar, closes #616.
  • fix: Scrollbar thumb color is not changing on hover, closes #625.

Full Changelog: v15.0.4...v15.1.0

v15.0.4

08 Jul 22:29
Compare
Choose a tag to compare

What's Changed

  • fix: global Angular app styles gets broken in Firefox, closes #615.

Full Changelog: v15.0.3...v15.0.4

v15.0.3

07 Jul 03:49
Compare
Choose a tag to compare

What's Changed

  • feat: Ability to set the scrollbar CSS variables from :root or any parent selector, closes #591 and #606.

Full Changelog: v15.0.1...v15.0.2, v15.0.2...v15.0.3