v3.0.0 - Embla - More powerful than ever!
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: false
when 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:
dragStart
has been renamed topointerDown
.dragEnd
has been renamed topointerUp
.
Deprecated API methods:
scrollBy()
has been removed.scrollToProgress()
has been removed.
Deprecated API method parameters:
target : boolean
for the API methodscrollProgress()
has been removed.
Changed options:
containScroll
is now a string. An empty string equals the previous behavior when it wasfalse
. The previoustrue
value 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.