@flatbiz/antd
Version:
46 lines (42 loc) • 1.53 kB
JavaScript
/*! @flatjs/forge MIT @flatbiz/antd */
import _CloseCircleFilled from '@ant-design/icons/es/icons/CloseCircleFilled.js';
import _DeleteOutlined from '@ant-design/icons/es/icons/DeleteOutlined.js';
import { hooks } from '@wove/react/hooks';
import { a as _slicedToArray } from './_rollupPluginBabelHelpers-BYm17lo8.js';
import { useState, useRef, Fragment } from 'react';
import { I as IconWrapper } from './icon-wrapper-HJ2r5GeZ.js';
import { jsx } from 'react/jsx-runtime';
var DeleteNode = function DeleteNode(props) {
var _useState = useState(false),
_useState2 = _slicedToArray(_useState, 2),
status = _useState2[0],
setStatus = _useState2[1];
var timeoutRef = useRef();
var onClick = hooks.useDebounceClick(function (event) {
event.stopPropagation();
if (!status) {
setStatus(true);
timeoutRef.current = setTimeout(function () {
setStatus(false);
}, 3000);
} else {
clearTimeout(timeoutRef.current);
setStatus(false);
props.onDelete();
}
}, 300);
if (props.hidden) return /*#__PURE__*/jsx(Fragment, {});
return /*#__PURE__*/jsx(IconWrapper, {
className: props.className,
style: props.style,
icon: !status ? props.icon ? props.icon : /*#__PURE__*/jsx(_DeleteOutlined, {}) : props.confirmIcon ? props.confirmIcon : /*#__PURE__*/jsx(_CloseCircleFilled, {
style: {
color: 'red'
}
}),
onClick: onClick,
size: "small"
});
};
export { DeleteNode as D };
//# sourceMappingURL=delete-node-BF-2Gsyu.js.map