v7.0.0
New Features:
- add new
swipeDurationprop - "allowable duration of a swipe"- A swipe lasting more than
swipeDuration, in milliseconds, will not be considered a swipe.- Feature mimicked from
use-gestureswipe.duration
- Feature mimicked from
- Defaults to
Infinityfor backwards compatibility
- A swipe lasting more than
- add new
touchEventOptionsprop that can set the options for the touch event listeners- this provides users full control of if/when they want to set passive
- Defaults to
{ passive: true }
- add new
onTouchStartOrOnMouseDownprop that is called fortouchstartandmousedown. Before a swipe even starts.- combined with
touchEventOptionsallows users the ability to now callpreventDefaultontouchstart
- combined with
- add new
onTouchEndOrOnMouseUpprop that is called fortouchendandmouseup. - add react 18 to
peerDependencies
Breaking Changes:
- we have dropped support for
es5transpiled output- we target
es2015for our transpilation nowswipeableutilizes object/array spread & const/let natively
- we target
preventScrollOnSwipe- "new" prop. ReplacespreventDefaultTouchmoveEvent- same functionality but renamed to be more explicit on its intended use
- fixed bug - where toggling this prop did not re-attach event listeners
- update - we now only change the
passiveevent listener option fortouchmovedepending on this prop- see notes in README for more details readme#passive-listener
- Thank you @stefvhuynh
Bug fixes:
- fix bug where directional swiped check allowed
undefined/falsy values to setcancelablePageSwipe - fix bug when both
trackTouchandtrackMousewere present that triggered an erroneous swipe when the user clicked outside and above the swipeable area
Infrastructure:
- post
size-limit reportto PRs with bundle diff sizes - utilize
rollupfor build & output - upgrade lots of dev dependencies
- 🎉 upgrade to
typescriptv4.6.3
- 🎉 upgrade to
- export/outputs housekeeping and cleaning (mimicked from
react-redux)- removed/renamed exports from
package.json:browser,umd:main(renameddist),jsnext:main(usemodule),typings(usetypes)
- moved exports - old => new
"main": "./dist/react-swipeable.js"=>"main": "./lib/index.js""module": "./dist/react-swipeable.module.js"=>"module": "es/index.js""types": "./dist/index.d.ts"=>"types": "./es/index.d.ts"
- removed/renamed exports from