v19.0.0
What's Changed
- feat: Upgrade to Angular 21.
- feat: Upgrade test environment from karma to vitest.
- feat: Add
NgScrollbarAnywhereservice which providescreateScrollbarandcreateScrollbarExtfunctions to attach scrollbar on any host element without having to useng-scrollbarcomponent. - feat: Add
NgScrollbarDocumentservice which add a custom scrollbar on the document element. - feat: Add
matSelectScrollbardirective that can be used to attach scrollbar onmat-selectoverlay 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-sizeoption to set a fixed scrollbar thumb size. - feat: Add more CSS variables for further scrollbar customization.
- refactor: Remove
standalonefrom all components. - refactor: Move attributes and styles to viewport elements
- refactor: Use
padding-blockandpadding-inlineproperties to set appearance option styles. - refactor: Use
inset-blockandinset-inlineproperties to set scrollbar positioning styles. - fix: Scrolling via track long click.
- fix: delay in
updateDimensionstriggered byresizeObserver, closes #698 by @sankarseran in #699. - fix: Use
inset-block-startandinset-inline-startto set spacer positioning styles.
Breaking Changes
scrollViewportdirective is removed, use the selector onexternalViewportinput instead.- When using
externalViewport, setting the value is now required. - The option
minThumbSizeis removed from the component and the global options, use the CSS variablethumb-min-sizeinstead. - The directive
AsyncDetectionhas been renamed toNgScrollbarAsyncViewport NgScrollReachedandNgScrollDroppedhas been merged intoNgScrollReachDropdirective.- In
NgScrollReachDrop, the[reachedOffset]and[droppedOffset]inputs has been removed. - The option
buttonshas been renamed towithButtons.
New Contributors
- @sankarseran made their first contribution in #699
Full Changelog: v18.0.0...v19.0.0