Embla Carousel - The next major version is here 🎉 .
Embla Carousel v.3 is here, and here's all you need to know before upgrading.
🌟 New Features
New and changed options:
- #50 - Y-axis support has been implemented
{ axis: 'x' | 'y' }. - #61 - Automatically falls back to
loop: falsewhen content isn't enough for the loop effect to work. - #19 - ContainScroll additions has been implemented as described here
{ containScroll: '' | 'trimSnaps' | 'keepSnaps' }. - Opt-out from selectedClass toggling by passing an empty string
{ selectedClass: '' }. - Opt-out from draggableClass by passing an empty string
{ draggableClass: '' }. - Opt-out from draggingClass toggling by passing an empty string
{ draggingClass: '' }. - Choose in view threshold for slides in view
{ inViewThreshold: 0.5 }. Pass a number between 0 and 1 representing percentage of each slide size that needs to be visible in the carousel viewport in order to be considered in view. Ex: 0.5 = 50% of a slide needs to be in view.
New API methods:
slidesInView()- Get a list of slide indexes within the carousel viewport.slidesNotInView()- Get a list of slide indexes not within the carousel viewport.
💔 Breaking Changes
Renamed events:
dragStarthas been renamed topointerDown.dragEndhas been renamed topointerUp.
Deprecated API methods:
scrollBy()has been removed.scrollToProgress()has been removed.
Deprecated API method parameters:
target : booleanfor the API methodscrollProgress()has been removed.
Changed options:
containScrollis now a string. An empty string equals the previous behavior when it wasfalse. The previoustruevalue is now named'trimSnaps'.
Changed API methods:
changeOptions()has been renamed toreInit().scrollSnapList()now returns an array of numbers representing the scroll progress for each snap point. Indexes and slide nodes per snap point has been removed.
🛠️ Bugfixes
- #65 - Opened by @ontrigger.
- #46 - Opened by @olushchik.