react-swipeable-list

Swipeable list component for React.

React Swipeable List component

A control to render list with swipeable items. Items can have action on left and right swipe. Swipe action triggering can be configured.

Installation

npm install sandstreamdev/react-swipeable-list # or via yarn yarn add sandstreamdev/react-swipeable-list

Usage

<SwipeableList> <SwipeableListItem swipeLeft={{ content: <div>Revealed content during swipe</div>, action: () => console.info('swipe action triggered') }} swipeRight={{ content: <div>Revealed content during swipe</div>, action: () => console.info('swipe action triggered') }} > <div>Item name</div> </SwipeableListItem> </SwipeableList>

NOTE: SwipeableListItem can be used without SwipeableList but swipe blocking on scroll needs to be handled.

SwipeableList Props

threshold

Type: number

How far swipe needs to be done to trigger attached action. 0.5 means that item needs to be swiped to half of its width, 0.25 - one-quarter of width.

SwipeableListItem Props

blockSwipe

Type: boolean (default: false )

If set to true all defined swipe actions are blocked. This is done by SwipeableList during scroll to prevent mouse move events to cause accidental swiping acitions.

swipeLeft

Type: Object

Data for defining left swipe action and rendering content after item is swiped. The object requires following structure:

{ action, // required: swipe action (function) content, // required: HTML or React component }

swipeRight

Type: Object

Same as swipeLeft but to right. :wink:

threshold

Type: number (default: 0.5 )

Can be set for whole list or for every item. See threshold for SwipeableList .

GitHub