Skip to content

v19.0.0

Choose a tag to compare

@MurhafSousli MurhafSousli released this 17 Dec 06:14
· 8 commits to master since this release

What's Changed

  • feat: Upgrade to Angular 21.
  • feat: Upgrade test environment from karma to vitest.
  • feat: Add NgScrollbarAnywhere service which provides createScrollbar and createScrollbarExt functions to attach scrollbar on any host element without having to use ng-scrollbar component.
  • feat: Add NgScrollbarDocument service which add a custom scrollbar on the document element.
  • feat: Add matSelectScrollbar directive that can be used to attach scrollbar on mat-select overlay menu.
  • feat: Add integration with CDK virtual scroll used with cdkVirtualScrollingElement.
  • feat: <ng-scrollbar externalViewport> is now hybrid.
  • feat: Optimize scrollbar thumb size and position calculation without the need to know the track size.
  • feat: Reached and dropped directives are merged into one directive, and uses one IntersectionObserver.
  • feat: Add ng-scrollbar-overrides() SASS function to customize the scrollbar with CSS variables.
  • feat: Add thumb-size option to set a fixed scrollbar thumb size.
  • feat: Add more CSS variables for further scrollbar customization.
  • refactor: Remove standalone from all components.
  • refactor: Move attributes and styles to viewport elements
  • refactor: Use padding-block and padding-inline properties to set appearance option styles.
  • refactor: Use inset-block and inset-inline properties to set scrollbar positioning styles.
  • fix: Scrolling via track long click.
  • fix: delay in updateDimensions triggered by resizeObserver, closes #698 by @sankarseran in #699.
  • fix: Use inset-block-start and inset-inline-start to set spacer positioning styles.

Breaking Changes

  • scrollViewport directive is removed, use the selector on externalViewport input instead.
  • When using externalViewport, setting the value is now required.
  • The option minThumbSize is removed from the component and the global options, use the CSS variable thumb-min-size instead.
  • The directive AsyncDetection has been renamed to NgScrollbarAsyncViewport
  • NgScrollReached and NgScrollDropped has been merged into NgScrollReachDrop directive.
  • In NgScrollReachDrop, the [reachedOffset] and [droppedOffset] inputs has been removed.
  • The option buttons has been renamed to withButtons.

New Contributors

Full Changelog: v18.0.0...v19.0.0