Swipeable
Provides both swipeable icon or text. Mostly used for ListItems.
Preview

Swipeable has two modes:
Action on click
Action on release
Code sample
Action on click - with icons
import { Swipeable } from '@dormakaba/digital-reactnative-visual';
<Swipeable
rightButtons={[
<Swipeable.Icon icon="icon-recyclebin" error onPress={() => {}} ></Swipeable.Icon>
]}
leftButtons={[
<Swipeable.Icon left icon="icon-admin" info onPress={() => {}} ></Swipeable.Icon>,
<Swipeable.Icon left icon="icon-success" success onPress={() => {}} ></Swipeable.Icon>
]}
>
<List.Item onPress={() => {}} icon="icon-persons">
<Text>With Buttons</Text>
</List.Item>
</Swipeable>
Action on click - with text
import { Swipeable } from '@dormakaba/digital-reactnative-visual';
<Swipeable
leftButtonWidth={100}
rightButtonWidth={100}
rightButtons={[
<Swipeable.Text error onPress={() => {}} >Delete</Swipeable.Text>
]}
leftButtons={[
<Swipeable.Text left info onPress={() => {}} >Permanently closed</Swipeable.Text>,
<Swipeable.Text left success onPress={() => {}} >Remote Open</Swipeable.Text>
]}
>
<List.Item onPress={() => {}} icon="icon-persons">
<Text>With Buttons</Text>
</List.Item>
</Swipeable>
Action on release - with icon
import { Swipeable } from '@dormakaba/digital-reactnative-visual';
class WithIcon extends React.Component {
state = {
rightActionActivated: false,
toggle: false
};
render() {
const {rightActionActivated, toggle} = this.state;
return (
<Swipeable
rightActionActivationDistance={100}
rightContent={
!rightActionActivated ?
<Swipeable.Icon icon="icon-recyclebin" error onPress={action('clicked-button')} ></Swipeable.Icon> :
<Swipeable.Icon icon="icon-success" success onPress={action('clicked-button')} ></Swipeable.Icon>
}
onRightActionActivate={() => this.setState({rightActionActivated: true})}
onRightActionDeactivate={() => this.setState({rightActionActivated: false})}
onRightActionComplete={() => this.setState({toggle: !toggle})}
>
<List.Item onPress={() => {}} icon="icon-persons">
<Text>With Swipe action</Text>
</List.Item>
</Swipeable>
);
}
}
Action on release - with text
import { Swipeable } from '@dormakaba/digital-reactnative-visual';
class Example2 extends React.Component {
state = {
rightActionActivated: false,
toggle: false
};
render() {
const {rightActionActivated, toggle} = this.state;
return (
<Swipeable
rightActionActivationDistance={100}
rightContent={
!rightActionActivated ?
<Swipeable.Text error onPress={action('clicked-button')} >Delete</Swipeable.Text> :
<Swipeable.Text success onPress={action('clicked-button')} >Delete on Release</Swipeable.Text>
}
onRightActionActivate={() => this.setState({rightActionActivated: true})}
onRightActionDeactivate={() => this.setState({rightActionActivated: false})}
onRightActionComplete={() => this.setState({toggle: !toggle})}
>
<List.Item onPress={() => {}} icon="icon-persons">
<Text>With Swipe action</Text>
</List.Item>
</Swipeable>
);
}
}
Props
Swipeable
prop
type
description
leftContent
renderable
(optional) left content visible during pull action
rightContent
renderable
(optional) right content visible during pull action
leftButtons
renderable[]
(optional) array of buttons, first being the innermost; ignored if leftContent
present
rightButtons
renderable[]
(optional) array of buttons, first being the innermost; ignored if rightContent
present
leftActionActivationDistance
integer
(optional) minimum swipe distance to activate left action
onLeftActionRelease
function
(optional) user has swiped beyond leftActionActivationDistance
and released
rightActionActivationDistance
integer
(optional) minimum swipe distance to activate right action
onRightActionRelease
function
(optional) user has swiped beyond rightActionActivationDistance
and released
leftButtonWidth
integer
(optional) resting visible peek of each left button after buttons are swiped open
rightButtonWidth
integer
(optional) resting visible peek of each right button after buttons are swiped open
onRef
function
(optional) receive swipeable component instance reference
onPanAnimatedValueRef
function
(optional) receive swipeable pan Animated.ValueXY
reference for upstream animations
Swipeable.Icon
Name
Type
Description
icon
string
name of icon to show
*
set color with any of info
, warning
, error
, success
onPress
function
action to trigger on press
left
boolean
used in leftButtons or leftContent
Swipeable.Text
Name
Type
Description
children
string
text to show
*
set color with any of info
, warning
, error
, success
onPress
function
action to trigger on press
left
boolean
used in leftButtons or leftContent
Last updated