v7.0.0
New Features:
- add new
swipeDuration
prop - "allowable duration of a swipe"- A swipe lasting more than
swipeDuration
, in milliseconds, will not be considered a swipe.- Feature mimicked from
use-gesture
swipe.duration
- Feature mimicked from
- Defaults to
Infinity
for backwards compatibility
- A swipe lasting more than
- add new
touchEventOptions
prop 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
onTouchStartOrOnMouseDown
prop that is called fortouchstart
andmousedown
. Before a swipe even starts.- combined with
touchEventOptions
allows users the ability to now callpreventDefault
ontouchstart
- combined with
- add new
onTouchEndOrOnMouseUp
prop that is called fortouchend
andmouseup
. - add react 18 to
peerDependencies
Breaking Changes:
- we have dropped support for
es5
transpiled output- we target
es2015
for our transpilation nowswipeable
utilizes 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
passive
event listener option fortouchmove
depending 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
trackTouch
andtrackMouse
were present that triggered an erroneous swipe when the user clicked outside and above the swipeable area
Infrastructure:
- post
size-limit report
to PRs with bundle diff sizes - utilize
rollup
for build & output - upgrade lots of dev dependencies
- 🎉 upgrade to
typescript
v4.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