UNPKG

@perfma/heaven

Version:

An UI Framework base [Ant Design V4](https://ant.design/components/overview-cn/) for React.

68 lines (56 loc) 2.95 kB
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } import React from 'react'; import { Modal, ConfigProvider } from 'antd'; import classnames from 'classnames'; import './index.less'; import { mixinStaticProps } from '../_util'; var ProModal = function ProModal(props) { var customizePrefixCls = props.prefixCls, _props$size = props.size, size = _props$size === void 0 ? 'default' : _props$size, width = props.width, children = props.children, className = props.className, footer = props.footer; var _React$useContext = React.useContext(ConfigProvider.ConfigContext), getPrefixCls = _React$useContext.getPrefixCls; var prefixCls = React.useMemo(function () { return getPrefixCls('modal', customizePrefixCls); }, [customizePrefixCls, getPrefixCls]); var className_ = React.useMemo(function () { var _classnames; return classnames((_classnames = {}, _defineProperty(_classnames, "".concat(className), className), _defineProperty(_classnames, "".concat(prefixCls, "-without-footer"), footer === null), _classnames)); }, [className, prefixCls, footer]); var computedWidth = React.useMemo(function () { if (width !== 520) return width; switch (size) { case 'large': return 800; case 'small': return 480; case 'xsmall': return 360; default: return 640; } }, [width, size]); return /*#__PURE__*/React.createElement(Modal, _objectSpread(_objectSpread({}, props), {}, { className: className_, prefixCls: prefixCls, width: computedWidth }), children); }; Modal.defaultProps = _objectSpread(_objectSpread({}, Modal.defaultProps), {}, { centered: true }); mixinStaticProps(ProModal, Modal); export default Object.assign(ProModal, { useModal: Modal.useModal, info: Modal.info, success: Modal.success, error: Modal.error, warning: Modal.warning, confirm: Modal.confirm });