UNPKG

@uiw/react-popover

Version:

Popover component

88 lines (87 loc) 4.43 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _reactOverlayTrigger = _interopRequireDefault(require("@uiw/react-overlay-trigger")); var _Confirm = _interopRequireDefault(require("./Confirm")); var _jsxRuntime = require("react/jsx-runtime"); var _excluded = ["prefixCls", "className", "content", "visibleArrow"]; var Popover = exports["default"] = /*#__PURE__*/function (_React$Component) { (0, _inherits2["default"])(Popover, _React$Component); var _super = (0, _createSuper2["default"])(Popover); function Popover() { var _this; (0, _classCallCheck2["default"])(this, Popover); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _super.call.apply(_super, [this].concat(args)); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "renderArrow", function () { var prefixCls = _this.props.prefixCls; return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { className: "".concat(prefixCls, "-arrow"), children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("svg", { viewBox: "0 0 30 30", children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("path", { fillOpacity: "0.2", d: "M8.11 6.302c1.015-.936 1.887-2.922 1.887-4.297v26c0-1.378-.868-3.357-1.888-4.297L.925 17.09c-1.237-1.14-1.233-3.034 0-4.17L8.11 6.302z" }), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", { fill: "#fff", d: "M8.787 7.036c1.22-1.125 2.21-3.376 2.21-5.03V0v30-2.005c0-1.654-.983-3.9-2.21-5.03l-7.183-6.616c-.81-.746-.802-1.96 0-2.7l7.183-6.614z" })] }) }); }); return _this; } (0, _createClass2["default"])(Popover, [{ key: "render", value: function render() { var _this$props = this.props, prefixCls = _this$props.prefixCls, className = _this$props.className, content = _this$props.content, visibleArrow = _this$props.visibleArrow, other = (0, _objectWithoutProperties2["default"])(_this$props, _excluded); var cls = [prefixCls, className, !visibleArrow ? 'no-arrow' : null].filter(Boolean).join(' ').trim(); return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactOverlayTrigger["default"], (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, other), {}, { overlay: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", { className: cls, children: [visibleArrow && this.renderArrow(), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { className: "".concat(prefixCls, "-inner"), children: this.props.content })] }), children: (0, _typeof2["default"])(this.props.children) === 'object' && this.props.children.type.name !== 'Icon' ? this.props.children : /*#__PURE__*/(0, _jsxRuntime.jsx)("span", { style: { display: 'block', writingMode: 'vertical-rl' }, children: this.props.children }) })); } }]); return Popover; }(_react["default"].Component); (0, _defineProperty2["default"])(Popover, "Confirm", _Confirm["default"]); (0, _defineProperty2["default"])(Popover, "defaultProps", { prefixCls: 'w-popover', placement: 'top', usePortal: true, isOpen: false, visibleArrow: true }); module.exports = exports.default;