UNPKG

linkmore-design

Version:

🌈 πŸš€lmη»„δ»ΆεΊ“γ€‚πŸš€

101 lines (99 loc) β€’ 4.46 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties"; import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray"; var _excluded = ["prefixCls", "placement", "trigger", "okType", "icon", "children", "overlayClassName"]; var _this = this; import ExclamationCircleFilled from '@ant-design/icons/ExclamationCircleFilled'; import classNames from 'classnames'; import useMergedState from 'rc-util/lib/hooks/useMergedState'; import KeyCode from 'rc-util/lib/KeyCode'; import * as React from 'react'; import { ConfigContext } from "../config-provider"; import Popover from "../popover"; import { cloneElement } from "../_util/reactNode"; import { Overlay } from "./PurePanel"; var Popconfirm = /*#__PURE__*/React.forwardRef(function (props, ref) { var _React$useContext = React.useContext(ConfigContext), getPrefixCls = _React$useContext.getPrefixCls; var _useMergedState = useMergedState(false, { value: props.open !== undefined ? props.open : props.visible, defaultValue: props.defaultOpen !== undefined ? props.defaultOpen : props.defaultVisible }), _useMergedState2 = _slicedToArray(_useMergedState, 2), open = _useMergedState2[0], setOpen = _useMergedState2[1]; // const isDestroyed = useDestroyed(); var settingOpen = function settingOpen(value, e) { var _props$onVisibleChang, _props$onOpenChange; setOpen(value, true); (_props$onVisibleChang = props.onVisibleChange) === null || _props$onVisibleChang === void 0 ? void 0 : _props$onVisibleChang.call(props, value, e); (_props$onOpenChange = props.onOpenChange) === null || _props$onOpenChange === void 0 ? void 0 : _props$onOpenChange.call(props, value, e); }; var close = function close(e) { settingOpen(false, e); }; var onConfirm = function onConfirm(e) { var _props$onConfirm; return (_props$onConfirm = props.onConfirm) === null || _props$onConfirm === void 0 ? void 0 : _props$onConfirm.call(_this, e); }; var onCancel = function onCancel(e) { var _props$onCancel; settingOpen(false, e); (_props$onCancel = props.onCancel) === null || _props$onCancel === void 0 ? void 0 : _props$onCancel.call(_this, e); }; var _onKeyDown = function onKeyDown(e) { if (e.keyCode === KeyCode.ESC && open) { settingOpen(false, e); } }; var onOpenChange = function onOpenChange(value) { var _props$disabled = props.disabled, disabled = _props$disabled === void 0 ? false : _props$disabled; if (disabled) { return; } settingOpen(value); }; var customizePrefixCls = props.prefixCls, _props$placement = props.placement, placement = _props$placement === void 0 ? 'top' : _props$placement, _props$trigger = props.trigger, trigger = _props$trigger === void 0 ? 'click' : _props$trigger, _props$okType = props.okType, okType = _props$okType === void 0 ? 'primary' : _props$okType, _props$icon = props.icon, icon = _props$icon === void 0 ? /*#__PURE__*/React.createElement(ExclamationCircleFilled, null) : _props$icon, children = props.children, overlayClassName = props.overlayClassName, restProps = _objectWithoutProperties(props, _excluded); var prefixCls = getPrefixCls('popover', customizePrefixCls); var prefixClsConfirm = getPrefixCls('popconfirm', customizePrefixCls); var overlayClassNames = classNames(prefixClsConfirm, overlayClassName); return /*#__PURE__*/React.createElement(Popover, _extends({}, restProps, { trigger: trigger, prefixCls: prefixCls, placement: placement, onOpenChange: onOpenChange, open: open, ref: ref, overlayClassName: overlayClassNames, _overlay: /*#__PURE__*/React.createElement(Overlay, _extends({ okType: okType, icon: icon }, props, { prefixCls: prefixCls, close: close, onConfirm: onConfirm, onCancel: onCancel })) }), cloneElement(children, { onKeyDown: function onKeyDown(e) { if ( /*#__PURE__*/React.isValidElement(children)) { var _children$props$onKey, _children$props; children === null || children === void 0 ? void 0 : (_children$props$onKey = (_children$props = children.props).onKeyDown) === null || _children$props$onKey === void 0 ? void 0 : _children$props$onKey.call(_children$props, e); } _onKeyDown(e); } })); }); export default Popconfirm;