UNPKG

react-native-swipeable-list-view

Version:
60 lines 2.05 kB
import React from 'react'; import { Animated, View } from 'react-native'; import { GestureHandlerRootView } from 'react-native-gesture-handler'; import Swipeable from 'react-native-gesture-handler/Swipeable'; import PropTypes from 'prop-types'; const Swipelist = _ref => { let { overshootRight = false, friction = 1, rightOpenValue = 200, data, renderRightItem, renderHiddenItem, onSwipelistOpen, onSwipelistClose } = _ref; const renderRightAction = (progress, item, index) => { const transLeft = progress.interpolate({ inputRange: [0, 1], outputRange: [rightOpenValue, 1] }); return /*#__PURE__*/React.createElement(View, { style: { width: rightOpenValue } }, /*#__PURE__*/React.createElement(Animated.View, { style: { flex: 1, transform: [{ translateX: transLeft }] } }, renderHiddenItem(item, index))); }; const RenderListView = () => { return /*#__PURE__*/React.createElement(React.Fragment, null, data === null || data === void 0 ? void 0 : data.map((item, index) => /*#__PURE__*/React.createElement(View, { key: index }, /*#__PURE__*/React.createElement(GestureHandlerRootView, null, /*#__PURE__*/React.createElement(Swipeable, { renderRightActions: progress => renderRightAction(progress, item, index), onSwipeableOpen: onSwipelistOpen, onSwipeableClose: onSwipelistClose, friction: friction, overshootRight: overshootRight // rightThreshold={200} }, renderRightItem(item, index)))))); }; return /*#__PURE__*/React.createElement(RenderListView, null); }; Swipelist.propTypes = { data: PropTypes.array.isRequired, renderRightItem: PropTypes.func.isRequired, renderHiddenItem: PropTypes.func.isRequired, rightOpenValue: PropTypes.number, friction: PropTypes.number, overshootRight: PropTypes.bool, onSwipelistOpen: PropTypes.func, onSwipelistClose: PropTypes.func }; export default Swipelist; //# sourceMappingURL=Swipelist.js.map