Skip to content

Commit e2d8f2a

Browse files
committed
add swipeDamping prop
1 parent ae021ee commit e2d8f2a

File tree

2 files changed

+15
-12
lines changed

2 files changed

+15
-12
lines changed

README.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,17 @@ enum OpenDirection {
3939
}
4040
```
4141

42-
| Name | Type | Description |
43-
| :-------------------- | :---------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------- |
44-
| `renderUnderlayLeft` | `RenderUnderlay` | Component to be rendered underneath row on left swipe. |
45-
| `renderUnderlayRight` | `RenderUnderlay` | Component to be rendered underneath row on left swipe. |
46-
| `snapPointsLeft` | `number[]` | Pixel values left-swipe snaps to (eg. [100, 300]) |
47-
| `snapPointsRight` | `number[]` | Pixel values right-swipe snaps to (eg. [100, 300]) |
48-
| `renderOverlay` | `RenderOverlay` | Component to be rendered on top. Use if you need access to programmatic open/close methods. May altenatively pass children to SwipeableItem. |
49-
| `onChange` | `(params: { open: OpenDirection, snapTo: number }) => void` | Called when row is opened or closed. |
50-
| `swipeEnabled` | `boolean` | Enable/disable swipe. Defaults to `true`. |
51-
| `activationThreshold` | `number` | Distance finger must travel before swipe engages. Defaults to 20. |
42+
| Name | Type | Description |
43+
| :-------------------- | :---------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
44+
| `renderUnderlayLeft` | `RenderUnderlay` | Component to be rendered underneath row on left swipe. |
45+
| `renderUnderlayRight` | `RenderUnderlay` | Component to be rendered underneath row on left swipe. |
46+
| `snapPointsLeft` | `number[]` | Pixel values left-swipe snaps to (eg. `[100, 300]`) |
47+
| `snapPointsRight` | `number[]` | Pixel values right-swipe snaps to (eg. `[100, 300]`) |
48+
| `renderOverlay` | `RenderOverlay` | Component to be rendered on top. Use if you need access to programmatic open/close methods. May altenatively pass children to SwipeableItem. |
49+
| `onChange` | `(params: { open: OpenDirection, snapTo: number }) => void` | Called when row is opened or closed. |
50+
| `swipeEnabled` | `boolean` | Enable/disable swipe. Defaults to `true`. |
51+
| `activationThreshold` | `number` | Distance finger must travel before swipe engages. Defaults to 20. |
52+
| `swipeDamping` | `number` | How much swipe velocity determines snap position. A smaller number means swipe velocity will have a larger effect and row will swipe open more easily. Defaults to `10`. |
5253

5354
### Instance Methods
5455

src/index.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ type Props<T> = {
8383
swipeEnabled?: boolean;
8484
snapPointsLeft?: number[];
8585
snapPointsRight?: number[];
86+
swipeDamping?: number;
8687
};
8788

8889
class SwipeableItem<T> extends React.PureComponent<Props<T>> {
@@ -93,7 +94,8 @@ class SwipeableItem<T> extends React.PureComponent<Props<T>> {
9394
activationThreshold: 20,
9495
swipeEnabled: true,
9596
snapPointsLeft: [],
96-
snapPointsRight: []
97+
snapPointsRight: [],
98+
swipeDamping: 10
9799
};
98100

99101
state = {
@@ -207,7 +209,7 @@ class SwipeableItem<T> extends React.PureComponent<Props<T>> {
207209
// Approximate where item would end up with velocity taken into account
208210
velocityModifiedPosition = add(
209211
this.animState.position,
210-
divide(this.velocity, 10)
212+
divide(this.velocity, this.props.swipeDamping!)
211213
);
212214

213215
// This beautiful little snippet stolen from

0 commit comments

Comments
 (0)