UNPKG

@alifd/meet-react

Version:

Fusion Mobile React UI System Component

51 lines 2.35 kB
import { rpx2vw4style as __rpx2vw__ } from "@alifd/babel-runtime-jsx-style-transform"; function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } import { __rest } from "tslib"; import React, { createElement } from "react"; import classNames from 'classnames'; import View from '../view'; import Modal from '../modal'; import Icon from '../icon'; import { isFunction } from '../utils'; var Popup = function Popup(props) { var _props$prefix = props.prefix, prefix = _props$prefix === void 0 ? 'mt-' : _props$prefix, _props$closeIconType = props.closeIconType, closeIconType = _props$closeIconType === void 0 ? 'error' : _props$closeIconType, _props$bgColor = props.bgColor, bgColor = _props$bgColor === void 0 ? 'transparent' : _props$bgColor, visible = props.visible, children = props.children, _props$closeMode = props.closeMode, closeMode = _props$closeMode === void 0 ? ['mask', 'close'] : _props$closeMode, className = props.className, style = props.style, onClose = props.onClose, others = __rest(props, ["prefix", "closeIconType", "bgColor", "visible", "children", "closeMode", "className", "style", "onClose"]); var clsPrefix = "".concat(prefix, "dialog-popup"); var containerStyle = style || {}; if (bgColor) { containerStyle.backgroundColor = bgColor; } var handleClose = function handleClose(reason) { if (isFunction(onClose) && Array.isArray(closeMode) && closeMode.indexOf(reason) > -1) { onClose(reason); } }; return /*#__PURE__*/React.createElement(Modal, _extends({}, others, { visible: visible, containerClassName: clsPrefix, onClose: handleClose }), /*#__PURE__*/React.createElement(View, { className: classNames(className, "".concat(clsPrefix, "-container")), style: __rpx2vw__(containerStyle) }, children), /*#__PURE__*/React.createElement(Icon, { className: "".concat(clsPrefix, "-close"), type: closeIconType, size: "l", onClick: function onClick() { return handleClose('close'); } })); }; export default Popup;