UNPKG

zmp-react

Version:

Build full featured iOS & Android apps using ZMP & React

48 lines (45 loc) 1.45 kB
import _extends from "@babel/runtime/helpers/extends"; import React, { forwardRef, useRef, useImperativeHandle } from 'react'; import { classNames, getExtraAttrs, emit } from '../shared/utils'; import { colorClasses } from '../shared/mixins'; var SwipeoutButton = /*#__PURE__*/forwardRef(function (props, ref) { var className = props.className, id = props.id, style = props.style, children = props.children, text = props.text, confirmTitle = props.confirmTitle, confirmText = props.confirmText, overswipe = props.overswipe, close = props.close, deleteProp = props.delete, href = props.href; var extraAttrs = getExtraAttrs(props); var elRef = useRef(null); var onClick = function onClick(e) { emit(props, 'click', e); }; useImperativeHandle(ref, function () { return { el: elRef.current }; }); var classes = classNames(className, { 'swipeout-overswipe': overswipe, 'swipeout-delete': deleteProp, 'swipeout-close': close }, colorClasses(props)); return /*#__PURE__*/React.createElement("a", _extends({ ref: elRef, href: href || '#', id: id, style: style, "data-confirm": confirmText || undefined, "data-confirm-title": confirmTitle || undefined, className: classes }, extraAttrs, { onClick: onClick }), children, text); }); SwipeoutButton.displayName = 'zmp-swipeout-button'; export default SwipeoutButton;