Releases: Grsmto/simplebar
Releases · Grsmto/simplebar
[email protected]
v7.0.0-beta
Major
- Drop support for browsers that do not support scrollbar hiding via CSS. This means the following elements have been removed from the template:
.simplebar-height-auto-observer-wrapper
and.simplebar-height-auto-observer
.simplebar-mask
.simplebar-offset
.simplebar-placeholder
- Improve RTL support
- Performance improvements on runtime with caching, reduction of JS bundle size
- Easier styling with new CSS variables:
--simplebar-scrollbar-thickness: XXpx;
,--simplebar-track-thickness: XXpx;
React
- Add support for
onScroll
event
v6.0.0
Major
SimpleBar has been (almost )entirely rewritten in TypeScript!
core
⚠️ SimpleBar v6 does not use any polyfill anymore by default!
If you see any error in a browser you want support for, you might need a polyfill!
You can use Babel@babel/preset-env
to polyfill for you, see our examples package or check out polyfill.io.timeout
option is now deprecated. It is now only made with a CSS transition that you can override with CSS as you want.mutation-observer
polyfill is not shipped by default anymore.core-js
is not included anymore. We now use TypeScript instead of Babel so polyfilling is up to you!- Bundle is much smaller!
- New useful classes on host element:
.simplebar-hover
,
.simplebar-mouse-entered
,
.simplebar-scrolling
,
.simplebar-scrollable
. - Scrollbar recalculations are now throttled with RAQ instead of Lodash's throttle function, which prevents stuttering on animations (#507)
simplebar-react
- CSS import is now
import 'simplebar-react/dist/simplebar.min.css'
. There was a typo in the doc for simplebar-react that was importing fromsimplebar
and this is now fixed. Sorry about that!
simplebar-vue
- Remove support for Vue < 2.7. Thanks again @renatodeleao for all the work on that.
[email protected]
v5.0.7: Publish
⚠️ Breaking changes!
simplebar-angular
- Remove extra div wrapping the host element and breaking layout in some scenarios. (#408)
- Use
simplebar-core
instead of general package to reduce bundle size.
🐞 Bug Fixes
simplebar-core
- Fix SimpleBar not initialising when element is initially hidden (#406)
simplebar-react
- Fix passing
scrollableNodeRef
not working (#409)
simplebar-angular
- Component should now destroy properly
v5
⚠️ Breaking changes!
simplebar-core
- SimpleBar does not mutate the attached DOM node anymore. This means that if you want to retrieve SimpleBar instance on an element that has been instantiated with
[data-simplebar]
DOM attribute, you will need to do the following:
SimpleBar.instances.get(document.querySelector('[data-simplebar]']))
more infos: #326
simplebar-react
- You can now pass options "the React way" instead of using data attributes:
data-simplebar-auto-hide="false"
—>autoHide="false"
The data attribute way is now deprecated as it was coming at the cost of a complex function to retrieve the options. It will be removed in future releases.
⚙️ Features
simplebar-core
- Cache the scrollbar width for the life of the application (#373) Thanks @abettadapur !
- Bring back MutationObserver to fix an issue where resizeObserver couldn't detect horizontal overflow (#377)
- Support for click on track (#178)
simplebar-react
- Support a new render-prop pattern so you can get access to refs to DOM nodes. This means compatibility with libraries like React-window or React-select v2+!
- Lighter/faster as it's now using
simplebar-core
and does not comes with a global mutation observer anymore. - TypeScript definitions (#346) Thanks @chrisparton1991 !
v4.2.0
🐞 Bug Fixes
simplebar
- Fix event listener not being unregistered after unmount (thanks @stasiakm)
- Fix event listener not being
passive
and throwing warning on Chrome (thanks @EmilyRosina)
⚙️ Features
simplebar-react
- Add basic TS types definition (thanks @chrisparton1991)
v4.1.0
v4.0.0
⚠️ Breaking change!
- There is a new wrapper inside the generated HTML:
.simplebar-content-wrapper
. So if you were depending on the DOM order, it might break your implementation.
Also cause of this change, getScrollElement()
does not return anymore the content element.
You will need to use getContentElement()
instead.
- SimpleBar does not apply
height: inherit
to the container anymore.
**So if you are seeing the native scrollbar after upgrading it's probably because you didn't apply a size to your element before applying SimpleBar to it! **
Try to setheight: 100%
to your element, in most cases it should solves it.
🐞 Bug Fixes
simplebar
- Use Terser instead of Uglify to fix a production only bug bf07b37
- autoHide option not applied if DOM already built (fix #262) d9a2c73
- SimpleBar now recalculates properly when a children size is changing (on hover for example)
- Using a
display: flex
layout is now more widely supported (fix #253 #243) 0c7659f - Tracks and scrollbars do not trigger a native scroll anymore in certain scenarios f6ea771
- Avoid SimpleBar to be instantiated twice on the same node (#295) 3bb3f81
- Fix infinite loop recalculation when the scrollbar is already floating (mobile, mac OSX) 24f205d (#242) thanks
⚙️ Features
simplebar-react
- Now supports passing props to scrollable node 44867d7
simplebar
- Add "dragging" class when scrollbar is dragged (fix #258 #268) c42e7e4
- Avoid unnecessary array copies for NodeList iteration b30aca2 (by @andersk)
Thanks for the great contributions @andersk James Camilleri @ZerglingGo @jcamilleri13 @mikhailsidorov @HitoriSensei