@uiw/react-native
Version:
UIW for React Native
82 lines (70 loc) • 8.77 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _reactNativeSwipeout = _interopRequireDefault(require("react-native-swipeout"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
class SwipeAction extends _react.default.Component {
renderCustomButton(button) {
const buttonStyle = button.style;
const bgColor = buttonStyle ? buttonStyle.backgroundColor : 'transparent';
const Component = <_reactNative.View // eslint-disable-next-line react-native/no-inline-styles
style={{
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: bgColor
}}>
{_react.default.isValidElement(button.text) ? button.text : // eslint-disable-next-line react-native/no-inline-styles
<_reactNative.Text style={[buttonStyle, {
textAlign: 'center'
}]}>{button.text}</_reactNative.Text>}
</_reactNative.View>;
return {
text: button.text || 'Click',
onPress: button.onPress,
type: 'default',
component: Component,
backgroundColor: 'transparent',
color: '#999',
disabled: false
};
}
render() {
const {
disabled,
autoClose,
style,
left,
right,
onOpen,
onClose,
children,
...restProps
} = this.props;
const customLeft = left && left.map(btn => {
return this.renderCustomButton(btn);
});
const customRight = right && right.map(btn => {
return this.renderCustomButton(btn);
});
return customLeft || customRight ? <_reactNativeSwipeout.default autoClose={autoClose} left={customLeft} right={customRight} style={style} onOpen={onOpen} onClose={onClose} disabled={disabled} {...restProps}>
{children}
</_reactNativeSwipeout.default> : <_reactNative.View style={style} {...restProps}>
{children}
</_reactNative.View>;
}
}
SwipeAction.defaultProps = {
autoClose: false,
disabled: false,
onOpen() {},
onClose() {}
};
var _default = SwipeAction;
exports.default = _default;
module.exports = exports.default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Td2lwZUFjdGlvbi9pbmRleC50c3giXSwibmFtZXMiOlsiU3dpcGVBY3Rpb24iLCJSZWFjdCIsIkNvbXBvbmVudCIsInJlbmRlckN1c3RvbUJ1dHRvbiIsImJ1dHRvbiIsImJ1dHRvblN0eWxlIiwic3R5bGUiLCJiZ0NvbG9yIiwiYmFja2dyb3VuZENvbG9yIiwiZmxleCIsImp1c3RpZnlDb250ZW50IiwiYWxpZ25JdGVtcyIsImlzVmFsaWRFbGVtZW50IiwidGV4dCIsInRleHRBbGlnbiIsIm9uUHJlc3MiLCJ0eXBlIiwiY29tcG9uZW50IiwiY29sb3IiLCJkaXNhYmxlZCIsInJlbmRlciIsImF1dG9DbG9zZSIsImxlZnQiLCJyaWdodCIsIm9uT3BlbiIsIm9uQ2xvc2UiLCJjaGlsZHJlbiIsInJlc3RQcm9wcyIsInByb3BzIiwiY3VzdG9tTGVmdCIsIm1hcCIsImJ0biIsImN1c3RvbVJpZ2h0IiwiZGVmYXVsdFByb3BzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7QUFXQSxNQUFNQSxXQUFOLFNBQTBCQyxlQUFNQyxTQUFoQyxDQUE0RDtBQU8xREMsRUFBQUEsa0JBQWtCLENBQUNDLE1BQUQsRUFBOEI7QUFDOUMsVUFBTUMsV0FBVyxHQUFHRCxNQUFNLENBQUNFLEtBQTNCO0FBQ0EsVUFBTUMsT0FBTyxHQUFHRixXQUFXLEdBQUdBLFdBQVcsQ0FBQ0csZUFBZixHQUFpQyxhQUE1RDtBQUNBLFVBQU1OLFNBQVMsR0FDYixtQkFDRTtBQUNBLFVBQU0sQ0FBQztBQUNMTyxNQUFBQSxJQUFJLEVBQUUsQ0FERDtBQUVMQyxNQUFBQSxjQUFjLEVBQUUsUUFGWDtBQUdMQyxNQUFBQSxVQUFVLEVBQUUsUUFIUDtBQUlMSCxNQUFBQSxlQUFlLEVBQUVEO0FBSlosS0FBRCxDQUZSO0FBU04sUUFBUSxDQUFDTixlQUFNVyxjQUFOLENBQXFCUixNQUFNLENBQUNTLElBQTVCLElBQ0NULE1BQU0sQ0FBQ1MsSUFEUixHQUdDO0FBQ0EseUJBQU0sTUFBTSxDQUFDLENBQUNSLFdBQUQsRUFBYztBQUFFUyxRQUFBQSxTQUFTLEVBQUU7QUFBYixPQUFkLENBQUQsQ0FBWixDQUFxRCxDQUFDVixNQUFNLENBQUNTLElBQVIsQ0FBYSxvQkFKcEU7QUFNUixNQUFNLG9CQWhCRjtBQWtCQSxXQUFPO0FBQ0xBLE1BQUFBLElBQUksRUFBRVQsTUFBTSxDQUFDUyxJQUFQLElBQWUsT0FEaEI7QUFFTEUsTUFBQUEsT0FBTyxFQUFFWCxNQUFNLENBQUNXLE9BRlg7QUFHTEMsTUFBQUEsSUFBSSxFQUFFLFNBSEQ7QUFJTEMsTUFBQUEsU0FBUyxFQUFFZixTQUpOO0FBS0xNLE1BQUFBLGVBQWUsRUFBRSxhQUxaO0FBTUxVLE1BQUFBLEtBQUssRUFBRSxNQU5GO0FBT0xDLE1BQUFBLFFBQVEsRUFBRTtBQVBMLEtBQVA7QUFTRDs7QUFDREMsRUFBQUEsTUFBTSxHQUFHO0FBQ1AsVUFBTTtBQUFFRCxNQUFBQSxRQUFGO0FBQVlFLE1BQUFBLFNBQVo7QUFBdUJmLE1BQUFBLEtBQXZCO0FBQThCZ0IsTUFBQUEsSUFBOUI7QUFBb0NDLE1BQUFBLEtBQXBDO0FBQTJDQyxNQUFBQSxNQUEzQztBQUFtREMsTUFBQUEsT0FBbkQ7QUFBNERDLE1BQUFBLFFBQTVEO0FBQXNFLFNBQUdDO0FBQXpFLFFBQXVGLEtBQUtDLEtBQWxHO0FBRUEsVUFBTUMsVUFBVSxHQUNkUCxJQUFJLElBQ0pBLElBQUksQ0FBQ1EsR0FBTCxDQUFVQyxHQUFELElBQVM7QUFDaEIsYUFBTyxLQUFLNUIsa0JBQUwsQ0FBd0I0QixHQUF4QixDQUFQO0FBQ0QsS0FGRCxDQUZGO0FBS0EsVUFBTUMsV0FBVyxHQUNmVCxLQUFLLElBQ0xBLEtBQUssQ0FBQ08sR0FBTixDQUFXQyxHQUFELElBQVM7QUFDakIsYUFBTyxLQUFLNUIsa0JBQUwsQ0FBd0I0QixHQUF4QixDQUFQO0FBQ0QsS0FGRCxDQUZGO0FBTUEsV0FBT0YsVUFBVSxJQUFJRyxXQUFkLEdBQ0wsOEJBQ0UsVUFBVSxDQUFDWCxTQUFELENBRFosQ0FFRSxLQUFLLENBQUNRLFVBQUQsQ0FGUCxDQUdFLE1BQU0sQ0FBQ0csV0FBRCxDQUhSLENBSUUsTUFBTSxDQUFDMUIsS0FBRCxDQUpSLENBS0UsT0FBTyxDQUFDa0IsTUFBRCxDQUxULENBTUUsUUFBUSxDQUFDQyxPQUFELENBTlYsQ0FPRSxTQUFTLENBQUNOLFFBQUQsQ0FQWCxDQVFFLElBQUlRLFNBQUosQ0FSRjtBQVVOLFFBQVEsQ0FBQ0QsUUFBRDtBQUNSLE1BQU0sK0JBWkssR0FjTCxtQkFBTSxNQUFNLENBQUNwQixLQUFELENBQVosQ0FBb0IsSUFBSXFCLFNBQUosQ0FBcEI7QUFDTixRQUFRLENBQUNELFFBQUQ7QUFDUixNQUFNLG9CQWhCRjtBQWtCRDs7QUF0RXlEOztBQUF0RDFCLFcsQ0FDR2lDLFksR0FBaUM7QUFDdENaLEVBQUFBLFNBQVMsRUFBRSxLQUQyQjtBQUV0Q0YsRUFBQUEsUUFBUSxFQUFFLEtBRjRCOztBQUd0Q0ssRUFBQUEsTUFBTSxHQUFHLENBQUUsQ0FIMkI7O0FBSXRDQyxFQUFBQSxPQUFPLEdBQUcsQ0FBRTs7QUFKMEIsQztlQXdFM0J6QixXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFN0eWxlUHJvcCwgVGV4dCwgVGV4dFN0eWxlLCBWaWV3IH0gZnJvbSAncmVhY3QtbmF0aXZlJztcbmltcG9ydCBTd2lwZW91dCwgeyBTd2lwZW91dEJ1dHRvblByb3BlcnRpZXMsIFN3aXBlb3V0UHJvcGVydGllcyB9IGZyb20gJ3JlYWN0LW5hdGl2ZS1zd2lwZW91dCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3dpcGVvdXRCdXR0b25Qcm9wcyBleHRlbmRzIFN3aXBlb3V0QnV0dG9uUHJvcGVydGllcyB7XG4gIHN0eWxlPzogU3R5bGVQcm9wPFRleHRTdHlsZT4gJiB7IGJhY2tncm91bmRDb2xvcjogc3RyaW5nIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3dpcGVBY3Rpb25Qcm9wcyBleHRlbmRzIFN3aXBlb3V0UHJvcGVydGllcyB7XG4gIGxlZnQ/OiBTd2lwZW91dEJ1dHRvblByb3BzW107XG4gIHJpZ2h0PzogU3dpcGVvdXRCdXR0b25Qcm9wc1tdO1xufVxuXG5jbGFzcyBTd2lwZUFjdGlvbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxTd2lwZUFjdGlvblByb3BzPiB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHM6IFN3aXBlQWN0aW9uUHJvcHMgPSB7XG4gICAgYXV0b0Nsb3NlOiBmYWxzZSxcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgb25PcGVuKCkge30sXG4gICAgb25DbG9zZSgpIHt9LFxuICB9O1xuICByZW5kZXJDdXN0b21CdXR0b24oYnV0dG9uOiBTd2lwZW91dEJ1dHRvblByb3BzKSB7XG4gICAgY29uc3QgYnV0dG9uU3R5bGUgPSBidXR0b24uc3R5bGU7XG4gICAgY29uc3QgYmdDb2xvciA9IGJ1dHRvblN0eWxlID8gYnV0dG9uU3R5bGUuYmFja2dyb3VuZENvbG9yIDogJ3RyYW5zcGFyZW50JztcbiAgICBjb25zdCBDb21wb25lbnQgPSAoXG4gICAgICA8Vmlld1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtbmF0aXZlL25vLWlubGluZS1zdHlsZXNcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJnQ29sb3IsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtSZWFjdC5pc1ZhbGlkRWxlbWVudChidXR0b24udGV4dCkgPyAoXG4gICAgICAgICAgYnV0dG9uLnRleHRcbiAgICAgICAgKSA6IChcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtbmF0aXZlL25vLWlubGluZS1zdHlsZXNcbiAgICAgICAgICA8VGV4dCBzdHlsZT17W2J1dHRvblN0eWxlLCB7IHRleHRBbGlnbjogJ2NlbnRlcicgfV19PntidXR0b24udGV4dH08L1RleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1ZpZXc+XG4gICAgKTtcbiAgICByZXR1cm4ge1xuICAgICAgdGV4dDogYnV0dG9uLnRleHQgfHwgJ0NsaWNrJyxcbiAgICAgIG9uUHJlc3M6IGJ1dHRvbi5vblByZXNzLFxuICAgICAgdHlwZTogJ2RlZmF1bHQnLFxuICAgICAgY29tcG9uZW50OiBDb21wb25lbnQsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICBjb2xvcjogJyM5OTknLFxuICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIH07XG4gIH1cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgZGlzYWJsZWQsIGF1dG9DbG9zZSwgc3R5bGUsIGxlZnQsIHJpZ2h0LCBvbk9wZW4sIG9uQ2xvc2UsIGNoaWxkcmVuLCAuLi5yZXN0UHJvcHMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjdXN0b21MZWZ0ID1cbiAgICAgIGxlZnQgJiZcbiAgICAgIGxlZnQubWFwKChidG4pID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVuZGVyQ3VzdG9tQnV0dG9uKGJ0bik7XG4gICAgICB9KTtcbiAgICBjb25zdCBjdXN0b21SaWdodCA9XG4gICAgICByaWdodCAmJlxuICAgICAgcmlnaHQubWFwKChidG4pID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVuZGVyQ3VzdG9tQnV0dG9uKGJ0bik7XG4gICAgICB9KTtcblxuICAgIHJldHVybiBjdXN0b21MZWZ0IHx8IGN1c3RvbVJpZ2h0ID8gKFxuICAgICAgPFN3aXBlb3V0XG4gICAgICAgIGF1dG9DbG9zZT17YXV0b0Nsb3NlfVxuICAgICAgICBsZWZ0PXtjdXN0b21MZWZ0IGFzIFN3aXBlb3V0QnV0dG9uUHJvcHNbXX1cbiAgICAgICAgcmlnaHQ9e2N1c3RvbVJpZ2h0IGFzIFN3aXBlb3V0QnV0dG9uUHJvcHNbXX1cbiAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICBvbk9wZW49e29uT3Blbn1cbiAgICAgICAgb25DbG9zZT17b25DbG9zZX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICB7Li4ucmVzdFByb3BzfVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1N3aXBlb3V0PlxuICAgICkgOiAoXG4gICAgICA8VmlldyBzdHlsZT17c3R5bGV9IHsuLi5yZXN0UHJvcHN9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1ZpZXc+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBTd2lwZUFjdGlvbjtcbiJdfQ==